matlab符號(hào)計(jì)算_第1頁
matlab符號(hào)計(jì)算_第2頁
matlab符號(hào)計(jì)算_第3頁
matlab符號(hào)計(jì)算_第4頁
matlab符號(hào)計(jì)算_第5頁
已閱讀5頁,還剩36頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、符號(hào)計(jì)算符號(hào)計(jì)算1數(shù)據(jù)類型2符號(hào)計(jì)算基礎(chǔ)3符號(hào)計(jì)算應(yīng)用一、數(shù)據(jù)類型一、數(shù)據(jù)類型1.字符串?dāng)?shù)組字符串?dāng)?shù)組在MATLAB中幾個(gè)字符可以構(gòu)成一個(gè)字符串,一個(gè)字符串被當(dāng)作一個(gè)行向量,每個(gè)元素對(duì)應(yīng)一個(gè)字符,一個(gè)字符占兩個(gè)字節(jié),并且每一字符(包括空格)以其ASCII碼的形式存放,其標(biāo)識(shí)方法和數(shù)值向量相同。 建立建立(1)用單引號(hào)string來界定一個(gè)字符串(2)用方括號(hào)“”直接連接多個(gè)字符串變量,得到一個(gè)新字符串變量 比較函數(shù)比較函數(shù)strcmp(s1,s2):比較字符串s1和s2是否相等。如果相同則返回1,否則為0。strcmpi(s1,s2):在忽略字母大小寫的情況,比較字符串s1和s2是否相等。如果

2、相同則返回1,否則為0。strncmp(s1,s2,n):比較字符串s1和s2的前n個(gè)字符是否相等。如果相同則返回1,否則為0。strncmpi(s1,s2,n):在忽略字母大小寫的情況,比較字符串s1和s2的前n個(gè)字符是否相等。如果相同則返回1,否則為0。例:s1=hello;s2=Hello;s3=helpc1=strcmp(s1,s2) %s1和s2不相等c2=strcmpi(s1,s2) %在忽略字母大小寫的情況下,s1和s2相等c3=strncmp(s2,s3,2) %s1和s3的前兩個(gè)字符不相等c4=strncmpi(s2,s3,2) %在忽略字母大小寫的情況下,s1和s3的前兩個(gè)

3、字符相等 轉(zhuǎn)換轉(zhuǎn)換函數(shù)函數(shù)常用的字符串轉(zhuǎn)換函數(shù)函數(shù)格式函數(shù)格式功能功能upper(A)把字符串A中的所有小寫字母轉(zhuǎn)換為相應(yīng)的大寫字母lower(A)把字符串A中的所有大寫字母轉(zhuǎn)換為相應(yīng)的小寫字母double(X)轉(zhuǎn)換字符串X轉(zhuǎn)換為ASCII碼char(X)將ASCII碼X轉(zhuǎn)換為字符串int2str(X)將整數(shù)X轉(zhuǎn)換為字符串num2str(X)將數(shù)值X轉(zhuǎn)換成字符串mat2str(X)將數(shù)值矩陣MAT轉(zhuǎn)換為可執(zhí)行的形式例: a=This is a testupper(a) %把字符串a(chǎn)中的所有小寫字母轉(zhuǎn)換為相應(yīng)的大寫字母lower(a) %把字符串a(chǎn)中的所有大寫字母轉(zhuǎn)換為相應(yīng)的小寫字母double

