作业帮 > 综合 > 作业

matlab非线性曲线拟合求参数?

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/07/05 14:11:53
matlab非线性曲线拟合求参数?
方程为:y=K / (x^p-1)
已知x,y的数据,求K,p.
x=[1.5,2,3,4,5,6,7,8,9,10];
y=[40,20,10,7,5.5,5,4.5,4.3,4.1,4];
我自己写的m文件为 function f=myfunction(p,x)
f=p(1)/(x.^p(2)-1);
调用为:p0=[80,1];
p = lsqcurvefit(myfunction,p0,x,y)或p = lsqcurvefit(‘myfunction’,p0,x,y)或
p = lsqcurvefit(@myfunction,p0,x,y)
都不行,高手帮我看看哪错了.顺便帮我改一下,哦我的matlab是5.3绿色版.
加点也不对啊,要不你帮我做一下,我的是5.3版的,可能不行
你的function里面下面的f应该写成f=p(1)./(x.^p(2)-1);就行了
除号前面加个点,因为你是处理数组 .
还有个问题,就是你的myfunction的单引号那用英文的输入法,‘ '是不一样的.
我已经做出来了
x=[1.5,2,3,4,5,6,7,8,9,10];
y=[40,20,10,7,5.5,5,4.5,4.3,4.1,4];
p0=[80,1];
p = lsqcurvefit('myfunction',p0,x,y)
p =
14.2663 0.7604