matlab应用——求极限,求导,求积分,解方程....更多内容尽在个人专栏:matlab学习
上一节我们算是简单了解了一下怎么用matlab解方程,这一节我么再回到多项式与符号计算。
符号计算中的多项式:
之前我们知道matlab通过系数矩阵进行多项式计算,这节我们再来看看用符号计算更直观的表示多项式。
简单代码(加减乘除):
syms f g x;
f=3*x^2+2*x+2;
g=3*x+1;
ans1=f+g;
ans2=f-g;
ans3=f*g;
ans4=f/g;
disp(ans1);disp(ans2);
disp(ans3),disp(ans4)
几乎都不用解释了,没有增加什么新的函数,我们直接来看看结果:
加减倒是没有什么问题,关键是这个乘除,好像算了和没算一样。
这里引入两个新函数expand()和factor()
先看expand(a)表示将多项式拆开(直接用白话说吧)
比如我们把这个代码改一下
ans3=f*g
ans3=expand(f*g)
结果:
这就ok了
下面重点介绍一下factor()函数
factor函数有两个用法,一个是进行因式分解
比如对这个多项式
因式分解之后应该成了
然后上一下代码:
syms a b;
s=a^3-b^3;
ans1=factor(s);
disp(ans1)
factor(s)就是对多项式s进行因式分解,返回值是个矩阵,代表因式分解的项
看一下结果:
就是这样
factor函数还有一个功能是分解质因数
比如一行代码ans=factor(12)
出来的结果就是
这样就将12的质因数全分解出来了。
这个功能可以进行质数判断
比如factor(13)=13
一个数的质因数只有自己本身这一个,那这个数就是质数(‘1’这个情况特殊考虑)
最后说一个函数simplify()
顾名思义,simplify,简化,这个函数就是将多项式进行化简
比如
化简之后就是a+b
那再看代码:
syms a b f g h
f=(a^2-b^2)/(a-b)
p=simplify(f)
simplify(f)就是对多项式f进行化简,输出结果就是p=a+b;
此外,simplify()其中参数也可以是多项式矩阵,对矩阵中的所有多项式依次进行化简
直接上代码吧:
syms a b f g h
f=(a^3-b^3)/(a-b)
g=(a^2-b^2)/(a+b)
h=a+3*b-2*b
p=[f,g,h]
ans2=simplify(p)
输出结果就是
这个一行三列的多项式矩阵中所有元素都被化简了,且每个多项式在矩阵中的位置不变
这一篇我们继续延伸了一下符号计算相关内容,下一节我们在说一说matlab中的一些常用函数,然后可能就要进入matlab画图环节了(挖了个大坑?)
欢迎喜欢的朋友点赞关注收藏啊:)