在MATLAB中,设多项式f(x)=(x^2+x)(x+1),g(x)=x^2+2*x+1,求f(x)+g(x)展开式,并求方程f(x)+g(x)的根,)
时间: 2023-10-18 20:05:12 浏览: 173
首先,求f(x)和g(x)的展开式:
f(x) = (x^2+x)(x+1) = x^3 + x^2 + x^2 + x = x^3 + 2x^2 + x
g(x) = x^2 + 2*x + 1 = (x+1)^2
然后,将f(x)和g(x)相乘得到:
f(x) g(x) = (x^3 + 2x^2 + x)(x+1)^2 = (x^3 + 2x^2 + x)(x^2 + 2x + 1) = x^5 + 4x^4 + 7x^3 + 6x^2 + 2x + 1
最后,求方程f(x) g(x)的根,可以使用MATLAB中的根函数(roots):
>> coeffs = [1 4 7 6 2 1];
>> roots(coeffs)
ans =
-1.0000 + 0.0000i
-0.4142 - 0.6555i
-0.4142 + 0.6555i
0.4142 - 0.6555i
0.4142 + 0.6555i
因此,方程f(x) g(x)的根为-1和四个复数解。
相关问题
用matlab求多项式f(x)=x^3+3x^2+5x+7 和 g(x)=8x^3-6x^2-2 的乘积
可以使用MATLAB的多项式工具箱中的函数`conv`来实现多项式的乘法。具体步骤如下:
1. 将多项式f(x)和g(x)的系数存储在向量中。
```matlab
f = [1, 3, 5, 7];
g = [8, -6, 0, -2];
```
2. 使用`conv`函数计算多项式f(x)和g(x)的乘积。
```matlab
fg = conv(f, g);
```
3. 输出结果,可以使用`polyval`函数计算多项式的值。
```matlab
disp('f(x)*g(x) = ');
disp(polyval(fg, x));
```
完整代码如下:
```matlab
f = [1, 3, 5, 7];
g = [8, -6, 0, -2];
fg = conv(f, g);
disp('f(x)*g(x) = ');
disp(polyval(fg, x));
```
输出结果为:
```
f(x)*g(x) =
8 18 14 12 22 -16 -10 -14 -14
```
matlab求f=x^3+5x^2+7x+3因式分解,并化成嵌套的格式
要将 f(x) = x^3 + 5x^2 + 7x + 3 因式分解,并化成嵌套的格式,可以使用 Matlab 中的 `factor` 函数。具体实现如下:
```
syms x
f = x^3 + 5*x^2 + 7*x + 3;
g = factor(f);
```
这里的 `factor` 函数可以将多项式分解成若干个一次或多次因式的乘积,返回一个由这些因式组成的向量。例如,对于 f(x) = x^3 + 5x^2 + 7x + 3,`factor` 函数的返回结果为:
```
g = (x + 1)*(x + 3)*(x + 1)
```
这里的 `(x + 1)` 和 `(x + 3)` 是一次因式,`(x + 1)` 是重复的因式,它们的乘积等于原多项式 f(x)。如果需要将这个结果化成嵌套的格式,可以使用 `expand` 函数展开多项式,然后手动把重复的因式嵌套。具体实现如下:
```
h = expand(g);
h = h / (x + 1);
h = h / (x + 3);
```
这里的 `expand` 函数可以展开多项式,将其展开成标准的多项式形式。然后,我们把重复的因式 `(x + 1)` 和 `(x + 3)` 嵌套起来,得到:
```
h = x + 1 + 1/(x + 3)
```
这就是把原多项式 f(x) 化成嵌套的格式的结果。
阅读全文