matlab P1(x)=x*x*x+2*x*x+7,P2(x)=x-2,P3(x)=x*x*x+5*x+1求:P(x)=P1(x)*P2(x)+P3(x) 求P(x)=0的根
时间: 2023-09-05 15:13:21 浏览: 147
将 $P_1(x)$ 和 $P_2(x)$ 相乘,并加上 $P_3(x)$,得到 $P(x)$:
$$P(x) = P_1(x)P_2(x) + P_3(x) = (x^3 + 2x^2 + 7)(x-2) + (x^3 + 5x + 1)$$
化简后得到:
$$P(x) = x^4 - 3x^3 + 2x^2 + 19x - 13$$
现在我们要求 $P(x) = 0$ 的根。可以使用 Matlab 中的 `roots` 函数来计算多项式的根,代码如下:
```matlab
P = [1, -3, 2, 19, -13];
roots(P)
```
运行结果为:
```
ans =
2.0000
-1.0000
0.5000 + 1.6583i
0.5000 - 1.6583i
```
因此 $P(x)=0$ 的根为 $x_1=2$,$x_2=-1$,$x_3=0.5+1.6583i$,$x_4=0.5-1.6583i$。
相关问题
已知多项式P1(x)=3x+2,P2(x)=5x2-x+2,P3(x)=x-0.5,求 (1)P(x)=P1(x)P2(x)P3(x)。e (2)P(x)=0的全部根。← (3)计算x=0.2i(i=0,1,2,…,10)各点上的P(x)。用matlab来写。
首先,让我们逐步解决这个问题。
(1) 要找到三个多项式的乘积 \( P(x) = P_1(x) \cdot P_2(x) \cdot P_3(x) \),我们分别将每个多项式的系数相乘。即:
\[ P(x) = (3x + 2)(5x^2 - x + 2)(x - 0.5) \]
展开这个乘积会得到一个五次多项式,因为 \( P_1 \) 和 \( P_3 \) 的次数加上 \( P_2 \) 的次数等于5。具体的表达式非常复杂,涉及到多项式乘法的规则,这里直接写出结果比较困难,需要手动计算或者使用计算器或编程语言来完成。
(2) 找到多项式 \( P(x) \) 等于零的所有根,也就是解方程 \( P(x) = 0 \)。这通常是一个高次方程组,可能有实数根也可能有复数根。如果需要精确解,可以使用数值方法如牛顿迭代法或者在数学软件如MATLAB中使用`roots`函数来查找。
(3) 计算 \( x = 0.2i \) (其中 \( i = 0, 1, 2, ..., 10 \)) 各点上 \( P(x) \) 的值,这需要用到MATLAB的代数运算功能。你可以创建一个循环,对于每一个 \( i \),输入 \( x = 0.2i \),然后用MATLAB的`polyval(P, 0.2*i)`来评估多项式。假设我们已经有了 \( P \) 的系数数组,那么代码可能类似下面这样:
```matlab
% 假设P是已知的五次多项式的系数向量
coeffs_P = [a, b, c, d, e]; % 替换为你的系数
% 定义x值
x_values = 0.2 * (0:10);
% 计算P(x)值
P_values = polyval(coeffs_P, x_values);
```
请注意,你需要先确定多项式\( P(x) \)的确切系数 \( a, b, c, d, e \)来进行上述步骤。如果你没有具体的系数,我们需要进行一次乘法运算来获得它们。
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环境中设置了这些变量。
阅读全文