Matlab數(shù)據(jù)類型.ppt_第1頁(yè)
Matlab數(shù)據(jù)類型.ppt_第2頁(yè)
Matlab數(shù)據(jù)類型.ppt_第3頁(yè)
Matlab數(shù)據(jù)類型.ppt_第4頁(yè)
Matlab數(shù)據(jù)類型.ppt_第5頁(yè)
已閱讀5頁(yè),還剩33頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

數(shù)學(xué)軟件實(shí)習(xí),Matlab 數(shù)據(jù)類型,文件操作是一種重要的輸入輸出方式,Matlab 提供了一系列輸入輸出函數(shù),專門用于文件操作。,Matlab文件操作主要有三個(gè)步驟:首先打開文件,然后對(duì)文件進(jìn)行讀寫操作,最后要關(guān)閉文件。,Matlab中的輸入輸出函數(shù)是以C語(yǔ)言標(biāo)準(zhǔn)庫(kù)函數(shù)中的輸入輸出函數(shù)為基礎(chǔ)開發(fā)的,所以這些函數(shù)與C語(yǔ)言的輸入輸出函數(shù)相類似。,例:ex4file1.m,Matlab 文件操作介紹,變量,變量是任何程序設(shè)計(jì)語(yǔ)言的基本元素之一。,Matlab 并不要求對(duì)所使用的變量進(jìn)行事先聲明,也不需要指定變量類型,Matlab 會(huì)自動(dòng)根據(jù)所賦予變量的值或?qū)ψ兞克M(jìn)行的操作來確定變量的類型。,在賦值過程中,如果變量已經(jīng)存在,Matlab 會(huì)用新值代替舊值,并以新的變量類型代替舊的變量類型。,變量與常量,變量名長(zhǎng)度不超過 65 ( Matlab6.5.1 版本以上 ),變量名必須以字母開頭,可包含字母(大小寫)、數(shù)字和下劃線,變量的命名規(guī)則,變量名區(qū)分大小寫,Matlab中經(jīng)常使用的一些常量,Matlab 常量,Matlab 中有一些預(yù)定義的變量,這些特殊變量稱為常量。,數(shù)據(jù)類型,numeric:數(shù)值 char:字符 logical:邏輯 cell:?jiǎn)卧?、?xì)胞、元胞 struct:結(jié)構(gòu),Matlab 數(shù)據(jù)類型的最大特點(diǎn)是每一種類型都是以數(shù)組為基礎(chǔ),Matlab 事實(shí)上把每種類型的數(shù)據(jù)都作為數(shù)組來處理。,Matlab 常用的數(shù)據(jù)類型有:,Matlab7.1 中的數(shù)據(jù)類型表,邏輯,字符,細(xì)胞,函數(shù)句柄,在缺?。J(rèn))狀態(tài)下,Matlab 將所有的數(shù)都看作是雙精度的浮點(diǎn)數(shù)。,使用整型變量和單精度變量可以節(jié)約內(nèi)存空間。,數(shù)值型,數(shù)值型數(shù)據(jù)包括,整數(shù):帶符號(hào)和無符號(hào) 浮點(diǎn)數(shù):?jiǎn)尉群碗p精度,整數(shù),Matlab 提供四種帶符號(hào)整型和四種無符號(hào)整型,x1=11,x2=15,x3=16,x4=127,x5=255,x6=255,x7=0,舉例,x1=int8(11);,x2=int8(15.49);,x3=int8(15.5);,x4=int8(130);,x5=uint8(255);,x6=uint8(256);,x7=uint8(-1);,相同整型數(shù)據(jù)之間的運(yùn)算,結(jié)果為同類型的整數(shù)。,例:int8(12)*int16(3),X,整型數(shù)據(jù)可以和雙精度標(biāo)量進(jìn)行數(shù)值運(yùn)算,結(jié)果為整數(shù)。在運(yùn)算過程中保持浮點(diǎn)運(yùn)算精度,最后將結(jié)果轉(zhuǎn)換成整型。,整型數(shù)據(jù)不能與不是標(biāo)量的雙精度數(shù)組進(jìn)行運(yùn)算,整型數(shù)據(jù)的運(yùn)算,整型數(shù)據(jù)可以參與的運(yùn)算有下面兩種:,不同的整型數(shù)據(jù)之間不能進(jìn)行運(yùn)算,可以用 intmax 和 intmin 函數(shù)來查詢不同整型所能表示的最大整數(shù)和最小整數(shù)。,例:,最大整數(shù)與最小整數(shù),intmax(int8); intmin(int8);,intmax(uint8); intmin(uint8);,intmax; intmin;,intmax(int32); intmin(int32);,single:將數(shù)據(jù)轉(zhuǎn)換成單精度浮點(diǎn)數(shù),double :將數(shù)據(jù)轉(zhuǎn)換成雙精度浮點(diǎn)數(shù),浮點(diǎn)數(shù)與其它類型數(shù)據(jù)運(yùn)算表,浮點(diǎn)數(shù),浮點(diǎn)數(shù)包括單精度(占 4 個(gè)字節(jié))和雙精度(占 8 個(gè)字節(jié)),缺省為雙精度。,浮點(diǎn)數(shù)轉(zhuǎn)換函數(shù),X,最大和最小浮點(diǎn)數(shù),可以用 realmax 和 realmin 函數(shù)來查詢單精度和雙精度所能表示的最大浮點(diǎn)數(shù)和最小浮點(diǎn)數(shù)。,例:,realmax(single); realmin(single);,realmax(double); realmin(double);,realmax; realmin;,realmax(double); realmin(double);,直接輸入:,使用 complex 函數(shù),復(fù)數(shù),可以通過以下方式定義復(fù)數(shù),z=3+4i,z=complex(3,4),z=complex(3),z=complex(3,0),虛部與虛數(shù)單位之間不能留空格,整型數(shù)據(jù)相關(guān)函數(shù),浮點(diǎn)數(shù)相關(guān)函數(shù),復(fù)數(shù)相關(guān)函數(shù),其它相關(guān)函數(shù),判斷數(shù)據(jù)類型相關(guān)函數(shù),字符串和字符數(shù)組,字符串必須用單引號(hào)括起來,字符串是由多個(gè)字符組成的字符行向量,字符與字符串,字符與字符串運(yùn)算是各種高級(jí)語(yǔ)言不可缺少的部分,Matlab具有強(qiáng)大的字符處理能力。,str1=Matrix Laboratory,str2=M,a,t,r,i,x,字符數(shù)組必須是方的,即每行的字符個(gè)數(shù)必須相等,str3=M,a,t; r,i,x,字符串中的每個(gè)字符(包括空格)都是字符串的一個(gè)元素,字符與字符串,str=Matrix; str(3) % 從 1 開始數(shù)起 size(str),str=Matrix; double(str(3); double(str); % 查看每一個(gè)字符的ASCII碼,Matlab中字符是以 ASCII 碼存儲(chǔ)的,因而區(qū)分大小寫,可用 double 函數(shù)查看一個(gè)字符的 ASCII 碼,使用 char 函數(shù),ASCII 碼 字符串,字符串的生成,直接賦值,str1=Matrix; str2=Laboratory; str=str1,str2;,str=char(77,97,116,108,97,98),str=char(str1,str2),生成一個(gè)字符數(shù)組,第一行為 str1,第二行為 str2,數(shù)值矩陣到字符數(shù)組: num2str、int2str、mat2str 字符數(shù)組到數(shù)值數(shù)組:str2num,字符串與數(shù)值數(shù)組,字符串、字符數(shù)組與數(shù)值數(shù)組之間的轉(zhuǎn)換,按 ASCII 碼轉(zhuǎn)換,字符數(shù)組到數(shù)值數(shù)組:double,數(shù)值數(shù)組到字符串:char,直接將轉(zhuǎn)換數(shù)值數(shù)組轉(zhuǎn)換成字符數(shù)組,舉例,a=97,97.3;97.8,98; str1=char(a); str2=num2str(a); str3=int2str(a); str4=mat2str(a);,char 的輸入?yún)?shù)范圍為 0,65535,當(dāng)輸入?yún)?shù)中有小數(shù)時(shí),直接將小數(shù)部分舍去。,num2str 直接將每個(gè)數(shù)字轉(zhuǎn)換成字符,mat2str 把整個(gè)矩陣轉(zhuǎn)換成字符行向量,包括矩陣中的方括號(hào)、空格 和 分號(hào)(逗號(hào)自動(dòng)去除),舉例,str5=mat2str(97,97.3;97.8,98);,數(shù)值數(shù)組轉(zhuǎn)換為字符數(shù)組后,表面上看象一個(gè)數(shù)值數(shù)組,但此時(shí)的元素是字符而不是數(shù)字!,a=1,2,3 b=num2str(a) c=2*a d=2*b,e=2*str2num(b),double、char 是按 ASCII碼 進(jìn)行轉(zhuǎn)換,num2str、int2str、mat2str、str2num 是直接進(jìn)行轉(zhuǎn)換,字符串的合并,水平合并,直接使用中括號(hào),使用 strcat 函數(shù),str1=hello , world!,str2=strcat(hello ,world!),使用 strcat 時(shí),自動(dòng)去除原字符串結(jié)尾處的空格,水平合并得到的是一個(gè)更長(zhǎng)的字符串,字符串的合并,垂直合并,直接使用中括號(hào),使用 strvcat 函數(shù),str3=Matrix ; Laboratory,str4=strvcat(Matrix,Laboratory),在中括號(hào)中用分號(hào)實(shí)現(xiàn)垂直合并,必須保證每個(gè)字符串的長(zhǎng)度相等,否則需用空格補(bǔ)齊,用 strvcat 合并,自動(dòng)為較短的字符串補(bǔ)充空格,垂直合并得到的是一個(gè)字符數(shù)組,運(yùn)行字符串,運(yùn)行字符串所表示的表達(dá)式或命令: eval,str=1+2; a=eval(str),str=A=magic(3); eval(str),str1=figure(1); mesh(peaks(60); str2=figure(2); waterfall(peaks(60); eval(str1) eval(str2),字符串相關(guān)函數(shù),細(xì)胞變量的表示方法類似于帶有下標(biāo)的數(shù)組,但這些下標(biāo)不是用圓括號(hào)括起來,而是使用大括號(hào)。,普通數(shù)組中的每個(gè)元素都必須具有相同的數(shù)據(jù)類型,而細(xì)胞則沒有此要求。,細(xì)胞數(shù)組,Matlab 從 5.0 版開始引入了一種新的數(shù)據(jù)類型 細(xì)胞 ( cell ),該結(jié)構(gòu)可以把不同類型的數(shù)據(jù)納入到一個(gè)變量中。,細(xì)胞數(shù)組舉例,用賦值語(yǔ)句直接定義,用 cell 函數(shù)預(yù)先分配存儲(chǔ)空間,然后對(duì)細(xì)胞的每個(gè)元素逐個(gè)賦值。,細(xì)胞變量的定義,A=1 2; 3 4; str=Matlab; M=1:4, A, str; celldisp(M),cell(m,n),生成一個(gè) m 行 n 列 的細(xì)胞數(shù)組。,可以通過以下兩種方式定義一個(gè)細(xì)胞變量,舉例,A=1 2; 3 4; str=Matlab; M=1:4, A, str; N=hello, M; celldisp(N);,A=1 2; 3 4; str=Matlab; M=cell(1,3); M1,1=1:4; M1,2=A; M1,3=str; celldisp(M),細(xì)胞變量元素的引用,A=1 2; 3 4; str=Matlab; M=1:4, A, str; N=hello, M; eye(2),magic(3);,N1,1 N1,2 N

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(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)論