




已閱讀5頁,還剩39頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
第5章 符號計算 (1),MATLAB 7.X程序設計,2/44,主要內(nèi)容:,創(chuàng)建符號常量和變量; 符號多項式的運算; 符號微積分的計算; 符號積分變換的計算; 符號微分方程和代數(shù)方程的求解。,MATLAB 7.X程序設計,3/44,5.1 符號計算基礎,5.1.1 概述 符號計算的特點: 1)符號計算定義在符號變量的基礎上,符號表達式計算前必須定義符號變量。 2)符號計算是精確計算。 3)符號計算的計算速度較慢。 4)符號計算的運算符和基本數(shù)學函數(shù)與數(shù)值計算中的運算符和基本數(shù)學函數(shù)幾乎完全相同。,MATLAB 7.X程序設計,4/44,5.1.2 創(chuàng)建符號常量,sym函數(shù)創(chuàng)建符號常量,格式1為: sym(常量),例5-1 創(chuàng)建符號常量。 b=sym(pi) %創(chuàng)建符號常量,MATLAB 7.X程序設計,5/44,sym函數(shù)的格式2為: sym(常量,參數(shù)) 功能:把常量按參數(shù)的格式要求轉(zhuǎn)換為符號常量。其中參數(shù)的含義: d 返回最接近的十進制數(shù)(默認位數(shù)為32位) f 返回該符號值最接近的浮點表示 r 返回該符號值最接近的有理數(shù)型(為系統(tǒng)默認方式),可表示為p/q、p*q、10q、p/q、2q和sqrt(p)形式之一 e 返回最接近的帶有機器浮點誤差的有理值,MATLAB 7.X程序設計,6/44,5.1.3 創(chuàng)建符號變量,sym(變量,參數(shù)) 功能:把變量定義為符號對象。其中參數(shù)用來設置限定符號變量的數(shù)學特性,有三種選擇: positive 表示為“正、實”符號變量, real 表示為“實”符號變量, unreal 表示為“非實”符號變量。如果不限定則參數(shù)可省略。,MATLAB 7.X程序設計,7/44,syms函數(shù)的格式為: syms(arg1, arg2, ,參數(shù)) syms arg1 arg2 參數(shù) 功能:創(chuàng)建多個符號變量。,例5-2 創(chuàng)建符號復數(shù)變量a+bi。,MATLAB 7.X程序設計,8/44,5.2 符號表達式的基本操作,5.2.1 符號表達式的基本運算 1 算術(shù)運算、關(guān)系運算 2 常用的函數(shù) 1) 三角函數(shù)和雙曲函數(shù) 2) 指數(shù)和對數(shù)函數(shù) 3) 矩陣分析函數(shù),MATLAB 7.X程序設計,9/44,例5-3 創(chuàng)建符號矩陣,并求逆、對角陣、行 列式和秩。,例5-4 求線性方程組的解。,如果求解前3個方程所構(gòu)成的“欠定”方程組呢?,MATLAB 7.X程序設計,10/44,4) 取整函數(shù) 5)復數(shù)函數(shù),例5-5 創(chuàng)建符號復數(shù)常量,并求其共軛、實 部 、虛部和模。,MATLAB 7.X程序設計,11/44,5.2.2 符號數(shù)值精度控制,三種不同的算術(shù)運算: 1) 數(shù)值型 MATLAB的浮點運算。 2) 有理數(shù)型 Maple的精確符號運算。 3) VPA型 Maple的任意精度運算。,MATLAB 7.X程序設計,12/44,第3種運算的精度可以任意設置,由digits和vpa函數(shù)實現(xiàn)。 digits(n) 功能:設定計算精度和改變默認的有效位數(shù)函數(shù)。 其中n為所期望的有效位數(shù),默認值為32位。 Vpa 的格式為: S=vpa(s,n) 功能:將s表示為n位有效位數(shù)的符號對象。,MATLAB 7.X程序設計,13/44,例5-6 應用digits和vpa函數(shù)設置運算精度。,a=sym(2*sqrt(5)+pi) %創(chuàng)建符號對象 digits %顯示默認的有效位數(shù) vpa(a) %用默認的位數(shù)計算并顯示 vpa(a,20) %按指定的精度計算并顯示 digits(15) %改變默認的有效位數(shù) vpa(a) %按digits指定的精度計算并顯示,MATLAB 7.X程序設計,14/44,5.2.3 符號對象轉(zhuǎn)換為數(shù)值對象,double(S) 功能:把符號矩陣S轉(zhuǎn)換為雙精度浮點數(shù)矩陣。 single(S) 功能:把符號矩陣S轉(zhuǎn)換為單精度浮點數(shù)矩陣。,MATLAB 7.X程序設計,15/44,例5-7 建立符號常數(shù)矩陣,并轉(zhuǎn)換 為數(shù)值矩陣。,s=sym(1/3 5/7;sqrt(3) 8/9) %建立符號常數(shù)矩陣s single(s) %把s轉(zhuǎn)換為數(shù)值矩陣,MATLAB 7.X程序設計,16/44,5.2.4 自由變量的確定,符號表達式允許使用自由變量。確定自由變量的原則: 1)小寫字母i和j不能作為自由變量。 2)符號表達式中如果有多個字符變量,則按照以下順序選擇自由變量: 首先選擇x作為自由變量;如果沒有x,則選擇在字母順序中最接近x的字符變量;如果與x相同距離,則在x后面的優(yōu)先。 3)大寫字母比所有的小寫字母都靠后。,MATLAB 7.X程序設計,17/44,findsym的格式為: findsym(EXPR,n) 功能:確定EXPR中的自由變量。 其中EXPR可以是符號表達式或符號矩陣;n為按順序得出符號變量的個數(shù),當n省略時,則不按順序給出EXPR中所有的符號變量。,MATLAB 7.X程序設計,18/44,例5-8 創(chuàng)建符號表達式,然后確定符 號變量。,f1=sym(a*x2+B*x+c) %創(chuàng)建符號表達式a*x2+ B*x+c findsym(f1) %確定B, a, c, x為符號變量 findsym(f1,1) %確定x為符號變量 findsym(f1,2) %確定x,c為符號變量 findsym(f1,3) %確定x,c,a為符號變量 findsym(f1,4) %確定x,c,a,B為符號變量,MATLAB 7.X程序設計,19/44,5.2.5 變量置換,subs (S) 功能:用MATLAB工作空間中的變量替換S符號表達式中的所有變量。,subs (S,NEW) 功能:用變量NEW替換符號表達式S中的自由變量。,subs (S,OLD,NEW) 功能:用變量NEW替換符號表達式S中的變量OLD。,MATLAB 7.X程序設計,20/44,例5-9 根據(jù)subs的置換規(guī)則,分析下 列語句的功能。,syms a b x; %創(chuàng)建符號變量a, b,和 x f=a*sin(x)+b; %創(chuàng)建符號表達式 f1=subs(f,a,sym(2) %以符號常量2替換符號變量a f2=subs(f,a,b,sym(2),sym(3) %分別以符號常量2、3替換符號變量a、b f3=subs(f,a,b,3,2) %分別以標量2、3替換符號變量a、b,MATLAB 7.X程序設計,21/44,f4=subs(f,sin(x),sym(y) %以符號變量y替換符號表達式sin(x) f5=subs(f,a,b,x,2,2,sym(pi/3) %分別以標量2、3替換符號變量a、b,以符號常量pi/3替換符號變量x f6=subs(f,a,b,x,2,2,pi/3) %分別以標量2、3 、pi/3替換符號變量a、b、x,MATLAB 7.X程序設計,22/44,5.2.6 反函數(shù)和復合函數(shù),finverse(f,v) 功能:對指定自變量v的函數(shù)f(v)求反函數(shù)。當v省略時,則對默認的自由符號變量求反函數(shù)。,compose(f,g,x,z) 功能:返回值為f(g(z)。其中f和g是符號表達式,x和z是符號變量。,MATLAB 7.X程序設計,23/44,例5-11 求tex的反函數(shù)。 f=sym(t*ex)%原函數(shù) g=finverse(f) %對默認自由變量x求反函數(shù) g=finverse(f,t)%對t求反函數(shù),例5-10 求y=x2的反函數(shù)。 syms x;f=x2;g=finverse(f) fg=compose(g,f) %驗算g(f(x)是否等于x,MATLAB 7.X程序設計,24/44,應該注意的是如果先定義t為符號變量,則參數(shù)t的單引號可去掉: syms t g=finverse(f,t),例5-12 求sinx和lnx的反函數(shù)。,MATLAB 7.X程序設計,25/44,5.3 符號多項式函數(shù),5.3.1 合并同類項 collect (S,v) 功能:合并多項式S的同類項。其中S是符號表達式,v是合并同類項的變量。 collect (S) 功能:以findsym確定的變量合并多項式S的同類項。 函數(shù)pretty可給出多項式的易讀形式。,MATLAB 7.X程序設計,26/44,例5-13 合并多項式 的同類項。,x=sym(x); f=(x3+x+1)*(x2+1); g=collect(f),MATLAB 7.X程序設計,27/44,例5-14 合并多項式 的同類項。,s=sym(x2+x*exp(-t)+1)*(x+exp(-t); e1=collect(s) %合并關(guān)于x的同類項系數(shù) e2=collect(s,exp(-t) %合并關(guān)于exp(-t)的同類項系數(shù) e3=collect(s,t) %合并關(guān)于t的同類項系數(shù),MATLAB 7.X程序設計,28/44,例5-15 創(chuàng)建符號多項式,并應用函數(shù) sym2poly,poly2str和poly2sym 進行各種形式間的轉(zhuǎn)換。,syms x;f=x3+2*x2-3*x+5; sy2p=sym2poly(f) %由符號多項式產(chǎn)生數(shù)值系數(shù)行向量 p2st=poly2str(sy2p,x) %把系數(shù)行向量變成易讀表示式 p2sy=poly2sym(sy2p) %把數(shù)值系數(shù)行向量再轉(zhuǎn)換為符號多項式 pretty(f,x) %顯示符號多項式的易讀表示形式,MATLAB 7.X程序設計,29/44,5.3.2 因式分解,factor(s) 功能:把符號表達式S轉(zhuǎn)換為多個因式相乘的形式,各多項式的系數(shù)均為有理數(shù)。 horner(s) 功能:將符號多項式s轉(zhuǎn)換為嵌套形式表示,即用多層括號的形式表示。,MATLAB 7.X程序設計,30/44,例5-16 分解因式,syms x a;f=factor(x3-a3) ; pretty(f,x) 執(zhí)行結(jié)果如下: ans = 2 2 -(a - x) (a + a x + x ),MATLAB 7.X程序設計,31/44,例5-17 將符號矩陣表達式的各個元素 分解為多個因式,syms x b; f=x3+b3 x4-1;x5-1 x6-1; factor(f),MATLAB 7.X程序設計,32/44,例5-18 將多項式表示為嵌套形式。,syms x; horner(x6-x4-5*x3+5*x2+5*x-6),MATLAB 7.X程序設計,33/44,例5-19 將數(shù)字1025分解為正整數(shù)之積。,factor(1025) 執(zhí)行結(jié)果如下: ans = 5 5 41 分析:由執(zhí)行結(jié)果可以看出1025=5541,恰巧是素數(shù)之積。,MATLAB 7.X程序設計,34/44,求全部兩位數(shù)的素數(shù)的程序如下:,sushu=; for ii=10:99 x=factor(ii); if x=ii sushu=sushu ii; end end sushu,MATLAB 7.X程序設計,35/44,例5-20 問入取何值時,齊次方程組有非 0解?,MATLAB 7.X程序設計,36/44,5.3.3 分子、分母的提取,N,D = numden (S) 提取有理多項式的分子、分母多項式。其中S是符號表達式,N為符號表達式S的分子,D為符號表達式S的分母。,MATLAB 7.X程序設計,37/44,例5-21 求出 的分子、分母,syms x; f=1/(x3)+6/x/x+12/x+8;n,d=numden(f),MATLAB 7.X程序設計,38/44,例5-22 求出符號矩陣 各元素的分子、分母多項式。,syms x; A=3/x/x/x+1 x2/(2*x-1);4/x2-1/x 1/(x+4); n,d=numden(A),MATLAB 7.X程序設計,39/44,5.3.4 化簡,simplify(s) simple(s) 功能:返回符號表達式s的簡化形式。,MATLAB 7.X程序設計,40/44,例 5-23 化簡,方法1: syms x; f=x/(x2+x+1)+1/(x-1); simple(f),方法2: syms x; f=x/(x2+x+1)+1/(x-1); simplify(f),MATLAB 7.X程序
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中學生青春成長路上的困惑解讀
- 醫(yī)療器械產(chǎn)品使用不當風險免責協(xié)議書
- 農(nóng)業(yè)生產(chǎn)應急管理與風險防范方案
- 高考文言文一輪復習:《元史》專練
- 高考語文答題技巧指導
- 商務往來溝通文書寫作指南
- 企業(yè)法務顧問服務協(xié)議書與風險提示告知書
- 涵洞工程勞務分包合同
- 高考語文一輪復習-文言實詞盤點8:敝、蔽、便
- 《數(shù)據(jù)結(jié)構(gòu)學習指導:算法與程序設計基礎》
- 路橋公司考試題目答案解析
- 精致的八寶飯
- 高速公路綠化工程施工
- 多動癥兒童養(yǎng)育六步法:給家長的自助指南
- 范可尼貧血病癥演示稿件
- 智能制造在食品加工業(yè)中的應用與發(fā)展
- 文本排版習題
- 醫(yī)院預算執(zhí)行情況分析報告
- 年終存貨盤點管理制度
- 化工公司原址污染場地污染土壤治理修復方案
- 法蘭標準尺寸表(美標、日標、德標)
評論
0/150
提交評論