資源描述:
《matlab入門教程.ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、MATLAB——數(shù)學(xué)建?;A(chǔ)教程主講者:高陳燕MATLAB——數(shù)學(xué)建模基礎(chǔ)教程MATLAB的概述MATLAB程序設(shè)計(jì)基礎(chǔ)MATLAB在數(shù)值計(jì)算中的應(yīng)用MATLAB的符號(hào)計(jì)算MATLAB的圖形處理MATLAB程序設(shè)計(jì)基礎(chǔ)MATLAB語言的基本要素MATLAB語言的核心——矩陣單元型數(shù)據(jù)和結(jié)構(gòu)型數(shù)據(jù)M文件流程控制語句2021/9/219:434MATLAB語言的基本要素變量變量不需要事先聲明,也不需要指定變量類型,它會(huì)自動(dòng)根據(jù)所賦予變量的值或?qū)ψ兞康牟僮鱽泶_定變量的類型;賦值過程中,如果變量已存在,則用新值代替舊值,以新的類型代替舊的類型。變量的命名規(guī)則:變量名區(qū)分大小寫;變
2、量名長(zhǎng)度不超過31位,第31位之后的字符被忽略;變量名以字母開頭,變量名中可以包含字母、數(shù)字、下劃線,但不能使用標(biāo)點(diǎn)。變量一般為局部變量,即僅在其調(diào)用的M文件內(nèi)部有效;若要定義全局變量,須在變量前加關(guān)鍵字global。Matlab語言主要是由幾個(gè)基本要素構(gòu)建而成的,其中包括變量、常量、數(shù)值、字符串、運(yùn)算符及標(biāo)點(diǎn)等?;氐街髂夸?021/9/219:435常量matlab中預(yù)定義的一些特殊的量。i,j虛數(shù)單位Realmin最小的正浮點(diǎn)數(shù),pi圓周率Realmax最大的浮點(diǎn)數(shù),eps浮點(diǎn)運(yùn)算的相對(duì)精度Inf無窮大NaNNot-a-Number,表示不定值例如:>>pians=%a
3、ns是默認(rèn)的結(jié)果變量3.14162021/9/219:436>>1/0Warning:Dividebyzero.ans=Inf>>0/0Warning:Dividebyzero.ans=NaN2021/9/219:437定義變量時(shí)應(yīng)避免與常量名相同,如果改變了某個(gè)常量的值,可以用“clear+常量名”命令來恢復(fù)該常量的初始設(shè)定值。>>pi=1pi=1>>clearpi>>pians=3.14162021/9/219:438數(shù)值數(shù)值缺省為實(shí)數(shù)保留小數(shù)點(diǎn)后4位浮點(diǎn)數(shù)表示。其輸入格式與C語言一致:如:9-730.19991.475e6輸出格式由format命令控制,只是影響屏幕顯
4、示效果,不影響內(nèi)部存儲(chǔ)和計(jì)算。下面以pi為例。>>formatlong;pians=3.14159265358979>>formatlonge;pians=3.141592653589793e+000>>formatlongg;pians=3.141592653589792021/9/219:439>>z=2*exp(pi/3i)z=1.0000+1.7321iMatlab語言還提供了復(fù)數(shù)的表達(dá)和運(yùn)算功能。復(fù)數(shù)的基本單位表示為i或j。例如:如果是表達(dá)式,必須在虛部的數(shù)值與i、j之間使用乘號(hào)。>>sin(pi/3)+cos(pi/3)j???sin(pi/3)+cos(pi/
5、3)jError:UnexpectedMATLABexpression.>>sin(pi/3)+cos(pi/3)*jans=0.8660+0.5000i2021/9/219:4310字符串字符串用單引號(hào)輸入或賦值;字符串的每個(gè)字符都是都是字符數(shù)組的一個(gè)元素;字符串和字符數(shù)組基本上等價(jià)。>>s='iloveyou's=iloveyou>>size(s)ans=110>>s(2)ans=>>s(10)ans=u字符串的每個(gè)字符(包括空格)都是字符數(shù)組的一個(gè)元素。在matlab中,字符串與字符數(shù)組或矩陣基本上是等價(jià)的。2021/9/219:4311如果在字符串內(nèi)使用單引號(hào)時(shí),可
6、以用連續(xù)兩個(gè)單引號(hào)表示。例如:字符串之間的轉(zhuǎn)換函數(shù):double字符串轉(zhuǎn)換為數(shù)值代碼num2str數(shù)字轉(zhuǎn)換為字符串int2str整數(shù)轉(zhuǎn)換為字符串mat2str矩陣轉(zhuǎn)換為字符串str2num轉(zhuǎn)換字符串為數(shù)字>>double(s)‘%s=‘iloveyou’ans=1053210811111810132121111117>>s='it''sgood‘s=it'sgood2021/9/219:4312>>a=[1:5]a=12345>>b=num2str(a)b=2345>>a*2ans=246810>>b*2ans=9864641006464102646410464641062
7、021/9/219:4313matlab對(duì)字符串的操作與C語言中的幾乎完全相同:strcat鏈結(jié)串strcmp比較串strvcat垂直鏈結(jié)串strncmp比較串的前n個(gè)字符findstr在其他串中找此串upper轉(zhuǎn)換串為大寫lower轉(zhuǎn)換串為小寫blanks生成空串deblank移去串中空格……例如:把前面的字符串s轉(zhuǎn)化成大寫。s=“it’good”>>upper(s)ans=IT'SGOOD執(zhí)行字符串的功能用eval來實(shí)現(xiàn)。>>t=‘1/(a*b-1)’;a=2;b=3;c=eval(t)%可以在一行中表示。c=