matlab solve解显示root(一个方程),怎么显示出数值解??

2025-03-02 03:26:55
推荐回答(5个)
回答1:

当solve解显示有root形式的方程解,可以用vpa()函数命令求出方程的数值解。具体操作过程为

>> syms x

>> s=solve(det([5*x 2 1;-1 4*x 2;2 -3 10*x])==0,x)

>> s=vpa(s)

从运算结果,可以看到方程的实数解为-0.21474642157167318650910503113932

回答2:

请参考以下Matlab代码。注意应用solve()函数的格式。例如solve(f(x)=0,x)可以简写成以下形式:solve(f(x))

运行如下Matlab代码:

% ==================

syms x;

solve(det([5*x 2 1; -1 4*x 2; 2 -3 10*x]))

eval(ans)

%====================

运行结果如下:

ans =

-0.2147

0.1074 + 0.4946i

0.1074 - 0.4946i

回答3:

clear;clc;
syms x
solve(det([5*x 2 1;-1 4*x 2;2  -3 10*x])==0,x)
A=solve(det([5*x 2 1;-1 4*x 2;2  -3 10*x])==0,x, 'MaxDegree', 3)
vpa(A)
double(A)

回答4:

请参考以下Matlab代码。注意应用solve()函数的格式。例如solve(f(x)=0,x)可以简写成以下形式:solve(f(x))
运行如下Matlab代码:
% ==================
syms x;
solve(det([5*x 2 1; -1 4*x 2; 2 -3 10*x]))
eval(ans)
%====================
运行结果如下:
ans =
-0.2147
0.1074 + 0.4946i
0.1074 - 0.4946i

回答5:

eval(ans)