全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 MATLAB等数学软件专版
4345 3
2010-09-24
在matlab中,输入
>> A=sym('[1,7,3,5;7,1,7,3;3,7,1,5;5,3,5,1]')
A =
[ 1, 7, 3, 5]
[ 7, 1, 7, 3]
[ 3, 7, 1, 5]
[ 5, 3, 5, 1]
>> b=eig(A)
b =
                                                                                                                                                                                                                         -2
2 - (276 + (27^(1/2)*2039248^(1/2)*i)/27)^(1/3)/2 - 80/(3*(276 + (27^(1/2)*2039248^(1/2)*i)/27)^(1/3)) - (3^(1/2)*(160/(3*(276 + (27^(1/2)*2039248^(1/2)*i)/27)^(1/3)) - ((27^(1/2)*2039248^(1/2)*i)/27 + 276)^(1/3))*i)/2
2 - (276 + (27^(1/2)*2039248^(1/2)*i)/27)^(1/3)/2 - 80/(3*(276 + (27^(1/2)*2039248^(1/2)*i)/27)^(1/3)) + (3^(1/2)*(160/(3*(276 + (27^(1/2)*2039248^(1/2)*i)/27)^(1/3)) - ((27^(1/2)*2039248^(1/2)*i)/27 + 276)^(1/3))*i)/2
                                                                                                                      160/(3*(276 + (27^(1/2)*2039248^(1/2)*i)/27)^(1/3)) + (276 + (27^(1/2)*2039248^(1/2)*i)/27)^(1/3) + 2
求得的结果好生奇怪了,不知道哪里出了问题,请帮我看看,不甚感激
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2010-9-24 09:56:35
没有什么问题,由于计算精度导致的一点诡异。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2010-9-24 10:49:35
你的这种方法是对的,不过用符号矩阵求出的结果是精确的没有经过近似处理的原值,你可以通过vpa命令求其近似值。你也可以直接定义A=[1,7,3,5;7 1 73;3 7 1 5;5 3 5 1];eig(A)就可以了。这个值与用vpa(eig(A))(这里A是符号矩阵)的结果是一样的。
    你的这个矩阵很特殊,它的特征值有些是复数,但它们的虚部是一个相当小的几乎和零差不多的数,所以你用符号矩阵求得的特征值是复数,当你直接定义A=[1,7,3,5;7 1 73;3 7 1 5;5 3 5 1];eig(A)求得的却是实数。
你可以用vpa(eig(A),100)(这里A是数值矩阵)来看它的虚部的确是很小的。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2010-9-24 14:25:17
用数值解法就好了
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群