我正在尝试在 matlab 中创建自己的函数来求解两个非线性方程组,同时使用嵌套函数来共享一些参数,这是一个示例代码:
function y=solve(a,x0)
a;
y=fsolve(nle,x0); % this is line 3
function f=nle(x)
f(1)=x(1)-a*x(1)^2-x(1)*x(2); % this is line 6
f(2)=2*x(2)-x(2)+3*x(1)*x(2);
end
end
这a
是我想从命令行传递给函数的参数,x0
也是fsolve
.
a=4
但是,当我在指定and后调用 malab 中的函数时x0=[1 1]'
,它给了我以下错误:
Error using solve/nle (line 6)
Not enough input arguments.
Error in solve (line 3)
y=fsolve(nle,x0);
我是matlab的新手,谁能告诉我哪里做错了?
提前致谢。
编辑:
我尝试nle
用函数句柄替换@nle
,但似乎还有其他问题:
Undefined function 'fsolve' for input arguments of type 'function_handle'.
Error in solve (line 3)
y=fsolve(@nle,x0);
似乎没有意义,因为我检查了文档fsolve
,它说它确实应该在那里使用函数句柄......