資源描述:
《《MATLAB的符號(hào)運(yùn)算》PPT課件.ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、第三講MATLAB的符號(hào)運(yùn)算——matlab不僅具有數(shù)值運(yùn)算功能,還開(kāi)發(fā)了在matlab環(huán)境下實(shí)現(xiàn)符號(hào)計(jì)算的工具包SymbolicMathToolbox符號(hào)運(yùn)算的功能符號(hào)表達(dá)式、符號(hào)矩陣的創(chuàng)建符號(hào)線性代數(shù)因式分解、展開(kāi)和簡(jiǎn)化符號(hào)代數(shù)方程求解符號(hào)微積分符號(hào)微分方程一、符號(hào)運(yùn)算的基本操作1.什么是符號(hào)運(yùn)算與數(shù)值運(yùn)算的區(qū)別※數(shù)值運(yùn)算中必須先對(duì)變量賦值,然后才能參與運(yùn)算。※符號(hào)運(yùn)算無(wú)須事先對(duì)獨(dú)立變量賦值,運(yùn)算結(jié)果以標(biāo)準(zhǔn)的符號(hào)形式表達(dá)。2.符號(hào)變量與符號(hào)表達(dá)式MATLAB提供了兩個(gè)建立符號(hào)對(duì)象的函數(shù):sym和syms,兩個(gè)函數(shù)的用
2、法不同。sym函數(shù)sym函數(shù)用來(lái)建立單個(gè)符號(hào)量,一般調(diào)用格式為:符號(hào)量名=sym('符號(hào)字符串')該函數(shù)可以建立一個(gè)符號(hào)量,符號(hào)字符串可以是常量、變量、函數(shù)或表達(dá)式。建立符號(hào)變量syms函數(shù)MATLAB提供了另一個(gè)函數(shù)syms,一次可以定義多個(gè)符號(hào)變量。syms函數(shù)的一般調(diào)用格式為:syms符號(hào)變量名1符號(hào)變量名2…符號(hào)變量名nNote:用這種格式定義符號(hào)變量時(shí)不要在變量名上加字符串分界符(‘),變量間用空格而不要用逗號(hào)分隔。建立符號(hào)表達(dá)式含有符號(hào)對(duì)象的表達(dá)式稱為符號(hào)表達(dá)式。建立符號(hào)表達(dá)式有以下3種方法:利用單引號(hào)來(lái)生成符
3、號(hào)表達(dá)式。用sym函數(shù)建立符號(hào)表達(dá)式。使用已經(jīng)定義的符號(hào)變量組成符號(hào)表達(dá)式。>>y=sym('2*sin(x)*cos(x)')y=2*sin(x)*cos(x)>>z='2*sin(x)*cos(x)'z=2*sin(x)*cos(x)例、例1:把字符表達(dá)式轉(zhuǎn)化為符號(hào)變量。>>y=sym('2*sin(x)*cos(x)')%把字符表達(dá)式轉(zhuǎn)化為符號(hào)變量y=2*sin(x)*cos(x)>>y=simple(y)%把y符號(hào)表達(dá)式化成最簡(jiǎn)形式y(tǒng)=sin(2*x)例2:求矩陣的行列式值、逆和特征根。>>symsa11a12a2
4、1a22;>>A=[a11,a12;a21,a22]A=[a11,a12][a21,a22]>>DA=det(A),IA=inv(A),EA=eig(A)DA=a11*a22-a12*a21IA=[a22/(a11*a22-a12*a21),-a12/(a11*a22-a12*a21)][-a21/(a11*a22-a12*a21),a11/(a11*a22-a12*a21)]EA=[1/2*a11+1/2*a22+1/2*(a11^2-2*a11*a22+a22^2+4*a12*a21)^(1/2)][1/2*a11+1
5、/2*a22-1/2*(a11^2-2*a11*a22+a22^2+4*a12*a21)^(1/2)]Note:采用symsa11a12a21a21定義符號(hào)變量時(shí),變量名之間只能用“空格符”隔離,不能采用逗號(hào)或分號(hào)。例3:驗(yàn)證積分:。>>symsAttaow;f=int(A*exp(-i*w*t),t,-tao/2,tao/2);f=i*A*(exp(-1/2*i*tao*w)-exp(1/2*i*tao*w))/w>>F=simple(f)F=2*A*sin(1/2*tao*w)/w數(shù)值矩陣A=[1,2;3,4]A=[a
6、,b;c,d]——不識(shí)別1)用matlab函數(shù)sym創(chuàng)建矩陣命令格式:A=sym('[]')※符號(hào)矩陣內(nèi)容同數(shù)值矩陣※需用sym指令定義※需用‘’標(biāo)識(shí)3.符號(hào)矩陣的創(chuàng)建例:A=sym('[a,2*b;3*a,0]')A=[a,2*b][3*a,0]這就完成了一個(gè)符號(hào)矩陣的創(chuàng)建。Note:符號(hào)矩陣的每一行的兩端都有方括號(hào),這是與matlab數(shù)值矩陣的一個(gè)重要區(qū)別。2)用字符串直接創(chuàng)建矩陣>>A=['[a,2*b]';'[3*a,0]']A=[a,2*b][3*a,0]>>B=[a,2*b;3*a,0]???Undefined
7、functionorvariable'a'.數(shù)值運(yùn)算中,所有矩陣運(yùn)算操作指令都比較直觀、簡(jiǎn)單。例如:a=b+c;a=a*b;A=2*a^2+3*a-5等。而符號(hào)運(yùn)算就不同了,所有涉及符號(hào)運(yùn)算的操作都可以用專用函數(shù)來(lái)進(jìn)行。這些函數(shù)作用于符號(hào)矩陣時(shí),是分別作用于矩陣的每一個(gè)元素。二、符號(hào)運(yùn)算1.符號(hào)矩陣運(yùn)算符號(hào)矩陣運(yùn)算的函數(shù):symadd(a,b)——符號(hào)矩陣的加symsub(a,b)——符號(hào)矩陣的減symmul(a,b)——符號(hào)矩陣的乘symdiv(a,b)——符號(hào)矩陣的除sympow(a,b)——符號(hào)矩陣的冪運(yùn)算symop
8、(a,b)——符號(hào)矩陣的綜合運(yùn)算例1:>>f='2*x^2+3*x-5';g='x^2+x-7';法①:>>h=symadd(f,g)%符號(hào)矩陣的加法運(yùn)算h=3*x^2+4*x-12法②:>>symsx>>f=2*x^2+3*x-5;g=x^2+x-7;>>h=f+gh=3*x^2+4*x-12例2:>