(用matlab解决)已知两个多项式 a(x)=x^2-2x+1,b(x)=x+5 求1) a(x)-b(x) 2) a(x)/b(x) 3) a(x)×b(x) 的一阶导数。 请在1,2,3空分别给出结果的向量表达(如结果有多个输出用逗号隔开,不要使用分号,结果先填写分子,后填写分母)。 为避免误判,请向量表达时请使用中括号[],元素用空格隔开 第4空给出作答代码
时间: 2023-11-22 08:04:17 浏览: 27
1) a(x)-b(x) = x^2-3x-4
向量表达: [1 -3 -4]
2) a(x)/b(x) = (x-1)(x-1)/(x+5)
向量表达: [1 -2 1]/[1 5]
3) a(x)×b(x) 的一阶导数为 2x^3+6x^2-8x-10
向量表达: [2 6 -8 -10]
作答代码:
```matlab
a = [1 -2 1];
b = [1 5];
% a(x)-b(x)
c = polyadd(a, -b);
disp(c);
% a(x)/b(x)
d = polydiv(a, b);
disp(d);
% a(x)*b(x) 的一阶导数
e = polyder(conv(a, b));
disp(e);
```
相关问题
用Matlab创建多项式p1=x^4+2x^3-5x+6和p2=2x^2+7;对多项式p1和p2进行加减乘除四则运算;用两种方法求多项式p1所有的根;已知一个多项式的根有1和2,求出该多项式并以符号表达形式显示;对表达式y=p2/p1进行部分分式展开
创建多项式p1和p2:
```
syms x
p1 = x^4 + 2*x^3 - 5*x + 6;
p2 = 2*x^2 + 7;
```
加减乘除四则运算:
```
p_add = p1 + p2;
p_sub = p1 - p2;
p_mul = p1 * p2;
p_div = p1 / p2;
```
求多项式p1所有的根:
方法一:使用solve函数
```
roots = solve(p1 == 0, x);
```
方法二:使用vpasolve函数
```
roots = vpasolve(p1 == 0, x);
```
求出一个多项式的根有1和2的多项式:
```
syms x
p = (x-1)*(x-2)*q;
```
其中q为未知多项式。
对表达式y=p2/p1进行部分分式展开:
```
partfrac(p2/p1)
```
通过matlab解决问题,已知两个多项式 a(x) =x² -x+3,b( x) = x+ 3 求 1)a(x)+b(x) 2 ) a ( x) *b ( x ) 3) a(x)/b(x)的一阶导数。 请在1,2,3空分别给出结果的向量表达(如结果有多个输出用逗号隔开,不要使用分号,结果先填写分子,后填写分母)。 为避免误判,请向量表达时请使用中括号[],元素用空格隔开 第4空给出作答代码。
1) a(x)+b(x) = x² - x + 3 + x + 3 = x² + 2x + 6,向量表达为 [1 2 6]
2) a(x)*b(x) = (x² - x + 3)*(x + 3) = x³ + 2x² + 6x + 9,向量表达为 [1 2 6 9]
3) a(x)/b(x) = (x² - x + 3)/(x + 3),一阶导数为 (2x - 1)/(x + 3) - (x² - x + 3)/(x + 3)^2 = (x^2 - 5x + 12)/(x + 3)^2,向量表达为 [1 -5 12] / [1 6 9]
4) Matlab代码实现:
```
a = [1 -1 3];
b = [1 3];
% a(x)+b(x)
c1 = a + b;
disp(c1); % [1 2 6]
% a(x)*b(x)
c2 = conv(a, b);
disp(c2); % [1 2 6 9]
% a(x)/b(x)
[c3_numerator, c3_denominator] = deconv(a, b);
c3_derivative_numerator = conv(polyder(c3_numerator), c3_denominator) - conv(c3_numerator, polyder(c3_denominator));
disp([c3_numerator, c3_denominator]); % [1 -5 12 0] / [1 6 9]
disp(c3_derivative_numerator ./ (c3_denominator.^2)); % [1 -5 12] / [1 12 36]
```