matlab 如何求系数

来源:百度知道 编辑:UC知道 时间:2024/06/28 20:20:57
S=35
34.05
32.072
28.876
23.989
19.118
14.346
10.005
6.2556
2.79
1.1447
t=0
8
16
24
32
40
48
56
64
72
80
p=0
1.1129
2.2627
3.9907
6.4584
9.3517
12.053
14.59
16.337
16.491
16.479
x=0.334
0.635
1.336
2.14
2.99
3.86
4.68
5.3
5.53
5.41
5.4

公式如图
如何求系数Yx/s,Yp/s,m
感谢大虾们!~~~
要程序我是菜鸟得慢慢分析。。。。
能给解释一下吗,我想套用。。感谢啊

SysModel = [diff(X)./diff(t) diff(P)./diff(t) X(2:end)];

par = pinv(SysModel)*(-diff(S)./diff(t));

由些出来的par是一列数,有三个数值,即为:

1/Yx 1/Yp m

解释:

就是把多项式化成矩阵与列的乘积,其实就是解方程的另外一种方法而己:

y = a*x + b*x^2 + c*x^3 + d

y = [x x^2 x^3 1]*par

par = [a b c d]';

这样的话,直接用pinv([x x^2 x^3 1])*y就可以求出par. 当然,前提是x和y的值要多过par的长度