4、(a) %轉(zhuǎn)換字符串X轉(zhuǎn)換為ASCII碼char(double(a) %將ASCII碼轉(zhuǎn)換為字符串 X=1:0.1:10 int2str(X) %將整數(shù)X轉(zhuǎn)換為字符串num2str(X) %將數(shù)值X轉(zhuǎn)換成字符串 Y=magic(2)mat2str(magic(2)%將數(shù)值矩陣MAT轉(zhuǎn)換為可執(zhí)行的形式 查找和替換查找和替換findstr:尋找在某個(gè)長(zhǎng)字符串中的子字符串,返回其起始位置strrep(s1,s2,s3):把字符串s1的所有出現(xiàn)s2的地方替換為s3例:s1=Xia Men Universityfindstr(s1,ver) %尋找子字符串ver的起始位置strrep(s1,Xia,Be

5、i) %把s1中的所有出現(xiàn)Xia的地方替換為Bei2.元胞數(shù)組元胞數(shù)組元胞數(shù)組是MATLAB提供的一種特殊的數(shù)據(jù)類型,允許在一個(gè)數(shù)組中存放各種不同類型的數(shù)據(jù)。元胞數(shù)組中的基本組成是元胞,每一個(gè)元胞是用來存放各種不同類型數(shù)據(jù)的單元。如果元胞中存放的數(shù)據(jù)為元胞數(shù)組,則為元胞數(shù)組的嵌套使用。 建立建立兩種方法:1)賦值語句。一般格式是賦值語句的右邊為用符號(hào)標(biāo)記的不同類型的數(shù)據(jù)。例:a=This is a test,zeros(2);2,xia;men %建立元胞數(shù)組whosa1,2 %查看某個(gè)元素信息(2)由各元胞元素賦值創(chuàng)建。用依次為各元胞元素賦值的方法創(chuàng)建元胞數(shù)組,需先創(chuàng)建空的元胞數(shù)組,然后輸入

6、各元胞內(nèi)容。格式:cell(N):創(chuàng)建空的N*N的元胞數(shù)組cell(M,N):創(chuàng)建空的M*N的元胞數(shù)組。例:b=cell(2) %創(chuàng)建2*2的元胞矩陣b1,1=(This is a test) %b(1,1)賦值為字符串b1,2=zeros(2) %b(1,2)賦值為零矩陣b2,1=2 %b(1,2)賦值為標(biāo)量2b2,2=(xia;men) %b(2,2)賦值為元胞矩陣 顯示內(nèi)容顯示內(nèi)容b: % 顯示元胞數(shù)組b的所有元素的內(nèi)容celldisp(b) %顯示元胞數(shù)組b的所有元素的內(nèi)容cellplot(b) %以圖形的方式顯示元胞數(shù)組b的內(nèi)容 轉(zhuǎn)換轉(zhuǎn)換M=cell2mat(C):將元胞數(shù)組轉(zhuǎn)換為單

7、精度矩陣,這要求輸入的元胞數(shù)組元素必須是同類型的數(shù)據(jù)例:M=1 2 3 4;5;9 6 7 8;10 11 12 cell2mat(M) %轉(zhuǎn)換數(shù)值數(shù)組x為單精度矩陣N=mat2cell(X,M,N):矩陣分解為元胞數(shù)組,M為行的分隔方法,N為列的分隔方法例:N=zeros(3,4)+5T=mat2cell(N,1 2,1 3) %將矩陣N分解為元胞數(shù)組Tcelldisp(T)P=num2cell(A):轉(zhuǎn)換數(shù)值數(shù)組為元胞數(shù)組例:P=1 2 3 4;5 6 7 8;9 10 11 12 L=num2cell(P) %轉(zhuǎn)換數(shù)值數(shù)組P為元胞數(shù)組L 引用、擴(kuò)展和刪除引用、擴(kuò)展和刪除例:a=This

8、is a test,zeros(2);2,xia;men(1)引用引用a(1,2) %查看a(1,2)的結(jié)構(gòu)a1,2 %查看a1,2的內(nèi)容a1,2 (1) %引用a1,2的內(nèi)容a(1,:) %引用a中第1行的所有元素(2)擴(kuò)展擴(kuò)展將元胞數(shù)組a擴(kuò)展為3*3的元胞數(shù)組a3,3=5 %擴(kuò)展a為3*3的數(shù)組,a(3,3)為元胞,內(nèi)容為5 思考:如何擴(kuò)展一行或一列? a3,:=?(3)刪除刪除a(3,:)= %刪除a的第三行元胞3.結(jié)構(gòu)數(shù)組結(jié)構(gòu)數(shù)組結(jié)構(gòu)數(shù)組也是MATLAB提供的一種特殊的數(shù)據(jù)類型,允許在一個(gè)數(shù)組中存放各種不同類型的數(shù)據(jù)。結(jié)構(gòu)數(shù)組的基本組成是域,每一個(gè)域是用來存放各種不同類型數(shù)據(jù)的單元。

9、建立建立三種方法:例:構(gòu)建一份學(xué)生檔案(1)賦值語句=Li Lei %結(jié)構(gòu)數(shù)組s的域name賦值為字符串Li Lei s.number=17220121152000 %結(jié)構(gòu)數(shù)組s的域number賦值為字符串 s.sex=man %結(jié)構(gòu)數(shù)組s的域sex賦值為字符串mans.age=24 %結(jié)構(gòu)數(shù)組s的域age賦值為字符串24s %查看結(jié)構(gòu)數(shù)組s的各個(gè)域的值s(2).name= Han Mei Mei %添加結(jié)構(gòu)數(shù)組的第二元素ss1=s(1) %查看s的第一個(gè)元素的各個(gè)域的域值s2=s(2) %查看s的第二個(gè)元素的各個(gè)域的域值(2)struct函數(shù)格式:S=struct(filed1,

10、values1,filed2,values2)S=struct(name,Li Lei,number,17220121152000,sex,man,age,24)(3)轉(zhuǎn)換函數(shù)格式:S=cell2struct(C,FIELDS,DIM)其中C為元胞數(shù)組,F(xiàn)IELDS為字符串?dāng)?shù)組或元胞數(shù)組,DIM為元胞數(shù)組的維數(shù)。c=Li Lei,17220121152000,man,24f=name,number,sex,ages=cell2struct(c,f,2) 引用和更改引用和更改(1)引用與元胞數(shù)組類似,構(gòu)架數(shù)組的元素的引用可通過支出結(jié)構(gòu)數(shù)組名稱、下標(biāo)、域名直接引用例:s(1).number %引用

