weizhenlei 发表于 2007-3-31 20:58

关于利用matlab进行最小二乘法拟和非线性表达式的问题

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

zeao 发表于 2007-3-31 21:35

:@)你可以用:a=polyfit(x,y,2)的形式来建立一个y=a(3)+a(2)*x+a(1)*x.^2的拟合曲线,或者其它的则可以参考matlab的科学计算

weizhenlei 发表于 2007-4-1 09:37

你好,在使用多项式拟和的时候,效果更不好,!
所以,根本不能用3阶以下的多项式来拟和

xjzuo 发表于 2007-4-1 09:44

请先把你的数据和处理贴出来.

weizhenlei 发表于 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
];
拟和结果为: 见附件

weizhenlei 发表于 2007-4-1 20:08

高手你好,
能否给我一个其他的联系方式,或者qq或者电话,我们能否通过电话联系。
这样也许问题能够更好的帮助我解决。
谢谢

xjzuo 发表于 2007-4-2 11:57

"给定拟合函数"时, 一般不可能百分之百重合;
如果不要求解析表达式,可试试插值.

wolfnet 发表于 2008-11-17 01:59

用cftool应该能很快解决的
页: [1]
查看完整版本: 关于利用matlab进行最小二乘法拟和非线性表达式的问题