資源描述:
《Matlab 符號(hào)運(yùn)算(必讀).ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、Matlab符號(hào)運(yùn)算介紹Matlab符號(hào)運(yùn)算是通過(guò)符號(hào)數(shù)學(xué)工具箱(SymbolicMathToolbox)來(lái)實(shí)現(xiàn)的。Matlab符號(hào)運(yùn)算(二)符號(hào)對(duì)象的建立:sym和syms例:>>symsxyz>>x=sym(‘x’);>>y=sym(‘y’);>>z=sym(‘z’);<==>符號(hào)對(duì)象建立時(shí)可以附加屬性:real、positive和unreal>>k=sym('k','positive')>>x=sym('x','real')>>x=sym('x','unreal')表明x是實(shí)的Matlab符號(hào)運(yùn)算(二)表明k是
2、正的去掉x的附加屬性符號(hào)表達(dá)式的建立>>f2=sym(’sin(x)+cos(x)’)>>symsx>>f1=3*sin(x)+cos(x)>>f3=’sin(x)+cos(x)’用這種方法創(chuàng)建的符號(hào)表達(dá)式對(duì)空格很敏感,不要在字符間隨意添加空格!Matlab符號(hào)運(yùn)算(二)推薦!符號(hào)變量與符號(hào)常量>>a=sym(‘a(chǎn)’);>>b=sym(‘5’);>>c=sym(5);b、c有區(qū)別嗎?hint:helpsym相關(guān)函數(shù)findsym:查找符號(hào)表達(dá)式中的符號(hào)變量findsym(f)按字母順序列出符號(hào)表達(dá)式f中的所有自由變量
3、findsym(f,N)列出f中距離x最近的N個(gè)自由變量(i,j除外)默認(rèn)自變量=findsym(f,1)Matlab符號(hào)運(yùn)算(二)>>a=sym('a');x=sym('x');k=sym('3');>>f=k*x+a;>>findsym(f)例:ans=a,x相關(guān)函數(shù)subs:符號(hào)替換Matlab符號(hào)運(yùn)算(二)subs(f):用當(dāng)前工作空間中存在的變量值,替換f中所有出現(xiàn)的相同的變量,并進(jìn)行簡(jiǎn)化計(jì)算。subs(f,x,a):用a替換f中的x;a是可以是數(shù)/數(shù)值變量/表達(dá)式或符號(hào)變量/表達(dá)式。若x與a為相同大小的
4、向量或矩陣,則用a中相應(yīng)的元素替換x中的元素;若f,x為標(biāo)量,而a是向量或矩陣,則f與x將擴(kuò)展為與a相同形狀的向量或矩陣。例:>>symsxy>>f=2*x+y;>>x=3,y=4;>>subs(f)>>subs(f,x,’a’)Matlab符號(hào)運(yùn)算(二)>>symsxyab>>f=2*x+y;>>subs(f,[x,y],[3,4])>>subs(f,{x,y},{3,4})>>subs(f,x,[1:3])>>subs(f,{x,y},{[1:3],[5:7]})>>subs(f,{x,y},{a+b,a-b
5、})>>subs(f,{x,y},{x+y,x-y})ans=10ans=2*a+yans=10ans=[2+y,4+y,6+y]ans=[71013]ans=3*a+b?六大常見(jiàn)符號(hào)運(yùn)算因式分解、展開(kāi)、合并、簡(jiǎn)化及通分等Matlab符號(hào)運(yùn)算(二)因式分解:factor>>symsx>>f=x^6+1>>s=factor(f)s=(1+x^2)*(x^4-x^2+1)factor也可用于正整數(shù)的分解大整數(shù)的分解Matlab符號(hào)運(yùn)算(二)展開(kāi)函數(shù):expand多項(xiàng)式展開(kāi)Matlab符號(hào)運(yùn)算(二)三角函數(shù)展開(kāi)該函數(shù)經(jīng)常用
6、于多項(xiàng)式展開(kāi),也常用于三角函數(shù)、指數(shù)函數(shù)和對(duì)數(shù)函數(shù)的展開(kāi)中。合并同類項(xiàng):collectcollect(f,v):按指定變量v的次數(shù)合并系數(shù);collect(f):合并f中的默認(rèn)自變量的各項(xiàng)系數(shù)。Matlab符號(hào)運(yùn)算(二)findsym(f,1)簡(jiǎn)化函數(shù):simple和simplifysimple(f):對(duì)f嘗試多種不同的算法簡(jiǎn)化,返回其中最短的簡(jiǎn)化形式;[R,HOW]=simple(f):R為f的最短簡(jiǎn)化形式,HOW中記錄的為簡(jiǎn)化過(guò)程中使用的主要方法。Matlab符號(hào)運(yùn)算(二)fRHOW2*cos(x)^2-sin(
7、x)^23*cos(x)^2-1simplify(x+1)*x*(x-1)x^3-xcombine(trig)x^3+3*x^2+3*x+1(x+1)^3factorcos(3*acos(x))4*x^3-3*xexpandsimple函數(shù)示例simplify(f):簡(jiǎn)化函數(shù)Matlab符號(hào)運(yùn)算(二)注:多次使用simple可以達(dá)到最簡(jiǎn)表達(dá)。例:化簡(jiǎn)Matlab符號(hào)運(yùn)算(二)分式通分:numden[N,D]=numden(f):N為通分后的分子,D為通分后的分母Matlab符號(hào)運(yùn)算(二)horner多項(xiàng)式:嵌套形式的
8、多項(xiàng)式Matlab符號(hào)運(yùn)算(二)例:六大常見(jiàn)符號(hào)運(yùn)算因式分解、展開(kāi)、合并、簡(jiǎn)化及通分等Matlab符號(hào)運(yùn)算(二)計(jì)算極限limit(f,x,a):計(jì)算limit(f,a):計(jì)算默認(rèn)自變量趨向于a時(shí)f的極限limit(f):計(jì)算a=0時(shí)的極限limit(f,x,a,’right’):右極限limit(f,x,a,’left’):左極限例:求極限>