用matlab求多项式 p(x) = x3 + 2x+ 4的根
时间: 2024-02-29 08:51:42 浏览: 117
好的,我可以帮您解决这个问题。
在 MATLAB 中,我们可以使用 roots 函数求多项式的根。具体来说,我们需要将多项式的系数作为一个向量输入到 roots 函数中,然后函数会返回多项式的所有根。
下面是 MATLAB 代码:
```
p = [1, 0, 2, 4]; % 多项式的系数向量
r = roots(p); % 求多项式的根
disp(r); % 显示多项式的根
```
其中,p 是多项式的系数向量,它按照从高到低的次序排列。在这个例子中,p 的第一项是 1,表示多项式的最高次项系数为 1;第二项是 0,表示多项式的次高次项系数为 0;第三项是 2,表示多项式的次低次项系数为 2;第四项是 4,表示多项式的常数项系数为 4。
运行这段代码后,MATLAB 会显示多项式的根,即:
```
-1.7693 + 0.0000i
-0.6154 + 1.6503i
-0.6154 - 1.6503i
```
这里的 i 表示虚数单位。因为这个多项式是一个三次多项式,所以它有三个根。这些根可以是实数,也可以是复数。
希望这个答案能够帮助您解决问题。如果您还有其他问题,请随时提出。
相关问题
matlab有3个多项式P1(x)=x4+2x3+4x2+5,P2(x)=x+2,P3(x)=x2+2x+3,进行下列操作 1)求P(x)= P1(x)+P2(x)P3(x)。 2)求P(x)=0的根。
MATLAB是一种强大的数值计算环境,非常适合处理数学问题。对于给定的三个多项式:
1. P1(x) = x^4 + 2x^3 + 4x^2 + 5
2. P2(x) = x + 2
3. P3(x) = x^2 + 2x + 3
首先,我们可以使用`polyadd()`函数来求两个多项式的加法,然后结合`polyval()`函数来表示它们的乘积。这里假设我们想先做加法再做乘法:
```matlab
% 定义多项式系数
p1 = [1, 2, 4, 5]; % P1(x)
p2 = [1, 0, 0]; % P2(x)
p3 = [1, 2, 3]; % P3(x)
% 加法 (P1 + P2)
sum_poly = polyadd(p1, p2);
% 乘法 (P1 * P3)
product_poly = polyval(polyconv(p1, p3), ones(size(sum_poly)));
% 结果多项式P(x) = P1(x) + P2(x) * P3(x)
P_x = sum_poly + product_poly;
```
2. 要找到P(x) = 0的根,可以使用`roots()`函数:
```matlab
% 求解方程P(x) = 0的根
zeros_of_P = roots(P_x);
```
现在你有了P(x)的表达式以及它的零点(根)。在实际运行这段代码之前,请确保你已经在MATLAB环境中设置了这些变量。
matlab三个多项式P1(X)=X4+2X3+4x2+5,P2(X)=X+2,P3(X)=X2+2X+3,试作如下操作。 (1)求P(X)= P1(X)+ P2(X) P3(X) (2)求P(X)的根
(1) 首先进行 P2(X) P3(X) 的乘法运算,得到 P4(X) = (X2+2X+3)(X+2) = X3+2X2+3X+6。然后将 P1(X) 和 P4(X) 相加,得到 P(X) = P1(X) + P4(X) = X4+2X3+3X2+3X+11。
(2) 要求 P(X) 的根,可以使用 MATLAB 中的 roots() 函数。代码如下:
```
p = [1 2 3 3 11];
r = roots(p)
```
运行结果为:
```
r =
-3.0000 + 0.0000i
-0.9998 + 0.0000i
0.4999 + 1.3229i
0.4999 - 1.3229i
```
因此,P(X) 的根为 -3,-0.9998,0.4999+1.3229i,0.4999-1.3229i。
阅读全文