![]() |
[求助]matlab中lsqnonlin函数的用法,帮帮忙
U=[0.10 0.23 0.36 0.51 0.64 0.75 0.80]
I=[13.3 25.6 32.9 37.3 40.8 43.7 44.9] 已知函数U=k*I^n,拟合k与n的值 我是这样写的,大家看看哪不对 (1)建立函数文件 UI.m function y=UI(x) I=[13.3 25.6 32.9 37.3 40.8 43.7 44.9] U=[0.10 0.23 0.36 0.51 0.64 0.75 0.80] y=U-x(1)*I.^x(2) (2)建立命令文件 x0=[...]这的初始向量怎么写?怎么知道选那些值较好 x=lsqnonlin('UI',x0) tt=0:1:150 yy=x(1)*tt.^x(2) plot(yy,tt,'-rp') 大家帮帮忙,麻烦讲详细点 |
回复: [求助]matlab中lsqnonlin函数的用法,帮帮忙
2 个附件
最后一句画图的时候横纵坐标填反了。应该是
plot(tt,yy,'-rp') 非线性拟合问题的初值选取我也非常头疼,我一直用的都是最笨的方法, 先给公式中的参数随便赋值,使得函数的变化趋势与数据相符,但实在是非常浪费时间。 建议你采用曲线拟合工具箱——cftool 里面提供了许多的常用函数,还可以自定义函数,可以通过修改初值随时观察曲线的变化,非常方便,很直观。 用法也很简单,先把U和I两个变量装入内存; 然后在命令栏键入cftool 然后点击Data建立数据集 点击fiting进行拟合,选择power function,选a*x^b,点击apply,OK! General model Power1: f(x) = a*x^b Coefficients (with 95% confidence bounds): a = 0.0001363 (-6.545e-005, 0.000338) b = 2.278 (1.88, 2.676) Goodness of fit: SSE: 0.003728 R-square: 0.9912 Adjusted R-square: 0.9894 RMSE: 0.0273 |
回复: [求助]matlab中lsqnonlin函数的用法,帮帮忙
[QUOTE=huenzhu;27958]最后一句画图的时候横纵坐标填反了。应该是
plot(tt,yy,'-rp') 非线性拟合问题的初值选取我也非常头疼,我一直用的都是最笨的方法, 先给公式中的参数随便赋值,使得函数的变化趋势与数据相符,但实在是非常浪费时间。 建议你采用曲线拟合工具箱——cftool 里面提供了许多的常用...[/QUOTE] 那如何我想计算这条曲线的拟合程度怎么计算?用什么函数?:redface: |
回复: [求助]matlab中lsqnonlin函数的用法,帮帮忙
[QUOTE=ylyy779530170;25398]那如何我想计算这条曲线的拟合程度怎么计算?用什么函数?:redface:[/QUOTE]
??? Error using ==> optim\private\lsqncommon User supplied function failed with the following error: Error using ==> feval Undefined command/function 'UI'. Error in ==> lsqnonlin at 147 [x,Resnorm,FVAL,EXITFLAG,OUTPUT,LAMBDA,JACOB] = ... Error in ==> Undd at 2 x=lsqnonlin('UI',x0) |
所有时间均为北京时间。现在的时间是 05:00。 |
Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.