Octave fsolve错误:未找到函数或方法

Octave fsolve错误:未找到函数或方法,octave,Octave,我用八度音阶写了这段代码: syms z; f=z-2; fsolve("f",0.) 那么这就给出了错误 @f:未找到函数和方法 同样使用fsolve(@f,0)也会产生相同的错误 当我将代码编写为: syms z; f=z-2; fsolve(f,0.) 那么这就给出了错误 ind2sub:下标索引必须是小于2^31的正整数或逻辑数 请向我解释如何实际使用fsolve % syms z; % Not needed, actually slows down the code f=

我用八度音阶写了这段代码:

syms z;
f=z-2;
fsolve("f",0.)
那么这就给出了错误

@f:未找到函数和方法

同样使用
fsolve(@f,0)
也会产生相同的错误

当我将代码编写为:

syms z;
f=z-2;
fsolve(f,0.)
那么这就给出了错误

ind2sub:下标索引必须是小于2^31的正整数或逻辑数

请向我解释如何实际使用
fsolve

% syms z;      % Not needed, actually slows down the code
f=@(z)(z-2); 
fsolve(f,0.)
您缺少
@
符号,它是一个函数句柄。这告诉Octave,
f
不是一个变量,但实际上是一个(n匿名)函数,在本例中,
z
是第一个参数

您可能希望将
z
作为一个正则变量,因为将其符号化将MATLAB从一辆疾驰的赛车变成一辆吃力的农用车。除非有特定的理由使用
z
symbolic(在使用
fsolve
时,我想不出任何理由),否则最好避免使用符号数学

您缺少
@
符号,它是一个函数句柄。这告诉Octave,
f
不是一个变量,但实际上是一个(n匿名)函数,在本例中,
z
是第一个参数

您可能希望将
z
作为一个正则变量,因为将其符号化将MATLAB从一辆疾驰的赛车变成一辆吃力的农用车。除非有特定的理由使用
z
symbolic(在使用
fsolve
时,我想不出任何理由),否则最好避免使用符号数学