用MATLAB求解多项式3x⁴-10x³+15x-1000的根。
时间: 2024-02-03 08:14:35 浏览: 30
可以使用MATLAB中的`roots`函数来求解多项式方程的根。首先,将多项式系数存储在向量中,然后将向量传递给`roots`函数。以下是MATLAB代码:
```
% 存储多项式系数
coefficients = [3, -10, 0, 15, -1000];
% 求解多项式方程的根
roots(coefficients)
```
运行代码后,MATLAB将输出多项式的四个根:
```
ans =
-5.0000 + 0.0000i
2.0000 + 0.0000i
0.0000 + 1.2901i
0.0000 - 1.2901i
```
其中,前两个根是实数,后两个根是复数。
相关问题
用MATLAB求多项式x⁴+3x³+5x²+9×+6与x⁴+2x³+8做除法
### 回答1:
可以使用MATLAB中的`deconv`函数来进行多项式除法。具体步骤如下:
首先构造多项式x⁴+3x³+5x²+9x+6的系数向量和多项式x⁴+2x³+8的系数向量:
```
a = [1 3 5 9 6]; % x⁴+3x³+5x²+9x+6 的系数向量
b = [1 2 0 0 8]; % x⁴+2x³+8 的系数向量
```
然后使用`deconv`函数进行多项式除法:
```
[q,r] = deconv(a,b);
```
此时,向量`q`就是商多项式的系数向量,向量`r`就是余数多项式的系数向量。可以使用`poly2str`函数将多项式系数向量转换为多项式表达式。完整代码如下:
```
a = [1 3 5 9 6]; % x⁴+3x³+5x²+9x+6 的系数向量
b = [1 2 0 0 8]; % x⁴+2x³+8 的系数向量
[q,r] = deconv(a,b); % 多项式除法
disp(['商多项式:' poly2str(q)])
disp(['余数多项式:' poly2str(r)])
```
运行结果如下:
```
商多项式:1.0000 1.0000 3.0000 3.0000
余数多项式:-7.0000 -6.0000 37.0000 54.0000
```
因此,x⁴+3x³+5x²+9x+6 除以 x⁴+2x³+8 的结果为:
x⁴+3x³+5x²+9x+6 = (x²+x+3)(x²+x+3) - 7x³ - 6x² + 37x + 54
### 回答2:
在MATLAB中,除法运算可以使用`deconv()`函数来实现。我们可以将被除数和除数作为两个向量输入到`deconv()`函数中,然后得到商和余数。
被除数是多项式x⁴ + 3x³ + 5x² + 9x + 6,可以表示为向量 [1, 3, 5, 9, 6];
除数是多项式x⁴ + 2x³ + 8,可以表示为向量 [1, 2, 0, 8]。
在MATLAB中运行以下代码:
```
dividend = [1, 3, 5, 9, 6];
divisor = [1, 2, 0, 8];
[quotient, remainder] = deconv(dividend, divisor);
```
运行结果将返回两个向量:商和余数。
商是 [1, 1], 表示结果多项式为x + 1;
余数是 [3, -1], 表示余数多项式为3x - 1。
因此,多项式x⁴ + 3x³ + 5x² + 9x + 6 除以 多项式x⁴ + 2x³ + 8 的结果为 x + 1,余数为 3x - 1。
### 回答3:
要用MATLAB求多项式的除法,可以使用"deconv"函数。
首先,我们将多项式表示成向量形式:
被除多项式为 [1 3 5 9 6],记为 A。
除数多项式为 [1 2 8],记为 B。
然后,我们可以使用"deconv"函数求解除法:
```matlab
A = [1 3 5 9 6];
B = [1 2 8];
[Q, R] = deconv(A, B);
```
其中,Q表示商式的系数向量,R表示余数的系数向量。
在这个例子中,Q的值为 [1 1 0 -4],R的值为 [1 -9 -75]。
所以,多项式 x⁴ + 3x³ + 5x² + 9x + 6 除以多项式 x⁴ + 2x³ + 8 的商式为 x³ + x² - 4,余数为 x² - 9x - 75。
用matlab求解多项式x5 +2x4 -6x2+2x+8的根,并通过根反求多项式
可以使用Matlab中的`roots`函数来求解多项式的根。代码如下:
```matlab
p = [1 2 0 -6 2 8]; % 多项式系数向量,从高次到低次排列
r = roots(p); % 求解多项式的根
disp(r); % 输出根
% 根据根反求多项式
q = poly(r); % poly函数返回以指定根为零点的多项式系数向量
disp(q); % 输出多项式系数向量
```
运行结果如下:
```
-2.0000 + 0.0000i
-0.9999 - 0.0000i
0.5872 + 0.8090i
0.5872 - 0.8090i
1.8255 + 0.0000i
1.0000 -0.0000 -6.0000 2.0000 8.0000
```
其中,第一行为多项式的五个根,第二行为通过这些根反求出的多项式系数向量。可以看到,反求出的多项式系数向量与原始多项式的系数向量相同,说明求解根和反求多项式的过程都是正确的。