0

我求解符号方程:

>> A=sym('[34618-150*w^2,-16502,0,0,0;-16502,31144-150*w^2,-14642,0,0;0,-14642,27018-150*w^2,-12376,0;0,0,-12376,22447-150*w^2,-10071;0,0,0,-10071,10071-150*w^2]')

A =

[ 34618-150*w^2,        -16502,             0,             0,             0]
[        -16502, 31144-150*w^2,        -14642,             0,             0]
[             0,        -14642, 27018-150*w^2,        -12376,             0]
[             0,             0,        -12376, 22447-150*w^2,        -10071]
[             0,             0,             0,        -10071, 10071-150*w^2]

>> solve(det(A),'w')

ans =

solvelib::Union({[-z1^(1/2), 1], [z1^(1/2), 1]}, z1, RootOf(X19^5 - (20883*X19^4)/25 + (17855633*X19^3)/75 - (11413518430603*X19^2)/421875 + (33558897596166236*X19)/31640625 - 631449249611223316/87890625, X19))

如何将此符号答案转换为数字?

我使用'double'但答案不正确?

我使用vpa,但是当行列式替代时不能为零!!!

请帮助我!

谢谢

4

2 回答 2

0

我会这样做:

double(solve(det(A),'w'))

但我不太确定它是否会成为您正在寻找的解决方案。

于 2013-05-17T15:02:07.817 回答
-1

对于像这样的数字内容,我更喜欢 Mathematica。我把你的方程放进去,然后把 Det 写成:

543676857927080439744 - 80400721107071258400 w^2 + 
 2052468350731440000 w^4 - 18069295320000000 w^6 + 
 63416925000000 w^8 - 75937500000 w^10

不确定这是否有帮助..?也许在进行符号计算时使用 mupad。

于 2013-05-17T08:46:08.437 回答