11、s(1)的number域值struct2cell(s) %取用s中的所有字段數(shù)據(jù),實(shí)際上為返 回元胞數(shù)組(2)增加和刪除rmfield(s,filed):從結(jié)構(gòu)數(shù)組s中刪除域filed例:s(1).exams=90 92 99 %增加s的域exams并賦值s(1)s1=rmfield(s,sex) %刪除s(1)的域sexs(1) (3)獲取和更改 getfield函數(shù)獲取結(jié)構(gòu)數(shù)組指定域的域值。格式:getfield(s,i,j,filed,k),其中i,j為指定結(jié)構(gòu)數(shù)組的下標(biāo),k用來指定域中數(shù)組的下標(biāo)。 setfield函數(shù)設(shè)置結(jié)構(gòu)數(shù)組指定域的域值后創(chuàng)建新的結(jié)構(gòu)數(shù)組。格式:setfield(

12、s,i,j,filed,k,v),其中v為設(shè)置值。例:getfield(s,1,1,name) %獲取s第一個(gè)元素的域name的值setfield(s,1,1,exams,2,98) %重新設(shè)置s第一個(gè)元素的域exams的第二個(gè)值二二 、符號(hào)計(jì)算符號(hào)計(jì)算基礎(chǔ)基礎(chǔ)(一)創(chuàng)建(一)創(chuàng)建1.創(chuàng)建符號(hào)變量創(chuàng)建符號(hào)變量sym函數(shù),創(chuàng)建單個(gè)符號(hào)變量,格式:sym(變量,參數(shù))syms函數(shù),同時(shí)創(chuàng)建多個(gè)符號(hào)變量,格式:(1)syms(變量1,變量2,參數(shù))(2)syms 變量1 變量2 參數(shù)例:創(chuàng)建復(fù)數(shù)變量a+bi方法1:x=sym(a, real) %創(chuàng)建實(shí)數(shù)符號(hào)變量x y=sym(b, real) %創(chuàng)

13、建實(shí)數(shù)符號(hào)變量y z=sym(c,unreal) %創(chuàng)建非實(shí)數(shù)符號(hào)變量z z=x+y*i方法2:syms a b real; %創(chuàng)建實(shí)數(shù)符號(hào)變量a和bsyms c unreal; %創(chuàng)建非實(shí)數(shù)符號(hào)變量cc=a+b*i注意:區(qū)別符號(hào)變量和數(shù)值變量注意:區(qū)別符號(hào)變量和數(shù)值變量比較2種情況下的d情況1:a=1 %定義數(shù)值變量a、b、cb=2c=3d=a+b-c %數(shù)值計(jì)算whos情況2:syms a b c d %定義符號(hào)變量a、b、c、dd=a+b-c %數(shù)值計(jì)算whos符號(hào)計(jì)算vs數(shù)值計(jì)算:(1)數(shù)值計(jì)算是符號(hào)計(jì)算的基礎(chǔ)(2)符號(hào)計(jì)算先要定義符號(hào)變量(3)符號(hào)計(jì)算是精確計(jì)算(4)與數(shù)值計(jì)算相比,

14、符號(hào)計(jì)算速度較慢(5)二者的運(yùn)算符合基本數(shù)學(xué)函數(shù)幾乎完全相同。2.創(chuàng)建符號(hào)表達(dá)式創(chuàng)建符號(hào)表達(dá)式(1)用sym命令創(chuàng)建符號(hào)表達(dá)式例:a=sym(2*x-3*y)(2)用定義的符號(hào)變量組成符號(hào)表達(dá)式例:syms a x ya=2*x-3*y拓展:在MATLAB中創(chuàng)建符號(hào)方程的方法與創(chuàng)建符號(hào)表達(dá)式的第一種方法類似,但是不能使用第二種方法。例:a=sym(2*x-3*y=0),若按方法二輸入a=sym(2*x-3*y)=0則會(huì)出現(xiàn)錯(cuò)誤。(二)基本操作(二)基本操作1.算術(shù)運(yùn)算算術(shù)運(yùn)算直接用+、-、*、/、等運(yùn)算符實(shí)現(xiàn)符號(hào)計(jì)算例:syms x yf=3*x-y22.自由變量的確定自由變量的確定符號(hào)表達(dá)式

