我解决了符号方程:
>> 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但是当在行列式中替换时不能为零!!!
请求帮助我!!感谢
答案 0 :(得分:0)
我会这样做:
double(solve(det(A),'w'))
但我不太确定它会成为您正在寻找的解决方案。
答案 1 :(得分:-1)
对于像这样的数字,我更喜欢Mathematica。我把你的方程式放入其中并将Det取出:
543676857927080439744 - 80400721107071258400 w^2 +
2052468350731440000 w^4 - 18069295320000000 w^6 +
63416925000000 w^8 - 75937500000 w^10
不确定这是否有帮助..?也许在进行符号计算时使用mupad。