




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、MATLAB的符號計算 MATLAB的 符號計算 MATLAB的符號計算 教學目標 n本章將介紹MATLAB 的符號運算功能。 n通過對本章的學習,應掌握符號表達式和符號矩 陣的操作、符號微積分、符號線性方程和符號微 分方程等的運算。 MATLAB的符號計算 教學重點 n符號表達式和符號矩陣的操作 n符號微積分 n符號線性方程 n符號微分方程 MATLAB的符號計算 符號運算與數值運算的區(qū)別符號運算與數值運算的區(qū)別 數值運算中必須先對變量賦值數值運算中必須先對變量賦值,然后,然后 才能參與運算。才能參與運算。 符號運算無須事先對獨立變量賦值符號運算無須事先對獨立變量賦值, 運算結果以標準的符號
2、形式表達。運算結果以標準的符號形式表達。 MATLAB的符號計算 nMathWorks公司以公司以Maple的內核作為符號計算引的內核作為符號計算引 擎,依賴擎,依賴Maple已有的函數庫,開發(fā)了實現符號已有的函數庫,開發(fā)了實現符號 計算的兩個工具箱:基本符號工具箱和擴展符號計算的兩個工具箱:基本符號工具箱和擴展符號 工具箱工具箱. n使得使得matlab 不僅具有數值運算功能,還有符號計不僅具有數值運算功能,還有符號計 算的工具包算的工具包Symbolic Math Toolbox ,這個符號這個符號 計算工具包是通過調用計算工具包是通過調用Maple軟件實現符號計算軟件實現符號計算 的。的
3、。 nmaple軟件軟件主要功能是符號運算,它占據符主要功能是符號運算,它占據符 號軟件的主導地位。號軟件的主導地位。 MATLAB的符號計算 一、符號計算基礎 MATLAB的符號計算 (一)定義符號變量 n參與符號運算的對象可以是符號變量、符號表參與符號運算的對象可以是符號變量、符號表 達式或符號矩陣。達式或符號矩陣。 n符號變量要先定義,后引用。可以用符號變量要先定義,后引用??梢杂胹ym函數、函數、 syms函數將運算量定義為符號型數據。函數將運算量定義為符號型數據。 n引用符號運算函數時,可以指定函數執(zhí)行過程引用符號運算函數時,可以指定函數執(zhí)行過程 中的變量參數;若沒有指定變量參數,則
4、使用中的變量參數;若沒有指定變量參數,則使用 findsym函數默認的變量作為函數的變量參數。函數默認的變量作為函數的變量參數。 MATLAB的符號計算 1、sym函數 n sym函數的主要功能是創(chuàng)建函數的主要功能是創(chuàng)建單個符號變量,符號字符單個符號變量,符號字符 串可以是常量、變量、函數或表達式串可以是常量、變量、函數或表達式,也可以用于創(chuàng),也可以用于創(chuàng) 建符號表達式或符號矩陣。用建符號表達式或符號矩陣。用sym函數創(chuàng)建符號變量函數創(chuàng)建符號變量 的一般格式為:的一般格式為: x = sym(x) n目的是將目的是將x創(chuàng)建為符號變量,以創(chuàng)建為符號變量,以x作為輸出變量名。作為輸出變量名。 每次
5、調用該函數每次調用該函數, 可以定義一個符號變量可以定義一個符號變量。 MATLAB的符號計算 【例】作符號計算:作符號計算: na,b,x,ya,b,x,y均為符號運算量。在符號運算前,應先均為符號運算量。在符號運算前,應先 將將a,b,x,ya,b,x,y定義為符號運算量定義為符號運算量 na=sym(a); % %定義定義a a為符號運算量,輸出變量為符號運算量,輸出變量 名為名為a a nb=sym(b); x=sym(x); ny=sym(y); %(后面會介紹同時定義多個符號后面會介紹同時定義多個符號 運算量的命令運算量的命令) nx,y=solve(a*x-b*y-1,a*x+b
6、*y-5,x,y) %以以a,b為符號常數,為符號常數,x,y為符號變量為符號變量 即可得到方程組的解:即可得到方程組的解:x =3/a,y =2/b 1 5 byax byax MATLAB的符號計算 說明:說明: 如如f = sin(x)+5x,其中,其中 f 符號變量名符號變量名 sin(x)+5x 符號表達式符號表達式 符號標識符號標識 v符號表達式一定要用符號表達式一定要用 單引號括起來單引號括起來matlab 才能識別。才能識別。 MATLAB的符號計算 的內容可以是符號表達式,也可以是符號的內容可以是符號表達式,也可以是符號 方程。方程。 例:例: f1=a x2+b x+c 二
7、次三項式二次三項式 f2= a x2+b x+c=0 方程方程 f3=Dy+y2=1 微分方程微分方程 符號表達式或符號方程可以賦給符號變量,以符號表達式或符號方程可以賦給符號變量,以 后調用方便;也可以不賦給符號變量直接參與運后調用方便;也可以不賦給符號變量直接參與運 算算 MATLAB的符號計算 2、syms函數 n函數函數sym一次只能定義一個符號變量,使用不方一次只能定義一個符號變量,使用不方 便。便。MATLAB提供了另一個函數提供了另一個函數syms,一次可,一次可 以定義多個符號變量。以定義多個符號變量。syms函數的功能與函數的功能與sym 函數類似,其一般格式為:函數類似,其
8、一般格式為: syms arg1 arg2 argN n用于將用于將arg1, arg2,argN等符號創(chuàng)建為符號型等符號創(chuàng)建為符號型 數據。數據。 n用這種格式定義符號變量時不要在變量名上加字用這種格式定義符號變量時不要在變量名上加字 符串分界符符串分界符(),變量間用空格而不要用逗號分隔。,變量間用空格而不要用逗號分隔。 MATLAB的符號計算 (二)默認符號變量 n在數學表達式中,一般習慣于使用排在字母表在數學表達式中,一般習慣于使用排在字母表 中前面的字母作為變量的系數,而用排在后面中前面的字母作為變量的系數,而用排在后面 的字母表示變量。例如:的字母表示變量。例如: f=ax2+bx
9、+c n表達式中的表達式中的a,b,c通常被認為是常數,用作變量通常被認為是常數,用作變量 的系數;而將的系數;而將x看作自變量??醋髯宰兞俊?MATLAB的符號計算 例如,數學表達式例如,數學表達式 f=xn g=sin(at+b) n根據數學式中表示自變量的習慣,默認根據數學式中表示自變量的習慣,默認a,b,c為符號常為符號常 數,數,x為符號變量。為符號變量。 n若在若在MATLAB中表示上述表達式,首先用中表示上述表達式,首先用syms 函數函數 定義定義a,b,n,t,x為符號對象。在進行導數運算時,為符號對象。在進行導數運算時, 由于沒有指定符號變量,則系統(tǒng)采用數學習慣來確定由于沒
10、有指定符號變量,則系統(tǒng)采用數學習慣來確定 表達式中的自變量,默認表達式中的自變量,默認a,b,c為符號常數,為符號常數,x,t為符為符 號變量。號變量。 即即 : 對函數對函數f求導為:求導為:df/dx 對函數對函數g求導為:求導為:dg/dt MATLAB的符號計算 (三三) 符號變量的基本操作符號變量的基本操作 nfindsym函數用于尋找符號變量函數用于尋找符號變量 n數值型變量與符號型變量的轉換形式數值型變量與符號型變量的轉換形式 MATLAB的符號計算 符號表達式中變量的確定符號表達式中變量的確定 n為了了解函數引用過程中使用的符號變量個數及為了了解函數引用過程中使用的符號變量個數
11、及 變量名,可以用變量名,可以用findsym函數查詢默認的變量。函數查詢默認的變量。 該函數的引用格式為:該函數的引用格式為:findsym(f, n) n該該函數返回符號表達式函數返回符號表達式f中的中的n個符號變量個符號變量. nf為用戶定義的符號函數,為用戶定義的符號函數,n為正整數,表示查詢?yōu)檎麛?,表示查?變量的個數。變量的個數。n=i表示查詢表示查詢i個系統(tǒng)默認變量。個系統(tǒng)默認變量。n 值省略時表示查詢符號函數中全部系統(tǒng)默認變量。值省略時表示查詢符號函數中全部系統(tǒng)默認變量。 MATLAB的符號計算 例例 用用findsym函數尋找符號變量函數尋找符號變量 n syms a al
12、pha b x1 y n findsym(alpha+a+b) nans = a, alpha, b n findsym(cos(alpha)*b*x1 + 14*y,2) nans = x1,y n findsym(y*(4+3*i) + 6*j) nans = y MATLAB的符號計算 例例 查詢符號函數查詢符號函數f=xn, g=sin(at+b)中的系統(tǒng)默中的系統(tǒng)默 認變量。認變量。 nsyms a b n t x %定義符號變量定義符號變量 nf=xn; %給定符號函數給定符號函數 ng=sin(a*t+b); nfindsym(f,1) %在在f函數中查詢函數中查詢1個系統(tǒng)默認變
13、量個系統(tǒng)默認變量 nans= x 表示表示f函數中查詢的函數中查詢的1個系統(tǒng)默認變量為個系統(tǒng)默認變量為x。 MATLAB的符號計算 (四)(四) 符號表達式符號表達式 含有符號對象的表達式稱為符號表達式。建立符號表達含有符號對象的表達式稱為符號表達式。建立符號表達 式有以下式有以下3種方法:種方法: (1)利用單引號來生成符號表達式。利用單引號來生成符號表達式。 (2)用用sym函數建立符號表達式。函數建立符號表達式。 (3) 使用已經定義的符號變量組成符號表達式。使用已經定義的符號變量組成符號表達式。 MATLAB的符號計算 n符號表達式由符號變量、函數、算術運算符等組成。符號表達式由符號變
14、量、函數、算術運算符等組成。 符號表達式的書寫格式與數值表達式相同。例如符號表達式的書寫格式與數值表達式相同。例如,數學數學 表達式表達式 其符號表達式為:其符號表達式為: 1+sqr(5*x)/2 n注意,在定義表達式前應先將表達式中的字符注意,在定義表達式前應先將表達式中的字符x定義為定義為 符號變量。符號變量。 2 51x MATLAB的符號計算 生成符號函數生成符號函數 n將表達式中的自變量定義為符號變量后,賦值將表達式中的自變量定義為符號變量后,賦值 給符號函數名,即可生成符號函數。例如有一給符號函數名,即可生成符號函數。例如有一 數學表達式:數學表達式: 用符號表達式生成符號函數用
15、符號表達式生成符號函數fxy的過程為:的過程為: n syms a b c x y %定義符號運算量定義符號運算量 n fxy=(a*x2+b*y2)/c2 %生成符號函數生成符號函數 生成符號函數生成符號函數fxy后,即可用于微積分等符號后,即可用于微積分等符號 計算。計算。 2 22 ),( c byax yxf MATLAB的符號計算 例例 定義一個符號函數定義一個符號函數 fxy=fxy=(a*x2+b*y2)/c2 ,分,分 別求該函數對別求該函數對x、y的導數和對的導數和對x的積分。的積分。 nsyms a b c x y %定義符號變量定義符號變量 nfxy=(a*x2+b*y2
16、)/c2; %生成符號函數生成符號函數 ndiff(fxy,x) %符號函數符號函數fxy對對x求導數求導數 ans =2*a*x/c2 ndiff(fxy, y) %符號函數符號函數fxy對對y求導數求導數 ans =2*b*y/c2 nint(fxy, x) %符號函數符號函數fxy對對x求積分求積分 ans =1/c2*(1/3*a*x3+b*y2*x) MATLAB的符號計算 (五五)符號表達式符號表達式(符號函數符號函數)的操作的操作 n符號表達式的四則運算符號表達式的四則運算 n合并符號表達式的同類項合并符號表達式的同類項 n符號多項式的因式分解符號多項式的因式分解 n符號表達式的
17、簡化符號表達式的簡化 nsubs函數用于替換求值函數用于替換求值 n反函數的運算反函數的運算 n復合函數的運算復合函數的運算 MATLAB的符號計算 1、符號表達式的四則運算、符號表達式的四則運算 n符號表達式的加、減、乘、除運算符號表達式的加、減、乘、除運算 n syms x y a b n fun1=sin(x)+cos(y) n fun2=a+b n fun1+fun2 nans = sin(x)+cos(y)+a+b nfun1*fun2 nans = (sin(x)+cos(y)*(a+b) MATLAB的符號計算 2、合并符號表達式的同類項、合并符號表達式的同類項 collect(
18、s):對符號表達式:對符號表達式s合并同類項。合并同類項。 collect(s,v):對符號表達式:對符號表達式s按變量按變量v合并同類項。合并同類項。 n syms x y n collect(x2*y + y*x - x2 - 2*x) n ans = (y-1)*x2+(y-2)*x n f = -1/4*x*exp(-2*x)+3/16*exp(-2*x); n collect(f) n ans = -1/4*x*exp(-2*x)+3/16*exp(-2*x) MATLAB的符號計算 3符號表達式的因式分解與展開符號表達式的因式分解與展開 MATLAB提供了符號表達式的因式分解與展開
19、的函提供了符號表達式的因式分解與展開的函 數,函數的調用格式為:數,函數的調用格式為: factor(s):對符號表達式:對符號表達式s分解因式。分解因式。 expand(s):對符號表達式:對符號表達式s進行展開。進行展開。 MATLAB的符號計算 因式分解因式分解 factor函數的功能為:把多項式函數的功能為:把多項式S分解為多分解為多 個因式,各多項式的系數均為有理數。格式為:個因式,各多項式的系數均為有理數。格式為: factor(s) 例、將表達式例、將表達式(x9-1)分解為多個因式。分解為多個因式。 nsyms x nfactor(x9-1) ans = (x-1)*(x2+x
20、+1)*(x6+x3+1) MATLAB的符號計算 4.嵌套嵌套 將符號多項式將符號多項式s用嵌套形式表示,即用多層括用嵌套形式表示,即用多層括 號的形式表示。號的形式表示。Horner函數可以實現此功能。函數可以實現此功能。 該函數的格式為:該函數的格式為:horner(s) 【例例】將表達式將表達式x3-6*x2+11*x-6用嵌套形式表用嵌套形式表 示。示。 nsyms x nhorner(x3-6*x2+11*x-6) ans = -6+(11+(-6+x)*x)*x MATLAB的符號計算 5符號表達式的化簡符號表達式的化簡 MATLAB提供的對符號表達式化簡的函數有:提供的對符號表
21、達式化簡的函數有: simplify(s):應用函數規(guī)則對:應用函數規(guī)則對s進行化簡。進行化簡。 simple(s):調用:調用MATLAB的其他函數對表達式進行綜合化的其他函數對表達式進行綜合化 簡,并顯示化簡過程。簡,并顯示化簡過程。 n syms x n fun1=(1/x+7/x2+12/x+8)(1/3) n sfy1=simplify(fun1) nsfy1 = (13*x+7+8*x2)/x2)(1/3) MATLAB的符號計算 6、subs函數用于替換求值函數用于替換求值 n syms x y nf = x2*y + 5*x*sqrt(y) n subs(f, x, 3) na
22、ns = 9*y+15*y(1/2) n subs(f, y, 3) nans = 3*x2+5*x*3(1/2) MATLAB的符號計算 又如 nsubs(a+b,a,4) returns 4+b. n subs(cos(a)+sin(b),a,b,sym(alpha),2) returns cos(alpha)+sin(2) n subs(exp(a*t),a,-magic(2) returns exp(-t), exp(-3*t) exp(-4*t), exp(-2*t) MATLAB的符號計算 7、復合函數的運算、復合函數的運算 (compose) n syms x y z t u n
23、 f = 1/(1 + x2) n g = sin(y) n h = xt n p = exp(-y/u) n compose(f,g) nans = 1/(1+sin(y)2) n compose(f,g,t) nans = 1/(1+sin(t)2) MATLAB的符號計算 8、符號表達式的提取分子和分母運算、符號表達式的提取分子和分母運算 如果符號表達式是一個有理分式或可以展開為如果符號表達式是一個有理分式或可以展開為 有理分式,可利用有理分式,可利用numden函數來提取符號表達式函數來提取符號表達式 中的分子或分母。其一般調用格式為:中的分子或分母。其一般調用格式為: n,d=num
24、den(s) 該函數提取符號表達式該函數提取符號表達式s的分子和分母,分別將的分子和分母,分別將 它們存放在它們存放在n與與d中。中。 MATLAB的符號計算 (六)符號矩陣的生成和運算(六)符號矩陣的生成和運算 符號矩陣也是一種符號表達式,前面介紹的符號表達式符號矩陣也是一種符號表達式,前面介紹的符號表達式 運算都可以在矩陣意義下進行。但應注意這些函數作用于運算都可以在矩陣意義下進行。但應注意這些函數作用于 符號矩陣時,是分別作用于矩陣的每一個元素。符號矩陣時,是分別作用于矩陣的每一個元素。 由于符號矩陣是一個矩陣,所以符號矩陣還能進行有關由于符號矩陣是一個矩陣,所以符號矩陣還能進行有關 矩
25、陣的運算。矩陣的運算。MATLAB還有一些專用于符號矩陣的函數,還有一些專用于符號矩陣的函數, 這些函數作用于單個的數據無意義。例如這些函數作用于單個的數據無意義。例如 transpose(s):返回:返回s矩陣的轉置矩陣。矩陣的轉置矩陣。 determ(s):返回:返回s矩陣的行列式值。矩陣的行列式值。 許多應用于數值矩陣的函數,如許多應用于數值矩陣的函數,如diag、triu、tril、inv、 det、rank、eig等,也可直接應用于符號矩陣。等,也可直接應用于符號矩陣。 MATLAB的符號計算 1、符號矩陣的創(chuàng)建、符號矩陣的創(chuàng)建 數值矩陣數值矩陣A=1,2;3,4 A=a,b;c,d
26、 不識別不識別 用用matlab函數函數sym創(chuàng)建矩陣(創(chuàng)建矩陣(symbolic 的縮寫的縮寫),命令格式:,命令格式:A=sym( ) 符號矩陣內容同數值矩陣符號矩陣內容同數值矩陣 需用需用sym指令定義指令定義 需用需用 標識標識 MATLAB的符號計算 例如:例如:A = sym(a , 2*b ; 3*a , 0) A = a, 2*b 3*a, 0 這就完成了一個符號矩陣的創(chuàng)建。這就完成了一個符號矩陣的創(chuàng)建。 注意:符號矩陣的每一行的兩端都有方括號,這注意:符號矩陣的每一行的兩端都有方括號,這 是與是與 matlab數值矩陣的一個重要區(qū)別。數值矩陣的一個重要區(qū)別。 MATLAB的符
27、號計算 又如用又如用sym函數直接生成符號矩陣函數直接生成符號矩陣 n a1=sym(1/3 2/3 5/7;9/11 11/13 13/17;17/19 19/23 23/29) na1 = 1/3, 2/3, 5/7 9/11, 11/13, 13/17 17/19, 19/23, 23/29 MATLAB的符號計算 用字符串直接創(chuàng)建矩陣用字符串直接創(chuàng)建矩陣 v 模仿模仿matlab數值矩陣的創(chuàng)建方法數值矩陣的創(chuàng)建方法 v 需保證同一列中各元素字符串有相同的長度。需保證同一列中各元素字符串有相同的長度。 例:例:A = a,2*b; 3*a, 0 A = a, 2*b 3*a, 0 MAT
28、LAB的符號計算 符號矩陣的修改符號矩陣的修改 v a.直接修改直接修改 用用 、 鍵找到所要修改的矩陣,直接修改鍵找到所要修改的矩陣,直接修改 v b.指令修改指令修改 用用A1=subs(A, new, old)來修改來修改 MATLAB的符號計算 例如:例如:A = a, 2*b 3*a, 0 A1=subs(A, c, b) A1 = a, 2*c 3*a, 4*c MATLAB的符號計算 2、用生成子矩陣的方法生成符號矩陣、用生成子矩陣的方法生成符號矩陣 n a=100,cos(x);1/s,x na = 100,cos(x) 1/s,x MATLAB的符號計算 3、由數值矩陣轉換為
29、符號矩陣、由數值矩陣轉換為符號矩陣 n M=30 1 1 1;6 1 5 9;9 8 25 4;32 45 62 0 n S=sym(M) nS = 30, 1, 1, 1 6, 1, 5, 9 9, 8, 25, 4 32, 45, 62, 0 n此時,雖然矩陣形式此時,雖然矩陣形式 沒有發(fā)生改變,但是沒有發(fā)生改變,但是 在在MATLAB 的工作區(qū)的工作區(qū) 間內,系統(tǒng)已經生成間內,系統(tǒng)已經生成 了一個新的矩陣,其了一個新的矩陣,其 數據類型為符號型。數據類型為符號型。 MATLAB的符號計算 v將數值矩陣轉化為符號矩陣調用函數:將數值矩陣轉化為符號矩陣調用函數:sym(A) A=1/3,2.
30、5;1/0.7,2/5 A = 0.3333 2.5000 1.4286 0.4000 sym(A) ans = 1/3, 5/2 10/7, 2/5 符號矩陣與數值矩陣的轉換符號矩陣與數值矩陣的轉換 MATLAB的符號計算 符號矩陣運算符號矩陣運算 數值運算中,所有矩陣運算操作指令都比較直數值運算中,所有矩陣運算操作指令都比較直 觀、簡單。例如:觀、簡單。例如:a=b+c; a=a*b ;A=2*a2+3*a-5 等。等。 而符號運算就不同了,所有涉及符號運算的操作而符號運算就不同了,所有涉及符號運算的操作 都有專用函數來進行都有專用函數來進行 4、符號運算、符號運算 MATLAB的符號計算
31、 符號矩陣的秩符號矩陣的秩 (rank) n a=sym(1,1/x,x2;sin(x),cos(x),tan(x);log(x),2,9) na = 1, 1/x, x2 sin(x), cos(x), tan(x) log(x), 2, 9 n rank(a) nans = 3 MATLAB的符號計算 二、微積分 MATLAB的符號計算 (一)(一) 微積分函數微積分函數 1.求極限求極限 函數函數limit用于求符號函數用于求符號函數f的極限。系統(tǒng)可的極限。系統(tǒng)可 以根據用戶要求,計算變量從不同方向趨近于以根據用戶要求,計算變量從不同方向趨近于 指定值的極限值。該函數的格式及功能:指定值
32、的極限值。該函數的格式及功能: n limit(f,x,a):求符號函數:求符號函數 f(x)的極限值。即)的極限值。即 計算當變量計算當變量 x 趨近于常數趨近于常數 a 時,時,f(x)函數的)函數的 極限值。極限值。 n limit(f,a):求符號函數:求符號函數 f(x)的極限值。由)的極限值。由 于沒有指定符號函數于沒有指定符號函數 f(x)的自變量,則使用)的自變量,則使用 該格式時,該格式時,f(x)的變量為函數)的變量為函數 findsym(f) 確確 定的默認自變量,即變量定的默認自變量,即變量 x 趨近于趨近于 a。 MATLAB的符號計算 nlimit(f):求符號函數
33、:求符號函數 f(x)的極限值。符號函)的極限值。符號函 數數 f(x)的變量為函數)的變量為函數findsym(f)確定的默認確定的默認 變量;沒有指定變量的目標值時,系統(tǒng)默認變變量;沒有指定變量的目標值時,系統(tǒng)默認變 量趨近于量趨近于0,即,即a=0的情況。的情況。 nlimit(f,x,a,right):求符號函數:求符號函數f的極限值。的極限值。 right表示變量表示變量x從右邊趨近于從右邊趨近于a。 nlimit(f,x,a,left):求符號函數:求符號函數f的極限值。的極限值。left 表示變量表示變量x從左邊趨近于從左邊趨近于a。 MATLAB的符號計算 例例 求極限求極限
34、nsyms x; %定義符號變量定義符號變量 nf=(x*(exp(sin(x)+1)-2*(exp(tan(x)- 1)/sin(x)3; %確定符號表達式確定符號表達式 nw=limit(f) %求函數的極限求函數的極限 w = -1/2 x eex tgxx x 3 sin 0 sin ) 1(2) 1( lim MATLAB的符號計算 例:例: syms x; f=x*(sqrt(x2+1)-x); limit(f,x,inf,left) ans = 1/2 例:例: syms x; f=(sqrt(x)-sqrt(2)-sqrt(x-2)/sqrt(x*x-4); limit(f,x
35、,2,right) ans = -1/2 MATLAB的符號計算 2. 微分函數微分函數 ndiff函數用于對符號表達式函數用于對符號表達式s求微分。該函數的一般引求微分。該函數的一般引 用格式為:用格式為: diff(s,v,n) 說明:說明: nDiff(s)沒有指定微分變量和微分階數,則系統(tǒng)按沒有指定微分變量和微分階數,則系統(tǒng)按 findsym函數的默認變量對符號表達式函數的默認變量對符號表達式s求一階微分。求一階微分。 nDiff(s,v) 或或 diff(s,sym(v) 格式表示以格式表示以v為自變?yōu)樽宰?量,對符號表達式量,對符號表達式s求一階微分。求一階微分。 ndiff(s,
36、n)格式,表示對符號表達式格式,表示對符號表達式s求求n階微分,階微分,n為為 正整數。正整數。 ndiff(s,v,n)diff(s,n,v) 格式,表示以格式,表示以v為自為自 變量,對符號表達式變量,對符號表達式 s 求求 n 階微分。階微分。 MATLAB的符號計算 例例 求導數求導數: nx = sym(x); %定義符號變量 ndiff(sin(x2) %求導運算 ans = 2*cos(x2)*x dx xd 2 sin MATLAB的符號計算 3積分函數積分函數 n積分函數積分函數int(s ,v,a,b)可以對被積函數或符號可以對被積函數或符號 表達式表達式s求積分。其引用格
37、式為:求積分。其引用格式為: int(s ,v,a,b) n應用應用int(s)格式,表示沒有指定積分變量和積分)格式,表示沒有指定積分變量和積分 階數時,系統(tǒng)按階數時,系統(tǒng)按findsym函數指示的默認變量對被函數指示的默認變量對被 積函數或符號表達式積函數或符號表達式s求一階積分。求一階積分。 n應用應用int(s,v)格式,表示以)格式,表示以v為自變量,對被積為自變量,對被積 函數或符號表達式函數或符號表達式s求一階不定積分。求一階不定積分。 n應用積分函數時,如果給定應用積分函數時,如果給定 a、b兩項,表示是進兩項,表示是進 行定積分運算。行定積分運算。a、b分別表示定積分的下限和
38、上限。分別表示定積分的下限和上限。 不指定積分的下限和上限表示求不定積分。不指定積分的下限和上限表示求不定積分。 MATLAB的符號計算 int(被積表達式,積分變量,積分上限, 積分下限) 定積分 缺省時為不定積分 MATLAB的符號計算 例 求積分: nsyms x nint(1/(1+x2) ans = atan(x) dx x 2 1 1 MATLAB的符號計算 例例.計算二重不定積分計算二重不定積分 dxdyxe xy F=int(int(x*exp(-x*y),x),y) F= 1/y*exp(-x*y) MATLAB的符號計算 4 .積分變換積分變換 常見的積分變換有傅立葉變換、
39、拉普拉斯變換常見的積分變換有傅立葉變換、拉普拉斯變換 和和Z變換。變換。 ztrans(f) Z變換變換 Invztrans(f) 反反Z變換變換 Laplace(f) 拉氏變換拉氏變換 Invlaplace(f) 反拉氏變換反拉氏變換 fourier(f) 傅氏變換傅氏變換 Invfourier(f) 反傅氏變換反傅氏變換 MATLAB的符號計算 5. 級數級數(級數求和級數求和) 級數求和運算是數學中常見的一種運算。例如級數求和運算是數學中常見的一種運算。例如 f(x)=a0+a1x+a2x2+a3x3+anxn。 。求無窮級數的和 求無窮級數的和 需要符號表達式求和函數需要符號表達式求和
40、函數symsum。 該函數的引用格式為:該函數的引用格式為:symsum(s, a, b)級數的通級數的通 項式項式s,變量的變化范圍,變量的變化范圍a和和b?;蚧?symsum(s,v,n,m) s表示一個級數的通項,是一個符號表達式。表示一個級數的通項,是一個符號表達式。v是求是求 和變量,和變量,v省略時使用系統(tǒng)的默認變量。省略時使用系統(tǒng)的默認變量。n和和m是求是求 和的開始項和末項。和的開始項和末項。 MATLAB的符號計算 例、求級數的和例、求級數的和 1/1 12 2+1/2+1/22 2+1/3+1/32 2+1/4+1/42 2+ + nsyms k nsymsum(1/k2,
41、1,Inf) %k值為1到無窮大 ans = 1/6*pi2 結果為:1/12+1/22+1/32+1/42+ =2/6 MATLAB的符號計算 函數的泰勒級數函數的泰勒級數 MATLAB提供了提供了taylor函數將函數展開為冪級函數將函數展開為冪級 數,其調用格式為:數,其調用格式為:taylor(f,v,n,a) 該函數將函數該函數將函數f按變量按變量v展開為泰勒級數,展開到展開為泰勒級數,展開到 第第n項項(即變量即變量v的的n-1次冪次冪)為止,為止,n的缺省值為的缺省值為6。V 的缺省值與的缺省值與diff函數相同。參數函數相同。參數a指定將函數指定將函數f在自變在自變 量量v=a
42、處展開,處展開,a的缺省值是的缺省值是0。 或是或是mtaylor(f,n) 泰勒級數展開泰勒級數展開 MATLAB的符號計算 三、解方程 MATLAB的符號計算 1、符號方程求解、符號方程求解 matlab符號運算能夠解一般的線性方程、非線符號運算能夠解一般的線性方程、非線 性方程及一般的性方程及一般的代數方程、代數方程組代數方程、代數方程組。當方程。當方程 組不存在符號解時,又無其他自由參數,則給出組不存在符號解時,又無其他自由參數,則給出 數值解。數值解。 (1)符號代數方程求解)符號代數方程求解 在在MATLAB中,求解用符號表達式表示的代數方中,求解用符號表達式表示的代數方 程可由函
43、數程可由函數solve實現,其調用格式為:實現,其調用格式為: solve(s):求解符號表達式:求解符號表達式s的代數方程,求解變量的代數方程,求解變量 為默認變量。為默認變量。 solve(s,v):求解符號表達式:求解符號表達式s的代數方程,求解變量的代數方程,求解變量 為為v。 MATLAB的符號計算 solve(s1,s2,sn,v1,v2,vn):求解符號表達式:求解符號表達式 s1,s2,sn組成的代數方程組,求解變量分別組成的代數方程組,求解變量分別 v1,v2,vn。 說明:說明: 若不指明符號表達式若不指明符號表達式 s1,s2,.,sn的值,系統(tǒng)的值,系統(tǒng) 默認為默認為0
44、。例如給出一個表達式。例如給出一個表達式x2-3*x-8,則系則系 統(tǒng)將按統(tǒng)將按x2-3*x-8=0進行運算進行運算. MATLAB的符號計算 例、解代數方程:例、解代數方程:a a* *x x2 2-b-b* *x-6=0.x-6=0. nsyms a b x nsolve(a*x2-b*x-6) ans = 1/2/a*(b+(b2+24*a)(1/2) 1/2/a*(b-(b2+24*a)(1/2) n即該方程有兩個根即該方程有兩個根: x1=1/2/a*(b+(b2+24*a)(1/2); x2=1/2/a*(b-(b2+24*a)(1/2) MATLAB的符號計算 例例. f = a
45、x2+bx+c 求解求解 f=a*x2+b*x+c; solve(f) 對缺省變量對缺省變量x求解求解 ans =1/2/a*(-b+(b2-4*a*c)(1/2) 1/2/a*(-b-(b2-4*a*c)(1/2) solve(f , b ) 對指定變量對指定變量b求解求解 ans = -(a*x2+c)/x 計算機 格式 a acbb 2 4 2 一般格式 MATLAB的符號計算 例例. 求符號方程求符號方程tan(2*x)=sin(x)的解的解 f2=solve(tan(2*x)=sin(x) nf2 =%matlab4.2的解的解 0 acos(1/2+1/2*3(1/2) acos(
46、1/2 -1/2*3(1/2) MATLAB的符號計算 f3=solve(tan(2*x)=sin(x) f3= matlab6.5的解的解 0 pi atan(1/2*(-2*3(1/2)(1/2),1/2+1/2*3(1/2) atan(-1/2*(-2*3(1/2)(1/2),1/2+1/2*3(1/2) atan(1/2*2(1/2)*3(1/4)/(1/2-1/2*3(1/2)+pi -atan(1/2*2(1/2)*3(1/4)/(1/2-1/2*3(1/2)-pi MATLAB的符號計算 numeric(f3) ans = 0 3.1416 0 + 0.8314i 0 - 0.8314i 1.9455 -1.9455 numeric(f2) ans = 0
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- TSHJMRH 0064-2024 在用潤滑油磨損金屬和污染物元素的測定 旋轉圓盤電極原子發(fā)射光譜法
- 二零二五年度車展活動展位搭建與品牌宣傳合同
- 二零二五年度超市店長入股合作協議書
- 2025年度餐廳員工勞動合同保密條款
- 2025年度生態(tài)停車場建設與養(yǎng)護承包服務合同
- 二零二五年度個人債權轉讓及債務重組執(zhí)行協議
- 二零二五年度商標注冊申請代理合同
- 2025年度老房子買賣合同解除與補償協議
- 二零二五年度銀行與融資擔保機構物流產業(yè)融資擔保合作協議
- 二零二五年度生態(tài)農業(yè)發(fā)展借貸合同范本
- richcui美國sspc富鋅底漆解讀
- IATF169492016內部審核報告范例
- (7.1.19)-日本園林-以京都龍安寺為例
- 新版GMP解讀(無菌制劑)-課件
- 人教版高中地理必修一全冊測試題(16份含答案)
- 成果導向(OBE)教育理念課件
- 交通運輸概論全套PPT完整教學課件
- 第四屆博德世達杯全國石油工程知識競賽樣題及答案模板
- 西北工業(yè)大學英文簡介
- 宋錦的形成和興起
- 《動畫場景設計》第一章 動畫場景設計概述
評論
0/150
提交評論