声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2166|回复: 7

[编程技巧] 关于利用matlab进行最小二乘法拟和非线性表达式的问题

[复制链接]
发表于 2007-3-31 20:58 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
大家好:
     打算对测量的数据进行微分运算,但是结果不甚理想?(不知道有什么更好的想法)
    所以,采用了最小二乘法参数拟和的方法来代替微分运算,但是在使用matlab指令进行拟和时,精度并不好。
   数据的原形函数是非线性的,而且不能线性变换。
请问,如果控制matlab指令的拟和精度?怎么样才能将拟和的结果更完美一些?
谢谢
回复
分享到:

使用道具 举报

发表于 2007-3-31 21:35 | 显示全部楼层
:@)  你可以用:a=polyfit(x,y,2)的形式来建立一个y=a(3)+a(2)*x+a(1)*x.^2的拟合曲线,或者其它的则可以参考matlab的科学计算
 楼主| 发表于 2007-4-1 09:37 | 显示全部楼层
你好,在使用多项式拟和的时候,效果更不好,!
所以,根本不能用3阶以下的多项式来拟和
发表于 2007-4-1 09:44 | 显示全部楼层
请先把你的数据和处理贴出来.
 楼主| 发表于 2007-4-1 20:06 | 显示全部楼层
原始数据:x——为横坐标数据;y——纵坐标数据
x=[0 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 190 200 210 220 230 240 250 260 270 280 290 300 310 320 330 340 350 360 370 380 390 400 410 420 430 440 450 460 470 480 490 500 510 520 530 540
];
y=[52.164 52.164 52.164 52.164 52.164 52.163 52.154 52.13 52.083 52.004 51.89 51.738 51.545 51.306 51.016 50.679 50.298 49.881 49.427 48.932 48.388 47.778 47.041 46.112 44.988 43.665 42.117 40.298 38.082 35.376 32.182 28.613 24.973 21.591 18.659 16.303 14.562 13.283 12.324 11.653 11.147 10.554 9.6701 8.4503 6.9536 5.3491 3.8037 2.3921 1.3529 0.75448 0.40181 0.19412 0.07672 0.022018 0.0079272
];
拟和结果为: 见附件

拟和结果图.doc

47 KB, 下载次数: 97

拟和结果图

 楼主| 发表于 2007-4-1 20:08 | 显示全部楼层
高手你好,
能否给我一个其他的联系方式,或者qq或者电话,我们能否通过电话联系。
这样也许问题能够更好的帮助我解决。
谢谢
发表于 2007-4-2 11:57 | 显示全部楼层
"给定拟合函数"时, 一般不可能百分之百重合;
如果不要求解析表达式,可试试插值.
发表于 2008-11-17 01:59 | 显示全部楼层
用cftool应该能很快解决的
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-12 02:45 , Processed in 0.065694 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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