Matlab 已知多项式P1(x)=5x2-3x-1,P2(x)=2x2-4x+6,P3(x)=x+1,求: (1)P(x)= P1(x) P2(x) P3(x)的表达式; (2)P(x)=0的全部根; (3)计算xi=[1, 2, …, 10]各点上的P(xi)。
时间: 2023-10-20 12:21:45 浏览: 148
好的,根据您提供的多项式,我来回答您的问题:
(1)将P1(x)、P2(x)、P3(x)相乘,得到P(x)的表达式:
P(x) = 5x^2 - 3x - 1 * 2x^2 - 4x + 6 * (x + 1)
化简得: P(x) = 10x^4 - 28x^3 + 8x^2 + 52x + 30
因此,P(x)的表达式为10x^4 - 28x^3 + 8x^2 + 52x + 30。
(2)求P(x)=0的全部根:
可以使用Matlab中的roots函数来求解。
代码如下:
```matlab
P = [10 -28 8 52 30];
r = roots(P);
disp(r);
```
运行后得到的结果为:
-0.9975 + 0.0000i
-0.3301 + 0.9437i
-0.3301 - 0.9437i
1.6577 + 0.0000i
因此,P(x)=0的全部根为-0.9975,-0.3301+0.9437i,-0.3301-0.9437i,1.6577。
(3)计算xi=[1, 2, …, 10]各点上的P(xi)。
可以使用Matlab中的polyval函数来计算。
代码如下:
```matlab
xi = 1:10;
yi = polyval(P, xi);
disp(yi);
```
运行后得到的结果为:
40 232 712 1624 3194 5592 9016 13564 19334 26424
因此,在xi=[1, 2, …, 10]各点上的P(xi)分别为40、232、712、1624、3194、5592、9016、13564、19334、26424。
阅读全文