关于MATLAB中使用lsqcurvefit函数出错

x=[0.3 0.5 0.7 0.9 1.1 1.3 1.5];
y=[0.3985 0.6598 0.9147 1.1611 1.3971 1.6212 1.8325];
a0=[0 0 0];
a=lsqcurvefit(a(1).*x+a(2).*sin(x),a0,x,y)
请问这段程序哪里出错了?错误提示看不懂
你的a没有定义,初值赋绝敏伏值错了,拿返a只有两个参数,你给了三个初值并携
x=[0.3 0.5 0.7 0.9 1.1 1.3 1.5];
y=[0.3985 0.6598 0.9147 1.1611 1.3971 1.6212 1.8325];
a0=[0 0];
fun=inline('a(1).*x+a(2).*sin(x)','a','x');
a=lsqcurvefit(fun,a0,x,y)
你闹羡亩需要构建函数,而且你的参派行数液森只有两个,没有必要用3个。你看看下面是不是你想要得。
x=[0.3 0.5 0.7 0.9 1.1 1.3 1.5];
y=[0.3985 0.6598 0.9147 1.1611 1.3971 1.6212 1.8325];
a0=[0 0];
a0=lsqcurvefit(@(a0,x) a0(1).*x+a0(2).*sin(x),a0,x,y)
关于MATLAB中使用lsqcurvefit函数出错
← 上一篇: 下一篇: →