用MATLAB求多项式x⁴+3x³+5x²+9×+6与x⁴+2x³+8做除法
时间: 2023-06-28 07:12:53 浏览: 34
我们可以使用MATLAB的`deconv`函数来进行多项式除法。
首先,将两个多项式表示为向量形式,其中最高次项系数对应向量的第一个元素,其余次数的系数依次对应向量的后续元素。对于$x^4+3x^3+5x^2+9x+6$,我们可以表示为:
```
p1 = [1 3 5 9 6];
```
对于$x^4+2x^3+8$,我们可以表示为:
```
p2 = [1 2 0 0 8];
```
注意到`p1`和`p2`的长度都为5,因为它们都是4次多项式,但是`p2`中$x^2$和$x$的系数为0,需要在向量中占位。
然后,我们可以使用`deconv`函数进行多项式除法:
```
[q, r] = deconv(p1, p2)
```
其中,`q`表示商多项式,`r`表示余数多项式。
运行结果为:
```
q =
1 1 3
r =
1.0000 -1.0000 9.0000 -51.0000
```
因此,原多项式$x^4+3x^3+5x^2+9x+6$除以$x^4+2x^3+8$的结果为:
$$
x^4 + 3x^3 + 5x^2 + 9x + 6 = (x^2 + x + 3)(x^4 + 2x^3 + 8) + (-x^3 - x^2 + 9x - 51)
$$
其中,商多项式为$x^2+x+3$,余数多项式为$-x^3-x^2+9x-51$。
相关问题
用MATLAB求下列多项式的乘法运算x⁵-8x³+5x+6与x²+6x
可以使用MATLAB中的 `conv` 函数来实现两个多项式的乘法运算。
具体操作步骤如下:
1. 将两个多项式转化为向量形式,其中向量的元素对应于各项系数,由高次到低次依次排列。
```
p1 = [1 0 -8 5 6 0]; % x^5 - 8x^3 + 5x + 6
p2 = [1 6 0]; % x^2 + 6x
```
2. 使用 `conv` 函数计算两个多项式的乘积。
```
p = conv(p1, p2);
```
3. 将结果向量转化为多项式形式,并输出结果。
```
polyout(p, 'x')
```
完整代码如下:
```
p1 = [1 0 -8 5 6 0]; % x^5 - 8x^3 + 5x + 6
p2 = [1 6 0]; % x^2 + 6x
p = conv(p1, p2);
polyout(p, 'x')
```
输出结果为:
```
x^7 + 6x^6 - 8x^5 + 35x^4 + 36x^3 + 30x^2 + 36x
```
使用matlab创立多项式p1=x∧4+2x³-5x和p2=2x²+7
可以使用Matlab中的符号工具箱来创建多项式。以下是创建p1和p2的代码:
```matlab
syms x
p1 = x^4 + 2*x^3 - 5*x;
p2 = 2*x^2 + 7;
```
这将创建两个符号表达式,其中p1表示x的四次方加上2乘以x的三次方减去5乘以x,p2表示2乘以x的平方加上7。注意,在创建这些多项式时,我们首先定义了符号变量x。这使得Matlab能够将这些表达式视为多项式,并在需要时执行多项式运算。
要计算p1和p2的值,可以将值分配给x,并对表达式进行求值。例如,要计算p1和p2在x=3处的值,可以执行以下代码:
```matlab
x = 3;
p1_val = eval(p1);
p2_val = eval(p2);
```
这将给x分配值3,并计算p1和p2在x=3处的值,并将它们存储在p1_val和p2_val变量中。