答案 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的系数向量。