15、在建立前除了應(yīng)用sym指定符號(hào)變量,還允許使用自由變量。符號(hào)表達(dá)式中自由變量的3條確定原則:(1)由于小寫字母i和j是表示虛數(shù)單位的特殊變量,因此i和j不能作為符號(hào)變量(2)存在多個(gè)符號(hào)變量時(shí),按以下原則選擇自由變量:首先選擇x為自由變量;如果沒有x則選擇詞典順序中最接近x的字符變量;如果有2個(gè)字符變量與x相同距離,則在x后面的優(yōu)先(3)作為符號(hào)變量,大寫字母的位置在小寫字母后面。findsym函數(shù),根據(jù)要求確定自由變量。格式:findsym(S,n),其中S是符號(hào)表達(dá)式或表達(dá)矩陣,n為按順序得出的符號(hào)變量的個(gè)數(shù),當(dāng)n省略時(shí),則給出S中所有的符號(hào)變量。例:g=sym(a*x2+B/y=0) %

16、創(chuàng)建符號(hào)表達(dá)式a*x2+B/y=0findsym(g) %確定B,a,x,y為符號(hào)變量findsym(g,1) %確定x為符號(hào)變量findsym(g,2) %確定x,y為符號(hào)變量findsym(g,3) %確定x,y,a為符號(hào)變量findsym(g,4) %確定x,y,a,B為符號(hào)變量3.變量置換變量置換subs函數(shù),在已創(chuàng)建的符號(hào)表達(dá)式中進(jìn)行符號(hào)變量的替換。格式:(1)subs(S):替換S中的所有變量(2)subs(S,new):用new替換S中的自由變量(3)subs(S,old,new):用new替換S中的old例:(1)syms a x b %創(chuàng)建符號(hào)標(biāo)量a,x,bf=a*sin(x

17、)+b %創(chuàng)建符號(hào)表達(dá)式f=a*sin(x)+ba=1b=2c=subs(f) %以標(biāo)量1,2替換符號(hào)變量a,b(2)syms a x bf=a*sin(x)+bc=subs(f,5) %以標(biāo)量5替換自由變量x(3)syms a x bf=a*sin(x)+bc=subs(f,a,sym(m) %以符號(hào)變量m替換符號(hào)變量a思考:對(duì)于”new”,”old”是不是只能是標(biāo)量、單變量,如果它們是數(shù)組或多項(xiàng)式時(shí)情況會(huì)怎樣?注意:若new是一個(gè)由多個(gè)符號(hào)變量組成的數(shù)組,則old應(yīng)該具有與new相同的形狀的數(shù)組。(1)syms a x bf=a*sin(x)+bc=subs(f,1:3) %以標(biāo)量1到3替

18、換自由變量xc=b+a*sin(1),b+a*sin(2),b+a*sin(3)生成1*3矩陣(3)syms a x bf=a*sin(x)+bc=subs(f,a,b,1 2,3 4) %分別以矩陣1 23 4替換符號(hào)變量a,bc=sin(x)+3,2*sin(x) + 4生成1*2矩陣(5)syms a x bf=a*sin(x)+bc=subs(f,a,b,sym(n*2-6),sym(t2) %分別以符號(hào)表達(dá)式替換符號(hào)變量a,bc=t2+sin(x)*(2*n-6)(2)syms a x bf=a*sin(x)+bc=subs(f,1,2;3,4) %以矩陣1 2;3 4替換自由變量xc=b+a*sin(1),b+a*sin(2)b+a*sin(3),b+a*sin(4)生成1個(gè)2*2矩陣(4)syms a x bf=a*sin(x)+bc=subs(f,a,b,1 2;3 4,5) %分別以矩陣1 2;3 4和標(biāo)量5替換符號(hào)變量a,bc= sin(x)+5,2*sin(x)+53*sin(x)+5,4*sin(x)+5生成1個(gè)2*2矩陣小結(jié)小結(jié)三三 、符號(hào)計(jì)算符號(hào)計(jì)算應(yīng)用應(yīng)用1.符號(hào)極限符號(hào)極限limit函數(shù) ,直接求解函數(shù)極限,格式:(1)limit(f,x,a):當(dāng)自

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論