資源描述:
《MATLAB語言符號運算.ppt》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、2021/7/21matlabPage1第3章Matlab語言的符號運算【學(xué)習(xí)目標(biāo)】掌握基本符號運算能夠使用符號運算解決一般的微積分和方程求解問題。2021/7/21matlabPage2第3章Matlab語言的符號運算符號運算應(yīng)用于控制理論計算3.2基本符號運算3.13.1基本符號運算MATLAB自6.0版本以后,增加了符號數(shù)學(xué)工具箱(SymbolicMathToolbox)。它可以對符號表達(dá)式進(jìn)行運算處理,大大擴(kuò)展了MATLAB的應(yīng)用范圍。符號計算是指對未賦值的符號對象(可以是常數(shù)、變量、表達(dá)式)進(jìn)行運算和處理。與數(shù)值運算的區(qū)別:※
2、數(shù)值運算中必須先對變量賦值,然后才能參與運算?!栠\算無須事先對獨立變量賦值,運算結(jié)果以標(biāo)準(zhǔn)的符號形式表達(dá)。2021/7/21Page3matlab3.1.1符號對象的創(chuàng)建在MATLAB中的符號計算主要是對符號對象進(jìn)行操作的,在使用符號計算功能前,首先需要創(chuàng)建符號對象。本節(jié)主要介紹符號對象的創(chuàng)建,其中常用的符號對象主要包括符號常量和變量、符號表達(dá)式、符號矩陣。1.符號變量的創(chuàng)建在MATLAB中創(chuàng)建符號常量和變量的函數(shù)為sym()和syms(),兩函數(shù)的主要區(qū)別在于前者每次只能創(chuàng)建一個符號變量,而后者可以同時創(chuàng)建多個符號變量。2021/
3、7/21Page4matlabx=sym('x'):創(chuàng)建符號變量x,無需對變量x賦值,在以后的運算中直接對符號變量x進(jìn)行操作,返回的結(jié)果為帶符號的表達(dá)式,而非數(shù)值結(jié)果。x=sym('x','real'):創(chuàng)建符號變量x,并設(shè)置其為實體型。x=sym('x','unreal'):創(chuàng)建符號變量x,并設(shè)置其為非實體型。3.1.1符號對象的創(chuàng)建函數(shù)sym()的調(diào)用格式為:2021/7/21Page5matlab函數(shù)sym一次只能定義一個符號變量,使用不方便。MATLAB提供了另一個函數(shù)syms,一次可以定義多個符號變量。syms函數(shù)的一般調(diào)用格
4、式為:syms符號變量名1符號變量名2…符號變量名n用這種格式定義符號變量時不要在變量名上加字符串分界符(‘),變量間用空格而不要用逗號分隔。3.1.1符號對象的創(chuàng)建syms函數(shù)調(diào)用格式:2021/7/21Page6matlab3.1.1符號對象的創(chuàng)建>>x=sym('x')>>y=sym('y')例:>>symsxy>>z=x*x+y*yz=x^2+y^2>>a=5;b=3;c=a*a+b*bc=342021/7/21Page7matlab3.1.1符號對象的創(chuàng)建2.符號常量的創(chuàng)建不含變量的符號叫符號常量。符號常量的定義也使用函數(shù)sy
5、m()。例:>>a=sym(1/5)a=1/52021/7/21Page8matlab3.1.1符號對象的創(chuàng)建3.符號表達(dá)式的創(chuàng)建符號表達(dá)式為含有符號對象(符號常量、符號變量)的表達(dá)式,其創(chuàng)建方法如下:1.利用函數(shù)sym()直接創(chuàng)建sym(A):其中A為字符串的表達(dá)式,必須被單引號引用。2.利用符號對象創(chuàng)建符號表達(dá)式也可以通過創(chuàng)建的符號對象來實現(xiàn),當(dāng)把已定義的符號變量或者符號常量連接為表達(dá)式,即可完成符號表達(dá)式的創(chuàng)建。2021/7/21Page9matlab3.1.1符號對象的創(chuàng)建例:y1=sym('cos(x)')y1=cos(x)>
6、>x=sym('x')x=x>>y2=cos(x)y2=cos(x)2021/7/21Page10matlab3.1.1符號對象的創(chuàng)建4.符號矩陣的創(chuàng)建由符號對象構(gòu)建的矩陣為符號矩陣,符號矩陣的格式與一般的數(shù)據(jù)矩陣類似,其創(chuàng)建方法如下。利用函數(shù)sym()直接創(chuàng)建函數(shù)sym()的輸入為符號矩陣,矩陣各元素可以為符號常量、符號變量或者符號表達(dá)式,各元素的長度不要求一樣長。>>a=sym('[xx/5;sinxy]')a=[x,x/5][sinx,y]2021/7/21Page11matlab3.1.2符號運算符號表達(dá)式的代數(shù)運算與數(shù)值運算類
7、似,也可以通過“+”、“-”、“*”、“/”、“^”等運算符來實現(xiàn)。>>f=sym('x-2');>>g=sym('x^2+x-6');>>z1=f+gz1=2*x-8+x^2>>z2=f-gz2=4-x^2>>z3=f*gz3=(x-2)*(x^2+x-6)>>z4=f/gz4=(x-2)/(x^2+x-6)>>z5=f^2z5=(x-2)^22021/7/21Page12matlab3.1.2符號運算符號矩陣的代數(shù)運算包括一般的加、減、乘、除等四則運算。符號矩陣的代數(shù)運算是把矩陣當(dāng)作一個整體,按照代數(shù)運算的準(zhǔn)則進(jìn)行運算,其中的運算基
8、本同數(shù)值矩陣的運算規(guī)則。>>A=sym('[x^2y;x-yx]')A=[x^2,y][x-y,x]>>B=sym('[x+3x;x+yy]')B=[x+3,x][x+y,y]>>C=A+BC=[x^2+x