在matlab中,怎样求下列方程的系数。是四元二次线性方程,最好能出现Y=A*X^2+B*X+C;

在matlab中,怎样求下列方程的系数。是四元二次多项式,最好能出现Y=A*X^2+B*X+C;这样的形式,其中ABC都是矩阵,我的目的就是求出ABC三个矩阵。系数矩阵。... 在matlab中,怎样求下列方程的系数。是四元二次多项式,最好能出现Y=A*X^2+B*X+C;这样的形式,其中ABC 都是矩阵,我的目的就是求出ABC三个矩阵。系数矩阵。
如果各位有更好的求这个四元二次多项式,系数的方法,更好,感谢。。。。。
x=[3.5 0.35 0.8 0.6
3.5 0.425 1.82 1.3
3.5 0.5 2.8 2
4.25 0.35 1.82 2
4.25 0.425 2.8 0.6
4.25 0.5 0.8 1.3
5 0.35 2.8 1.3
5 0.425 0.8 2
5 0.5 1.82 0.6
];
Y=[18.42
19.5
19.3
18.73
19.21
19.93
17.51
18.91
19.85
];
>>X=[ones(9,1),x];
syms a b c X;
Y=(ax+b)X+c;
t=coeffs(Y,X);
t(3)
再问一句,下面的语句看不大懂
A = diag(t(1:4))
B = t(5:8)'
C = t(9)
第一个是求对角矩阵的,B是?系数吗?
展开
 我来答
tianxiawulang
2014-07-10 · TA获得超过2.7万个赞
知道大有可为答主
回答量:4732
采纳率:89%
帮助的人:2774万
展开全部

对于Y=A*X^2+B*X+C(确切一点说,应该是Y=X'*A*X+B*X+C)的形式,X是4x1向量,则A是4x4矩阵,B是1x4向量,C是标量,共21未知数,但现在的数据只有9组约束,显然有很多未知数是自由的。

 

可以考虑对矩阵A加一些限制条件,例如,规定A是对较阵,此时共有9个未知数,如果约束条件独立,应该可以求出唯一解来。

 

参考代码:

x = [3.5 0.35 0.8 0.6
    3.5 0.425 1.82 1.3
    3.5 0.5 2.8 2
    4.25 0.35 1.82 2
    4.25 0.425 2.8 0.6
    4.25 0.5 0.8 1.3
    5 0.35 2.8 1.3
    5 0.425 0.8 2
    5 0.5 1.82 0.6
];
Y = [18.42
    19.5
    19.3
    18.73
    19.21
    19.93
    17.51
    18.91
    19.85
];

X = [x.^2 x ones(9,1)];
t = X\Y;
A = diag(t(1:4))
B = t(5:8)'
C = t(9)

 

求得结果:

A =

   -0.6667         0         0         0
         0  -44.4444         0         0
         0         0   -0.4843         0
         0         0         0    0.1837


B =

    5.4556   47.6000    1.5369   -0.6061


C =

   -4.3453

追问
得到的方程是:y=a1*x1^2+a2*x2^2+a3*x3^2+a4*x4^2+b1*x1+b2*x2+b3*x3+b4*x4+c,
只有x^2,跟x的关系,而没有相互之间的关系。比如x1*x2,x2*x3,x3*x4,.......
而这正是我需要的东西。最好得出,x,x1*x2这下关系的。有很多未知数是自由的不要紧,只要能找出他们之间的关系就好。
追答

没看明白你的意思。

回归模型在能满足精度要求的条件下,一般尽量选择简单的,这也是著名的奥卡姆剃刀原则。

你给的数据一共9组,使用现在的方程刚好有9个参数,完全可以满足精度要求,为什么还一定要再增加其它项呢?你也完全可以理解为,x1*x2等项的系数都是0。

 

补充:

A = diag(t(1:4))  是用向量生成对角矩阵(也就是你上面写的方程中的a1~a4);
B = t(5:8)'  是系数b1~b4。

百度网友81eb968
2014-07-10 · 超过21用户采纳过TA的回答
知道答主
回答量:42
采纳率:0%
帮助的人:41.6万
展开全部
实在看不理解你的题,下面东西也运行不了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
盳殚
2014-07-10 · 超过11用户采纳过TA的回答
知道答主
回答量:46
采纳率:0%
帮助的人:27.2万
展开全部
>> x=[3.5 0.35 0.8 0.6
3.5 0.425 1.82 1.3
3.5 0.5 2.8 2
4.25 0.35 1.82 2
4.25 0.425 2.8 0.6
4.25 0.5 0.8 1.3
5 0.35 2.8 1.3
5 0.425 0.8 2
5 0.5 1.82 0.6];
Y=[18.42
19.5
19.3
18.73
19.21
19.93
17.51
18.91
19.85];
X=[ones(9,1),x,x.^2];
[b]=regress(Y,X)
b =
-4.3453
5.4556
47.6000
1.5369
-0.6061
-0.6667
-44.4444
-0.4843
0.1837
b的解依次排下来就是常数项 一次项 和二次项的系数 正好九个
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式