polyfit hangs on inf input

Dmitri A. Sergatskov dasergatskov at gmail.com
Mon Nov 3 14:05:30 CST 2008


On Mon, Nov 3, 2008 at 12:32 PM, Søren Hauberg <soren at hauberg.org> wrote:
> man, 03 11 2008 kl. 12:11 -0600, skrev Dmitri A. Sergatskov:
>> The following code seems to hang octave 3.0.2 (on Fedora 9 x86_64):
>>
>> xx=linspace(-1,1,11);
>> yy=2*linspace(-1,1,11);
>> xx(6)=Inf;
>> polyfit(xx',yy',1)
>>
>> The problem seems to be with underlying x\y code.
>> I do not know WWMD in this case, but hanging does not
>> seem to be appropriate. Either bailing out with an error,
>> or ignoring with a warning seem to be better options.
>
> With 3.1.51+ I get
>
> octave:4> polyfit(xx',yy',1)
> ans =
>
>   NaN   NaN

This appears to be the (unintended?) result of the code:

 if (nargout > 2)
    ## Normalized the x values.
    mu = [mean(x), std(x)];
    x = (x - mu(1)) / mu(2);
  endif

(std(x) returns NaN if x has Infs)

x\y would still hang.

Anyone can check what would matlab do in
either case?

>
> Søren
>
>

Dmitri.
--



More information about the Help-octave mailing list