matlab解方程出现root,如何获得数值解:

matlab解方程出现root,如何获得数值解:运行以下代码 symsxeqn=4*x*x*x-2*x-4==0;solx=solve(eqn,x) 得到:solx=  root(z^3-z/2-1,z,1) root(z^3-z/2-1,z,2) root(z^3-z/2-1,z,3)解solx比较复杂通过root形式展示,进行double转换,即可得到数值解:d…

运行以下代码

 syms x
eqn = 4*x*x*x-2*x-4==0;
solx = solve(eqn,x)
 

得到:
solx =
 
 root(z^3 – z/2 – 1, z, 1)
 root(z^3 – z/2 – 1, z, 2)
 root(z^3 – z/2 – 1, z, 3)

解solx比较复杂通过root形式展示,进行double转换,即可得到数值解:

double(solx)

ans =

   1.1654 + 0.0000i
  -0.5827 + 0.7201i
  -0.5827 – 0.7201i

、、、、、、、、、、、、、、、、、、、

也可采用roots([4 0 -2 -4]),输入各阶系数,得到高阶方程的数值解:

ans =

   1.1654 + 0.0000i
  -0.5827 + 0.7201i
  -0.5827 – 0.7201i

 

————————————————————总结———————————————————

1.solve是符号解(解析解),roots是数值解

2.roots只能解多项式方程,solve可解别的方程(只要它解得出的话)和方程组

 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/39269.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注