




已閱讀5頁,還剩33頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
數(shù)學軟件實習,Matlab 數(shù)據(jù)類型,文件操作是一種重要的輸入輸出方式,Matlab 提供了一系列輸入輸出函數(shù),專門用于文件操作。,Matlab文件操作主要有三個步驟:首先打開文件,然后對文件進行讀寫操作,最后要關(guān)閉文件。,Matlab中的輸入輸出函數(shù)是以C語言標準庫函數(shù)中的輸入輸出函數(shù)為基礎開發(fā)的,所以這些函數(shù)與C語言的輸入輸出函數(shù)相類似。,例:ex4file1.m,Matlab 文件操作介紹,變量,變量是任何程序設計語言的基本元素之一。,Matlab 并不要求對所使用的變量進行事先聲明,也不需要指定變量類型,Matlab 會自動根據(jù)所賦予變量的值或?qū)ψ兞克M行的操作來確定變量的類型。,在賦值過程中,如果變量已經(jīng)存在,Matlab 會用新值代替舊值,并以新的變量類型代替舊的變量類型。,變量與常量,變量名長度不超過 65 ( Matlab6.5.1 版本以上 ),變量名必須以字母開頭,可包含字母(大小寫)、數(shù)字和下劃線,變量的命名規(guī)則,變量名區(qū)分大小寫,Matlab中經(jīng)常使用的一些常量,Matlab 常量,Matlab 中有一些預定義的變量,這些特殊變量稱為常量。,數(shù)據(jù)類型,numeric:數(shù)值 char:字符 logical:邏輯 cell:單元、細胞、元胞 struct:結(jié)構(gòu),Matlab 數(shù)據(jù)類型的最大特點是每一種類型都是以數(shù)組為基礎,Matlab 事實上把每種類型的數(shù)據(jù)都作為數(shù)組來處理。,Matlab 常用的數(shù)據(jù)類型有:,Matlab7.1 中的數(shù)據(jù)類型表,邏輯,字符,細胞,函數(shù)句柄,在缺?。J)狀態(tài)下,Matlab 將所有的數(shù)都看作是雙精度的浮點數(shù)。,使用整型變量和單精度變量可以節(jié)約內(nèi)存空間。,數(shù)值型,數(shù)值型數(shù)據(jù)包括,整數(shù):帶符號和無符號 浮點數(shù):單精度和雙精度,整數(shù),Matlab 提供四種帶符號整型和四種無符號整型,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ù)之間的運算,結(jié)果為同類型的整數(shù)。,例:int8(12)*int16(3),X,整型數(shù)據(jù)可以和雙精度標量進行數(shù)值運算,結(jié)果為整數(shù)。在運算過程中保持浮點運算精度,最后將結(jié)果轉(zhuǎn)換成整型。,整型數(shù)據(jù)不能與不是標量的雙精度數(shù)組進行運算,整型數(shù)據(jù)的運算,整型數(shù)據(jù)可以參與的運算有下面兩種:,不同的整型數(shù)據(jù)之間不能進行運算,可以用 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)換成單精度浮點數(shù),double :將數(shù)據(jù)轉(zhuǎn)換成雙精度浮點數(shù),浮點數(shù)與其它類型數(shù)據(jù)運算表,浮點數(shù),浮點數(shù)包括單精度(占 4 個字節(jié))和雙精度(占 8 個字節(jié)),缺省為雙精度。,浮點數(shù)轉(zhuǎn)換函數(shù),X,最大和最小浮點數(shù),可以用 realmax 和 realmin 函數(shù)來查詢單精度和雙精度所能表示的最大浮點數(shù)和最小浮點數(shù)。,例:,realmax(single); realmin(single);,realmax(double); realmin(double);,realmax; realmin;,realmax(double); realmin(double);,直接輸入:,使用 complex 函數(shù),復數(shù),可以通過以下方式定義復數(shù),z=3+4i,z=complex(3,4),z=complex(3),z=complex(3,0),虛部與虛數(shù)單位之間不能留空格,整型數(shù)據(jù)相關(guān)函數(shù),浮點數(shù)相關(guān)函數(shù),復數(shù)相關(guān)函數(shù),其它相關(guān)函數(shù),判斷數(shù)據(jù)類型相關(guān)函數(shù),字符串和字符數(shù)組,字符串必須用單引號括起來,字符串是由多個字符組成的字符行向量,字符與字符串,字符與字符串運算是各種高級語言不可缺少的部分,Matlab具有強大的字符處理能力。,str1=Matrix Laboratory,str2=M,a,t,r,i,x,字符數(shù)組必須是方的,即每行的字符個數(shù)必須相等,str3=M,a,t; r,i,x,字符串中的每個字符(包括空格)都是字符串的一個元素,字符與字符串,str=Matrix; str(3) % 從 1 開始數(shù)起 size(str),str=Matrix; double(str(3); double(str); % 查看每一個字符的ASCII碼,Matlab中字符是以 ASCII 碼存儲的,因而區(qū)分大小寫,可用 double 函數(shù)查看一個字符的 ASCII 碼,使用 char 函數(shù),ASCII 碼 字符串,字符串的生成,直接賦值,str1=Matrix; str2=Laboratory; str=str1,str2;,str=char(77,97,116,108,97,98),str=char(str1,str2),生成一個字符數(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,當輸入?yún)?shù)中有小數(shù)時,直接將小數(shù)部分舍去。,num2str 直接將每個數(shù)字轉(zhuǎn)換成字符,mat2str 把整個矩陣轉(zhuǎn)換成字符行向量,包括矩陣中的方括號、空格 和 分號(逗號自動去除),舉例,str5=mat2str(97,97.3;97.8,98);,數(shù)值數(shù)組轉(zhuǎn)換為字符數(shù)組后,表面上看象一個數(shù)值數(shù)組,但此時的元素是字符而不是數(shù)字!,a=1,2,3 b=num2str(a) c=2*a d=2*b,e=2*str2num(b),double、char 是按 ASCII碼 進行轉(zhuǎn)換,num2str、int2str、mat2str、str2num 是直接進行轉(zhuǎn)換,字符串的合并,水平合并,直接使用中括號,使用 strcat 函數(shù),str1=hello , world!,str2=strcat(hello ,world!),使用 strcat 時,自動去除原字符串結(jié)尾處的空格,水平合并得到的是一個更長的字符串,字符串的合并,垂直合并,直接使用中括號,使用 strvcat 函數(shù),str3=Matrix ; Laboratory,str4=strvcat(Matrix,Laboratory),在中括號中用分號實現(xiàn)垂直合并,必須保證每個字符串的長度相等,否則需用空格補齊,用 strvcat 合并,自動為較短的字符串補充空格,垂直合并得到的是一個字符數(shù)組,運行字符串,運行字符串所表示的表達式或命令: 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ù),細胞變量的表示方法類似于帶有下標的數(shù)組,但這些下標不是用圓括號括起來,而是使用大括號。,普通數(shù)組中的每個元素都必須具有相同的數(shù)據(jù)類型,而細胞則沒有此要求。,細胞數(shù)組,Matlab 從 5.0 版開始引入了一種新的數(shù)據(jù)類型 細胞 ( cell ),該結(jié)構(gòu)可以把不同類型的數(shù)據(jù)納入到一個變量中。,細胞數(shù)組舉例,用賦值語句直接定義,用 cell 函數(shù)預先分配存儲空間,然后對細胞的每個元素逐個賦值。,細胞變量的定義,A=1 2; 3 4; str=Matlab; M=1:4, A, str; celldisp(M),cell(m,n),生成一個 m 行 n 列 的細胞數(shù)組。,可以通過以下兩種方式定義一個細胞變量,舉例,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),細胞變量元素的引用,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等.壓縮文件請下載最新的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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 學徒合同協(xié)議書下載
- 校園店合同協(xié)議書
- 分手合同協(xié)議書
- 機床維修合同協(xié)議書范本
- 紡織工程師考試相關(guān)資源與試題及答案
- 蜘蛛人合同協(xié)議書
- 土地合同轉(zhuǎn)讓協(xié)議書
- 免責合同協(xié)議書
- 就業(yè)協(xié)議書合同
- 高新區(qū)合同協(xié)議書范本
- 遼寧盤錦浩業(yè)化工“1.15”泄漏爆炸著火事故警示教育
- GB/T 19929-2005土方機械履帶式機器制動系統(tǒng)的性能要求和試驗方法
- 2023年衡陽市水務投資集團有限公司招聘筆試題庫及答案解析
- 企業(yè)公司早會晨會年會團建小游戲“看圖猜電影電視名”互動游戲
- 110~750kV架空輸電線路設計規(guī)范方案
- 北師大版五年級數(shù)學下冊公開課《包裝的學問》課件
- 車輛采購、維修服務投標方案
- 藥劑科病房麻醉藥品精神藥品處方流程
- 北師大版英語八年級下冊 Unit 4 Lesson 11 Online Time 課件(30張PPT)
- 淺析商業(yè)綜合體的消防疏散
- 紅金大氣國際護士節(jié)表彰大會PPT模板
評論
0/150
提交評論