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