用matlab lsqcurvefit使用的问题在用matlab进行lsqcurvefit拟合时,m文件为:function y=fit(x,xd)y=50*x(1)./(x(1)-x(2))*(exp(-x(2)*xd)-exp(-x(1)*xd))在command windows窗口里代码是:x=1:31y=[1 1 8 14 30 11 8 7 17 11 5 4 0 8 7 2 4 2 5

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/11 13:17:32
用matlab lsqcurvefit使用的问题在用matlab进行lsqcurvefit拟合时,m文件为:function y=fit(x,xd)y=50*x(1)./(x(1)-x(2))*(exp(-x(2)*xd)-exp(-x(1)*xd))在command windows窗口里代码是:x=1:31y=[1 1 8 14 30 11 8 7 17 11 5 4 0 8 7 2 4 2 5

用matlab lsqcurvefit使用的问题在用matlab进行lsqcurvefit拟合时,m文件为:function y=fit(x,xd)y=50*x(1)./(x(1)-x(2))*(exp(-x(2)*xd)-exp(-x(1)*xd))在command windows窗口里代码是:x=1:31y=[1 1 8 14 30 11 8 7 17 11 5 4 0 8 7 2 4 2 5
用matlab lsqcurvefit使用的问题
在用matlab进行lsqcurvefit拟合时,
m文件为:function y=fit(x,xd)
y=50*x(1)./(x(1)-x(2))*(exp(-x(2)*xd)-exp(-x(1)*xd))
在command windows窗口里代码是:
x=1:31
y=[1 1 8 14 30 11 8 7 17 11 5 4 0 8 7 2 4 2 5 2 1 6 2 4 5 10 1 3 3 0 6];
c0=[2,0.1]; %初始值
c=lsqcurvefit(‘fit’,c0,x,y)
c就是我要拟合值
为什么求出来的c一直是[2,0.1],就和初始值一样啊,没有变过

用matlab lsqcurvefit使用的问题在用matlab进行lsqcurvefit拟合时,m文件为:function y=fit(x,xd)y=50*x(1)./(x(1)-x(2))*(exp(-x(2)*xd)-exp(-x(1)*xd))在command windows窗口里代码是:x=1:31y=[1 1 8 14 30 11 8 7 17 11 5 4 0 8 7 2 4 2 5

function y=yuww(x,xd)                                  %  保存为yuww.m 文件,反正不要是fit

y=50*x(1)./(x(1)-x(2))*(exp(-x(2)*xd)-exp(-x(1)*xd));

--------------------------------------------------------------------------------------

运行以下:

clear;clc

x=1:31;

y=[1 1 8 14 30 11 8 7 17 11 5 4 0 8 7 2 4 2 5 2 1 6 2 4 5 10 1 3 3 0 6];

c0=[2,0.1];    %初始值

c=lsqcurvefit('yuww',c0,x,y)

plot(x,y,'r*-')

hold on

plot(x,yuww(c,x))