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

如题所述

当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

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-04-08

请参考以下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

本回答被网友采纳
第2个回答  2018-04-11
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)

第3个回答  2017-02-15
请参考以下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
第4个回答  2016-10-27
eval(ans)追问

您看我的截图,已经这么做了还是不行T^T

追答syms x
y=det([5*x 2 1;-1 4*x 2;2 -3 10*x]);
p=sym2poly(y);
roots(p)

本回答被提问者采纳
相似回答