資源描述:
《第2章 MATLAB數(shù)值運(yùn)算ppt課件.ppt》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第2章MATLAB數(shù)值運(yùn)算2.1MATLAB運(yùn)算對象2.2矩陣2.3向量2.4數(shù)組2.5多項式2.6數(shù)據(jù)統(tǒng)計2.1MATLAB的運(yùn)算對象2.1.1MATLAB數(shù)據(jù)類型MATLAB所涉及的數(shù)據(jù)類型主要包括:數(shù)值、字符串、邏輯、元胞、結(jié)構(gòu)、類等。每一種類型的數(shù)據(jù)都是以矩陣或數(shù)組的形式表現(xiàn)出來。1.數(shù)值類型分類方法一:雙精度型(系統(tǒng)默認(rèn)類型)、單精度型、帶符號整數(shù)、無符號整數(shù)分類方法二:標(biāo)量(單個數(shù)據(jù))、數(shù)組、矩陣分類方法三:實(shí)數(shù)、復(fù)數(shù)>>z1=1+2iz1=1.0000+2.0000i>>z2=3+4jz2=3.0000+4.0000i注意:虛部的數(shù)值與虛數(shù)符號i或j之間可
2、以直接相乘,不必使用乘號,但必須將數(shù)值放在i或j之前。如果虛部是表達(dá)式則必須使用乘號。MATLAB用十進(jìn)制數(shù)表示一個常數(shù),具體可采用日常記數(shù)法和科學(xué)記數(shù)法兩種表示方法。數(shù)據(jù)輸出時用戶可以用format命令設(shè)置或改變數(shù)據(jù)輸出格式。format命令的格式為:format格式符MATLAB命令含義示例formatshort短格式3.1416formatshorte短格式科學(xué)格式3.1416e+000formatlong長格式3.14159265358979formatlonge長格式科學(xué)格式3.141592653589793e+000formatrat有理格式355/113f
3、ormathex十六進(jìn)制格式400921fb54442d18formatbank銀行格式3.14注意:format命令只影響數(shù)據(jù)輸出格式,而不影響數(shù)據(jù)的計算和存儲。函數(shù)名功能hex2dec16→10dec2hex10→16bin2dec2→10dec2bin10→2數(shù)據(jù)的輸出格式進(jìn)制轉(zhuǎn)換函數(shù)2.字符串類型字符串是指包含在一對單引號中的字符集合,字符串中的每個字符(含空格)都是字符數(shù)組的一個元素。在MATLAB中字符串和字符數(shù)組基本上是等價的。>>s='hello,MATLAB'%定義字符串變量ss=hello,MATLAB>>s(2)ans=es2=['hello,MA
4、TLAB']s2=hello,MATLABMATLAB中有關(guān)字符串操作的函數(shù)見下表,其幫助信息可通過strings關(guān)鍵詞查詢。函數(shù)名功能函數(shù)名功能strcat字符串連接upper轉(zhuǎn)大寫strvcat字符串垂直連接lower轉(zhuǎn)小寫strcmp比較串blanks生成空串strcnmp比較串的前n個字符deblank移去串內(nèi)空格findstr查子串ischar字符串檢驗strjust證明字符數(shù)組iscellstr字符串的單元陣檢驗strmatch查找可能匹配的字符串isletter字母檢驗strrep以其它串代替此串isspace空格檢驗strtok尋找串中記號字符串操作函數(shù)
5、表注:1)字符串是以ASCII碼形式存儲的;2)如果字符串中含有定界符本身,則應(yīng)該用兩個單撇號來表示,如s='I''mastudent'【例】建立一個字符串向量“ABC123hello!”,然后對該向量做如下處理:1)取1~3個字符組成子字符串;2)將字符串反序排列;3)將字符串中的小寫字母變成大寫;4)將其中的123用“安徽”替換。>>s='ABC123hello!'>>s1=s(1:3)>>s2=upper(s)>>s3=strrep(s,'123','安徽')>>a='123';>>b='abc';>>a+b%對應(yīng)元素ASCII相加146148150>>strca
6、t(a,b)%123abc與字符串有關(guān)的另一個重要函數(shù)是eval——文本宏,其調(diào)用格式為:eval(t)其中t為字符串。它的作用是把字符串的內(nèi)容作為對應(yīng)的MATLAB語句來執(zhí)行。例如:t=pi;m='[t,sin(t),cos(t)]';y=eval(m)函數(shù)名功能函數(shù)名功能num2str數(shù)字轉(zhuǎn)換為字符串str2num轉(zhuǎn)換字符串為數(shù)字int2str整數(shù)轉(zhuǎn)換為字符串sprints將格式數(shù)據(jù)寫為字符串mat2str矩陣轉(zhuǎn)換為字符串sscanf在格式控制下讀字符串?dāng)?shù)值數(shù)組和字符串轉(zhuǎn)換函數(shù)表3.結(jié)構(gòu)和單元1)結(jié)構(gòu)(架構(gòu))數(shù)據(jù)MATLAB通過使用結(jié)構(gòu)數(shù)據(jù)(Structure)把一
7、組不同類型的數(shù)據(jù)同時又是在邏輯上相關(guān)的數(shù)據(jù)組成一個有機(jī)的整體,以便于管理和引用。(1)建立直接賦值法>>stud.name='陳歡';>>stud.sex='男';>>stud.age=24;>>studstud是一種結(jié)構(gòu)。可以容納更多的元素,可以自由地向結(jié)構(gòu)中加入元素。也可以用后面的方法創(chuàng)建結(jié)構(gòu)數(shù)組。用struct函數(shù)使用struct函數(shù),可以根據(jù)指定的字段及其相應(yīng)的值創(chuàng)建結(jié)構(gòu)或結(jié)構(gòu)數(shù)組。此函數(shù)的一般形式為:str_array=struct('field1',{val1},'field2',{val2}...);例如:>>st1=str