找回密码
 注册
Simdroid-非首页
查看: 185|回复: 8

求助:matlab函数拟合

[复制链接]
发表于 2011-9-25 16:00:19 | 显示全部楼层 |阅读模式 来自 福建泉州
:dizzy:刚学matlab,完全不知道如何写程序,特来求助!
现有一组数据x=[10 12.5 15 17.5 20 22.5 25 27.5 30 32.5 35 37.5 40 42.5 45 47.5 50];
y=[62.1 77.3 92.5 104 112.9 121.9 125 129.4 134 138.2 142.3 143.2 144.6 147.2 147.8 149.1 150.9];
请高手编程拟合成y=Ax^n形式的函数
 楼主| 发表于 2011-9-25 16:33:40 | 显示全部楼层 来自 福建泉州
Simdroid开发平台
:'(求助求助。。
回复 不支持

使用道具 举报

 楼主| 发表于 2011-9-25 16:49:47 | 显示全部楼层 来自 福建泉州
或者是有一组数据
x=[10 12.5 15 17.5 20 22.5 25 27.5 30 32.5 35 37.5 40 42.5 45 47.5 50];
y=[62.1 77.3 92.5 104 112.9 121.9 125 129.4 134 138.2 142.3 143.2 144.6 147.2 147.8 149.1 150.9];
函数为y=Ax^n,怎么求得参数A和n呢

点评

用cftool试一试吧  发表于 2011-9-26 15:55
回复 不支持

使用道具 举报

 楼主| 发表于 2011-9-25 19:06:15 | 显示全部楼层 来自 福建泉州
:'(:'(。。。
回复 不支持

使用道具 举报

发表于 2011-9-25 22:32:09 | 显示全部楼层 来自 江苏扬州
用此模型:
fx=@(b,x)b(1)*x.^b(2);
结果为:
b =[ 28.89485503  0.4374601403]
RSS = 870.251379192
MSe =       62.161
R^2 =      0.92392
效果不太好。
若用模型:
fx=@(b,x)b(1)*x.^2./(1+b(2)*x+b(3)*x.^2);
SSy =    11438
b =[  1.084012246  0.0104414964  0.00658753375]
RSS = 11.6518822148
MSe =       0.8963
R^2 =      0.99898
效果好得多(见图)。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×

评分

1

查看全部评分

回复 不支持

使用道具 举报

 楼主| 发表于 2011-9-28 11:06:21 | 显示全部楼层 来自 福建泉州
stats01 发表于 2011-9-25 22:32
用此模型:
fx=@(b,x)b(1)*x.^b(2);
结果为:

非常感谢你的帮忙,激动。。:P
回复 不支持

使用道具 举报

 楼主| 发表于 2011-10-2 10:02:16 | 显示全部楼层 来自 福建泉州
stats01 发表于 2011-9-25 22:32
用此模型:
fx=@(b,x)b(1)*x.^b(2);
结果为:

你好,请问你能不能给我这个题目的详细的命令流呢?
我编的程序老是出错,弄了好几天  还没弄好。。
回复 不支持

使用道具 举报

发表于 2011-10-2 10:13:39 | 显示全部楼层 来自 江苏扬州
clear,clc
x=[10 12.5 15 17.5 20 22.5 25 27.5 30 32.5 35 37.5 40 42.5 45 47.5 50];
y=[62.1 77.3 92.5 104 112.9 121.9 125 129.4 134 138.2 142.3 143.2 144.6 147.2 147.8 149.1 150.9];
fx=@(b,x)b(1)*x.^2./(1+b(2)*x+b(3)*x.^2);
b =[1.08  0.01  0.0066]; % initial value
for l=1:5
b=lsqcurvefit(fx,b,x,y)
b=nlinfit(x,y,fx,b)
end
plot(x,y,'o','markerfacecolor','k')
hold on
x1=min(x):range(x)/100:max(x);
y1=fx(b,x1);
plot(x1,y1,'r-','linewidth',2)

评分

1

查看全部评分

回复 不支持

使用道具 举报

 楼主| 发表于 2011-10-2 16:20:11 | 显示全部楼层 来自 福建泉州
stats01 发表于 2011-10-2 10:13
clear,clc
x=[10 12.5 15 17.5 20 22.5 25 27.5 30 32.5 35 37.5 40 42.5 45 47.5 50];
y=[62.1 77.3 92.5  ...

谢谢你哦,要不我还不知道要弄多久呢。。
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-10-6 09:33 , Processed in 0.041226 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表