Octave

GNU Octave:fplot 指數問題

  • December 10, 2018

我使用 GNU Octave 4.4.1(Arch Linux 上的 x86_64-pc-linux-gnu),但 fplot 函式有問題。我想知道為什麼

fplot(@(x) 1/(1+25*x.^2),[-1,1])

有不同的結果

fplot(@(x) (1+25*x.^2).^-1,[-1,1])

(後者返回正確的圖形)

我的學生在 Octave 4.4.1 的 Windows 版本中遇到了完全相同的問題。

我想知道這是否是一個實際的錯誤,或者有一個奇特的解釋為什麼後一個命令是正確的而第一個是錯誤的(所以我可以嘗試說服我的學生他們應該使用 GNU Octave。好的,我會還是試試吧)。

問題是缺少“.”,但是 octave 應該會產生不會出現的錯誤消息。為了證明差異,只需計算要繪製的值:

octave:16> x=linspace(-1,1,11)
x =

Columns 1 through 8:

 -1.00000  -0.80000  -0.60000  -0.40000  -0.20000   0.00000   0.20000   0.40000

Columns 9 through 11:

  0.60000   0.80000   1.00000

octave:17> 1/(1+25*x.^2)
error: operator /: nonconformant arguments (op1 is 1x1, op2 is 1x11)
octave:17> 1./(1+25*x.^2)
ans =

Columns 1 through 7:

  0.038462   0.058824   0.100000   0.200000   0.500000   1.000000   0.500000

Columns 8 through 11:

  0.200000   0.100000   0.058824   0.038462

所以正確的形式是

fplot(@(x) 1./(1+25*x.^2),[-1,1])

引用自:https://unix.stackexchange.com/questions/486214