如何用matlab做最小二乘法求弹簧的k值

来源:百度知道 编辑:UC知道 时间:2024/06/18 04:09:43
一个弹簧振子,已经求出了F-x和M-T^2的曲线,如何用最小2乘法求出2种方法方法计算的弹簧劲度系数K。
请详细的说明程序,重谢
详细说明一下最小二乘法 谢谢了

(1)F-x
我们知道F=kx
也就是说,只要把F和x进行线性拟合就可以了。
比方说你的数据是

x=[1,2,3,4,5,6,7];
F=[9,19,29,41,50,58,71];
k=x'\F'
得到:
k =
9.9500

(2)M-T^2
我们知道
k/M=[(2*pi)/T]^2
变形得
k/(4*pi^2*m)=1/T^2
上式是关于k的一元方程

比说说数据:
T=[1,2,3,4,5,6,7]; %这是T
M=[9,19,29,41,50,58,71];

T2=T.^2;
A=1/4/pi^2./M;
b=1./T2;
k=A'\b'
就可以得到k

我没有时间帮你写程序,建议:

拿到方程以后,把方程转化为标准形式(知道标准形式?)

初始化里面的参数。

然后用fminsearch等函数试一下。