永发信息网

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

答案:6  悬赏:60  手机版
解决时间 2021-11-17 22:29
  • 提问者网友:嗝是迷路的屁
  • 2021-11-17 19:21
matlab solve解显示root(一个方程),怎么显示出数值解??
最佳答案
  • 五星知识达人网友:迷人又混蛋
  • 2021-11-17 20:53
请参考以下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


全部回答
  • 1楼网友:青尢
  • 2021-11-18 01:04

用变量精度算法(VPA)现在显示的一个方程的根,比如

  • 2楼网友:末日狂欢
  • 2021-11-17 23:43
请参考以下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楼网友:孤独的牧羊人
  • 2021-11-17 23:17
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楼网友:鸠书
  • 2021-11-17 21:49
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)

  • 5楼网友:轻雾山林
  • 2021-11-17 21:17

当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

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