| 查看: 700 | 回复: 5 | |||
| 当前主题已经存档。 | |||
[交流]
【求助】对于特定的函数用matlab做最小二乘法的曲线拟合
|
|||
|
函数为n^2=x(1)+x(2)/[r^2-x(3)]-x(4)/[x(5)-r^2] 其中n 和r为已知的两组数据,我想得到其最小二乘法的拟合曲线以及5个参数x的值 我是这样弄得 结果老是无法运行 m文件 function f^2=f01(x,Data); Data=[4358 2.42207;4861 2.40374;5461 2.40126;5893 2.39352;6563 2.37776;6678 2.37684]; r=Data(:,1); n=Data(:,2); z^2=x(1)+x(2)/[r^2-x(3)]-x(4)/[x(5)-r^2]; f^2=z^2-n^2; 输入命令 Data=[4358 2.42207;4861 2.40374;5461 2.40126;5893 2.39352;6563 2.37776;6678 2.37684]; r=Data(:,1); n=Data(:,2); x0=[1 0]'; x=lsqnonlin('f01',x0); 到这一步就出问题了,哪位好心的大侠帮帮我吧 应该怎么建m文件 程序错哪了 我刚刚接触matlab,我看了书上的例子,不过那个例子是一次的 [ Last edited by kuhailangyu on 2009-11-18 at 20:53 ] |
» 猜你喜欢
全日制(定向)博士
已经有5人回复
假如你的研究生提出不合理要求
已经有10人回复
萌生出自己或许不适合搞科研的想法,现在跑or等等看?
已经有4人回复
Materials Today Chemistry审稿周期
已经有4人回复
参与限项
已经有3人回复
实验室接单子
已经有4人回复
对氯苯硼酸纯化
已经有3人回复
求助:我三月中下旬出站,青基依托单位怎么办?
已经有12人回复
所感
已经有4人回复
要不要辞职读博?
已经有7人回复
zjliu1265
至尊木虫 (正式写手)
- 应助: 18 (小学生)
- 金币: 11859.7
- 散金: 200
- 帖子: 642
- 在线: 678.9小时
- 虫号: 585320
- 注册: 2008-08-08
- 性别: GG
- 专业: 光学
★ ★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
nono2009(金币+3,VIP+0):谢谢应助!可能还需要进一步指导。 11-19 20:21
小木虫(金币+0.5):给个红包,谢谢回帖交流
nono2009(金币+3,VIP+0):谢谢应助!可能还需要进一步指导。 11-19 20:21
|
我来援助一下吧! x0应该是含5个元素的向量,而你只写了2个。 我随意加了3个元素,不一定对,完全是为了 程序能运行。 另外: 1. 符号"^"是运算符,不要用于变量名字中; 2. 符号"^"和"/"在计算表达式中如果不是方矩阵,它们一般 需分别改写为".^"和"./"表示元素之间的乘除运算。 改后的程序是: m文件 function f2=f01(x,Data); Data=[4358 2.42207;4861 2.40374;5461 2.40126;5893 2.39352;6563 2.37776;6678 2.37684]; r=Data(:,1); n=Data(:,2); z2=x(1)+x(2)./[r.^2-x(3)]-x(4)./[x(5)-r.^2]; f2=z2-n.^2; 输入命令 Data=[4358 2.42207;4861 2.40374;5461 2.40126;5893 2.39352;6563 2.37776;6678 2.37684]; r=Data(:,1); n=Data(:,2); x0=[1 0 1 1 1]'; x=lsqnonlin('f01',x0); |
2楼2009-11-19 09:23:14
3楼2009-11-19 15:55:49
4楼2009-11-19 15:59:56
nono2009(金币+0,VIP+0):建议通过PM或“引用回复该帖”,以便别人及时收到你的message. 11-19 20:20
|
运行情况>> Data=[435.8 1.5563;486.1 1.5504;546.1 1.5496;589.3 1.5471;656.3 1.5420;667.8 1.5417]; >> r=Data(:,1); >> n=Data(:,2); >> x0=[1 0 1 1 1]'; >> x=lsqnonlin('f01',x0); Optimization terminated: first-order optimality less than OPTIONS.TolFun, and no negative/zero curvature detected in trust region model. >> n2=x(1)+x(2)./[r.^2-x(3)]-x(4)./[x(5)-r.^2]; >> plot(r,n,'bol-'); ??? Error using ==> plot Error in color/linetype argument. |
5楼2009-11-19 16:42:28
|
运行情况>> Data=[435.8 1.5563;486.1 1.5504;546.1 1.5496;589.3 1.5471;656.3 1.5420;667.8 1.5417]; >> r=Data(:,1); >> n=Data(:,2); >> x0=[1 0 1 1 1]'; >> x=lsqnonlin('f01',x0); Optimization terminated: first-order optimality less than OPTIONS.TolFun, and no negative/zero curvature detected in trust region model. >> n2=x(1)+x(2)./[r.^2-x(3)]-x(4)./[x(5)-r.^2]; >> plot(r,n,'bol-'); ??? Error using ==> plot Error in color/linetype argument. 还是不行呢 可不可以帮我设计然后运行出来呀 Data=[435.8 1.5563;486.1 1.5504;546.1 1.5496;589.3 1.5471;656.3 1.542;667.8 1.5417]; 函数为n^2=x(1)+x(2)/[r^2-x(3)]-x(4)/[x(5)-r^2] 其中n 和r为已知的两组数据,x为5个参数值 谢谢帮帮我吧 |
6楼2009-11-20 09:07:29












回复此楼