matlab中lsqnonlin函数的用法,出现了问题,自己不能解决,求高手赐教

这是定义的函数,以及相关内容,另外图片是运行时出现的错误:
function E=fun(a,x,y)
x=x(:); %x为实测方位角
y=y(:); %y为修正前的罗差
Y=a(1) + a(2)*sin(x/180*pi) + a(3)*cos(x/180*pi) + a(4)*sin(2*x/180*pi)+a(5)*cos(2*x/180*pi);
E=y-Y;

你的fun.m是不是没有放到当前目录下?

另外一般我都是把x,y 直接定义到fun里面:

function E = fun(a);
global x y;
x = x(:);
y = y(:);
...

这样的话,在外面运行的时候,你定义

global x y;
x = ...
y = ...
a0 = ...
options = ...
a = lsqnon(@fun, ....
温馨提示:内容为网友见解,仅供参考
第1个回答  2019-01-27
不明白啊
=
=!
相似回答