Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2009-04-04, 17:43   #1
ylyy779530170
初级会员
 
注册日期: 2009-04-04
年龄: 37
帖子: 2
声望力: 0
ylyy779530170 正向着好的方向发展
微笑 [求助]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')
大家帮帮忙,麻烦讲详细点
ylyy779530170 当前离线   回复时引用此帖
旧 2009-04-04, 19:54   #2
huenzhu
初级会员
 
注册日期: 2008-10-04
年龄: 40
帖子: 16
声望力: 17
huenzhu 正向着好的方向发展
默认 回复: [求助]matlab中lsqnonlin函数的用法,帮帮忙

最后一句画图的时候横纵坐标填反了。应该是
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
上传的图像
文件类型: jpg untitled.jpg (14.7 KB, 7 次查看)
__________________
相信未来,热爱生命
huenzhu 当前离线   回复时引用此帖
旧 2009-04-06, 20:42   #3
ylyy779530170
初级会员
 
注册日期: 2009-04-04
年龄: 37
帖子: 2
声望力: 0
ylyy779530170 正向着好的方向发展
酷 回复: [求助]matlab中lsqnonlin函数的用法,帮帮忙

引用:
作者: huenzhu 查看帖子
最后一句画图的时候横纵坐标填反了。应该是
plot(tt,yy,'-rp')

非线性拟合问题的初值选取我也非常头疼,我一直用的都是最笨的方法,
先给公式中的参数随便赋值,使得函数的变化趋势与数据相符,但实在是非常浪费时间。
建议你采用曲线拟合工具箱——cftool
里面提供了许多的常用...
那如何我想计算这条曲线的拟合程度怎么计算?用什么函数?:redface:
ylyy779530170 当前离线   回复时引用此帖
旧 2011-07-28, 15:36   #4
jzmjzm2011
初级会员
 
注册日期: 2011-07-28
年龄: 40
帖子: 1
声望力: 0
jzmjzm2011 正向着好的方向发展
默认 回复: [求助]matlab中lsqnonlin函数的用法,帮帮忙

引用:
作者: ylyy779530170 查看帖子
那如何我想计算这条曲线的拟合程度怎么计算?用什么函数?:redface:
??? 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)

此帖于 2011-07-28 15:37 被 jzmjzm2011 编辑。 原因: 请问出现该问题的原因是什么
jzmjzm2011 当前离线   回复时引用此帖
回复

主题工具
显示模式

发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码


相似的主题
主题 主题作者 版面 回复 最后发表
如何实现gui窗口嵌套 beulah MATLAB论坛 1 2008-12-28 17:57


所有时间均为北京时间。现在的时间是 21:05


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.