MATLAB多项式方程基础运算

在MATLAB中创建符号变量x,输入以下多项式。

n = ( x + 1 ) ( x − 2 ) ( x + 4 ) d = ( x + 3 ) ( x + 5 ) ( x − 1 ) n=(x + 1)(x - 2)(x + 4) \\ d=(x+3)(x+5)(x-1) n=(x+1)(x2)(x+4)d=(x+3)(x+5)(x1)

n=(x+1)*(x-2)*(x+4);
d=(x+3)*(x+5)*(x-1);

展开与分解因式

expand()

N=expand(n);D=expand(d);
N =
 
x^3 + 3*x^2 - 6*x - 8
D =
 
x^3 + 7*x^2 + 7*x - 15

或用collect()函数

N=collect(n);D=collect(d);

factor()

n=factor(N);d=factor(D);
n =
 
[ x + 4, x - 2, x + 1]
d =
 
[ x + 5, x - 1, x + 3]

转化符号x的多项式为数值向量

这一步可以不经过expand()等方法展开。

N=sym2poly(N);D=sym2poly(D);
N =

     1     3    -6    -8
D =

     1     7     7   -15

多项式四则运算

加减法

普普通通的向量加减法,返回值sum为两个多项式的和的系数向量。

sum=N+D;
sum =

     2    10     1   -23
sum=poly2sym(sum) 
sum =
 
2*x^3 + 10*x^2 + x - 23

乘法

多项式的乘法就是卷积运算。故conv()函数可以处理这类问题。

A=conv(N,D);
A =

     1    10    22   -44  -143    34   120
A=poly2sym(A) 
A =
 
x^6 + 10*x^5 + 22*x^4 - 44*x^3 - 143*x^2 + 34*x + 120

除法

[q,r]=deconv(N,D);
q =

     1
r =

     0    -4   -13     7

q为商,r为余。

多项式求根

RN=roots(N);RD=roots(D);
RN =

   -4.0000
    2.0000
   -1.0000
RD =

   -5.0000
   -3.0000
    1.0000

roots()返回根的行向量。

多项式微分

n*d的导数

[ ( x + 1 ) ( x − 2 ) ( x + 4 ) × ( x + 3 ) ( x + 5 ) ( x − 1 ) ] d x \mathrm [(x + 1)(x - 2)(x + 4)\times (x+3)(x+5)(x-1)]{d}x [(x+1)(x2)(x+4)×(x+3)(x+5)(x1)]dx

P=polyder(N,D);
P =

     6    50    88  -132  -286    34
P=poly2sym(P)     
P =
 
6*x^5 + 50*x^4 + 88*x^3 - 132*x^2 - 286*x + 34 

n/d的导数

[ ( x + 1 ) ( x − 2 ) ( x + 4 ) ( x + 3 ) ( x + 5 ) ( x − 1 ) ] d x \mathrm {\left [\frac{(x + 1)(x - 2)(x + 4)}{(x+3)(x+5)(x-1)} \right ]}{d}x [(x+3)(x+5)(x1)(x+1)(x2)(x+4)]dx

[p,q]=polyder(N,D);
[p,q]=polyder(N,D)

p =

     4    26    42    22   146
q =

     1    14    63    68  -161  -210   225
p=poly2sym(p)
p =
 
4*x^4 + 26*x^3 + 42*x^2 + 22*x + 146
q=poly2sym(q)
q =
 
x^6 + 14*x^5 + 63*x^4 + 68*x^3 - 161*x^2 - 210*x + 225     
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值