(利用Matlab写一个程序)已知多项式 P1(2)=32+2, P1(a)=5元2-①+2, P3(a)=a 求 (1) P(x)= P1(x)P2(x)P3(x)。 (2)P(x)=0的全部根。 (3)计算xi=0.2i(i=0,1,2,...,10) 各点上的P(xi)。
时间: 2025-02-26 16:23:07 浏览: 62
在MATLAB中编写程序来解决这个问题,我们可以先创建多项式的系数向量,然后利用多项式函数`polyval`来进行乘法和求解零点。以下是步骤:
1. 定义多项式的系数:
- P1(x) = 32 + 2x^2, 对应系数向量 [32, 2]
- P2(x) = ax^2 - ① + 2 (假设①未知,可以补全),设a为给定值,系数向量 [a, -①, 2]
- P3(x) = x,系数向量 [1]
2. 创建多项式对象并进行乘法操作:
```matlab
% 假设a已知
a = your_a_value; % 替换为实际值
p1_coeff = [32, 2]; % P1(x)系数
p2_coeff = [a, -①, 2]; % P2(x)系数,需补全
p3_coeff = [1]; % P3(x)系数
% 计算P(x) = P1 * P2 * P3
p_coeff = polyconv(p1_coeff, polyconv(p2_coeff, p3_coeff));
```
3. 求解多项式P(x)的零点:
```matlab
% 使用roots函数求解P(x) = 0 的所有根
roots_p = roots(p_coeff);
```
4. 计算P(xi) (其中xi = 0.2i for i = 0 to 10):
```matlab
xi_values = 0.2 * (0:10); % 这里生成了从0到2的0.2步长的数列
values_at_xi = polyval(p_coeff, xi_values);
```
为了完整地解答问题,需要补充①处的具体数值,并计算P2(x)的系数向量。一旦有了完整的p2_coeff,就可以按照上述步骤进行操作。
阅读全文
相关推荐


















