求解4次多项式方程

时间:2015-02-01 17:52:52

标签: matlab polynomial-math polynomials

在我解决了这个问题here

后,我得到了这个等式

我想用Matlab解决它。

2 个答案:

答案 0 :(得分:7)

函数roots返回多项式根。只需传递系数:

roots([1,-6,-36,216,-324])

答案 1 :(得分:5)

使用MATLAB的符号数学工具箱中的solve

>> syms x;
>> y = solve('x^4-6*x^3-36*x^2+216*x-324==0')

y =

                                       7.7446378738164683022795580182987
                                      -6.3360292312480789716536487435108
 2.2956956787158053346870453626061 - 1.1543655214730370697054534567177*i
 2.2956956787158053346870453626061 + 1.1543655214730370697054534567177*i

第一行代码声明x是一个符号数学变量,我们可以将它与工具箱一起使用。接下来,我们使用solve并输入一个字符串来描述您帖子中显示的等式。请记住,当我们乘以系数时,您需要使用*运算符,为了相等,我们需要使用double equals或==。输出应该给你四个根,正如代数的基本定理所指示的那样。你会发现你有两个真正的根源,以及两个想象的根源。

或者,您可以在MATLAB中使用roots,方法是指定从最高位到最低as per Daniel's answer的系数向量。