




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、肅瞧羈蔓msMatlab中有15種基本數(shù)據(jù)類型,主要是整型、浮點(diǎn)、邏輯、字符、日期和時(shí)間、結(jié)構(gòu)數(shù)組、單元格數(shù)組以及函數(shù)句柄等。芍覆襖蔻芍蟄膂1、整型:(int8;uint8;int16;uint16;int32;uint32;int64;uint64)通過intmax(class)和intmin(class)函數(shù)返回該類整型的最大值和最小值,例如intmax(int8)=127;筮肄黃蒞羋前裊2、浮點(diǎn):(single;double)曜敏聿蓬前菜浮點(diǎn)數(shù):REALMAX('double')和REALMAX('single')分別返回雙精度浮點(diǎn)和單精度浮點(diǎn)的最大值,R
2、EALMIN('double')和REALMIN('single')分別返回雙精度浮點(diǎn)和單精度浮點(diǎn)的最小值。蛔量袁蟻先量袈3、邏輯:(logical)膈唐袁肆肇蝕蒂Logical:下例是邏輯索引在矩陣操作中的應(yīng)用,將5*5矩陣中大于0.5的元素設(shè)定為0:A=rand(5);A(A>0.5)=0;羈;羈薄羋膈蒲膈4、字符:(char)膀莆曹輯螂箍芨Matlab中的輸入字符需使用單引號(hào)。字符串存儲(chǔ)為字符數(shù)組,每個(gè)元素占用一個(gè)ASCII字符。如日期字符:DateString=9/16/2001實(shí)際上是一個(gè)1行9列向量。構(gòu)成矩陣或向量的行字符串長度必須相同。可以使
3、用char函數(shù)構(gòu)建字符數(shù)組,使用strcat函數(shù)連接字符。蒂爸薇袂蒂曹崛例如,命令name='abc''abcd'將觸發(fā)錯(cuò)誤警告,因?yàn)閮蓚€(gè)字符串的長度不等,此時(shí)可以通過空字符湊齊如:name='abc''abcd',更簡單的辦法是使用char函數(shù):char(abc,abcd),Matlab自動(dòng)填充空字符以使長度相等,因此字符串矩陣的列緯總是等于最長字符串的字符數(shù).蟆箴建荊幡蔗例如size(char('abc','abcd')返回結(jié)果2,4,即字符串a(chǎn)bc'實(shí)際存在的是abc,此時(shí)如需提取矩陣
4、中的某一字符元素,需要使用deblank函數(shù)移除空格如name=char(abc,abcd);deblank(name(1,:)。節(jié)節(jié)肆涮髓蛔此外,Matlab同時(shí)提供一種更靈活的單元格數(shù)組方法,使用函數(shù)cellstr可以將字符串?dāng)?shù)組轉(zhuǎn)換為單元格數(shù)組:筮妨肇輯肄荒贛data=char('abc','abcd')length(data(1,:)->?4cdata=cellstr(data)length(cdata1)->?3菜腿藏膈索肇蠶常用的字符操作函數(shù)勘芳荒蔽芾蔓莫blanks(n)返回n個(gè)空字符deblank(s)移除字符串尾部包含的空字符(st
5、ring)將字符串作為命令執(zhí)行findstr(s1,s2)搜索字符串ischar(s)判斷是否字符串isletter(s)判斷是否字母lower(s)轉(zhuǎn)換小寫upper(s)轉(zhuǎn)換大寫strcmp(s1,s2)比較字符串是否相同strncmp(s1,s2,n)比較字符串中的前n個(gè)字符是否相同strrep(s1,s2,s3)將s1中的字符s2替換為s3犀蒙黃荽肇腿蠢5、日期和時(shí)間董滕喇羈儂Matlab提供三種日期格式:日期字符串如'1996-10-02',日期序列數(shù)如729300(0000年1月1日為1)以及日期向量如1996102000,依次為年月日時(shí)分秒。蝴帔芨聿蒂期覆常用的日
6、期操作函數(shù)腿腿方艘祎蔗螂datestr(d,f)將日期數(shù)字轉(zhuǎn)換為字符串datenum(str,f)將字符串轉(zhuǎn)換為日期數(shù)字datevec(str)日期字符串轉(zhuǎn)換向量weekday(d)計(jì)算星期數(shù)eomday(yr,mth)計(jì)算指定月份最后一天calendar(str)返回日歷矩陣clock當(dāng)前日期和時(shí)間的日期向量date當(dāng)前日期字符串now當(dāng)前日期和時(shí)間的序列數(shù)羈蔓噩肆6、結(jié)構(gòu)襖群罐膂肅瞧結(jié)構(gòu)是包含已命名“數(shù)據(jù)容器”或字段的數(shù)組。結(jié)構(gòu)中的字段可以包含任何數(shù)據(jù)。黃蒞羋劉裊芍g7、構(gòu)建結(jié)構(gòu)數(shù)組薄聿蓬前菜筮肄(1)賦值方法袁蟻先量袈岬下面的賦值命令產(chǎn)生一個(gè)名為patient的結(jié)構(gòu)數(shù)組,該數(shù)組包含三個(gè)字
7、段:='JohnDoe'patient.billing=127.00;patient.test=797573;180178177.5;220210205;袁肆肇蝕蒂蛔量在命令區(qū)內(nèi)輸入patient可以查看結(jié)構(gòu)信息:name:'JohnDoe'billing:127test:3x3double薄羋膈蒲膈膈唐繼續(xù)賦值可擴(kuò)展該結(jié)構(gòu)數(shù)組:patient(2).name='AnnLane'patient(2).billing=28.50;patient(2).test=687068;118118119;172170169;曹輯螂箍芨
8、范羈賦值后結(jié)構(gòu)數(shù)組變?yōu)?2。薇袂蒂蒈螈膀莆(2)構(gòu)建結(jié)構(gòu)數(shù)組:struct函數(shù)函數(shù)基本形式為:strArray=struct('field1',val1,'field2',val2,.)建先研薄蔗裂譽(yù)例如:肆初膈薄wea.weather(1)=struct('temp',72,'rainfall',0.0);肇輯肄荒贛賺節(jié)weather(2)=struct('temp',71,'rainfall',0.1);weather=repmat(struct('temp',72,'r
9、ainfall',0.0),1,3);weather=struct('temp',68,80,72,'rainfall',0.2,0.4,0.0);(3)訪問結(jié)構(gòu)數(shù)據(jù)蕆膈nt肇蠶筮妨以下都是合法的結(jié)構(gòu)數(shù)組訪問命令:mypatients=patient(1:2)獲取子結(jié)構(gòu)數(shù)據(jù)mypatients(1)訪問結(jié)構(gòu)數(shù)據(jù)patient(2).name訪問結(jié)構(gòu)數(shù)據(jù)中的特定字段patient(3).test(2,2)訪問結(jié)構(gòu)數(shù)據(jù)中的特定字段(該字段為數(shù)組)bills=patient.billing訪問多個(gè)結(jié)構(gòu)tests=patient(1:2).test提取結(jié)構(gòu)數(shù)據(jù)轉(zhuǎn)
10、換成單元格數(shù)組荒蔽芾蔓奠菜腿使用結(jié)構(gòu)字段的動(dòng)態(tài)名稱童荽肇腿蠢勘芳通過structName.(expression_r_r_r)可以賦予結(jié)構(gòu)字段名稱并訪問數(shù)據(jù)。例如字段名為expression_r_r_r、結(jié)構(gòu)名為structName,訪問其中第7行1至25列數(shù)據(jù)可以使用命令:structName.(expression_r_r_r)(7,1:25)。蝸褓觸3»蒙例如,存在一個(gè)學(xué)生每周成績數(shù)據(jù)結(jié)構(gòu)數(shù)組,其數(shù)據(jù)通過以下方式建立:芨聿蒂蝸覆董滕=.958976827992949289817593.85848386859082828479968898;方艘祎蔗螂蝴帔=.87809184998
11、7938797878289.86829098757992849093847881;噩肆蝙薄噩腿即結(jié)構(gòu)名為testscores,字段使用每個(gè)學(xué)生的名稱命名,分別為wang和chen,每個(gè)學(xué)生下面包含名為week的成績結(jié)構(gòu)數(shù)組。芍蜜膂肅瞧羈蔓現(xiàn)計(jì)算給定結(jié)構(gòu)名稱、學(xué)生名稱和起止周數(shù)的平均分?jǐn)?shù)。羋前裊芍覆襖蔻在命令窗口中輸入editavgscore.m,輸入以下代碼后保存文件:蓬前菜筮肄黃蒞functionavg=avgscore(struct,student,first,last)avg=sum(struct.(student).week(first:last)/(last-first+1);充量袈
12、眼徽!聿在命名窗口中輸入:avgscore(testscores,'chen',7,22)計(jì)算學(xué)生陳從第7周到第22周的平均分?jǐn)?shù)。肇蝕蒂蛔量袁蟻(4)添加和刪除結(jié)構(gòu)字段膈蒲膈膈唐袁肆命令struct(index).(field)可添加或修改字段。如patient(2).ssn='000-00-0000'在結(jié)構(gòu)patient中添加一個(gè)名為ssn的字段。螂箍芨范羈薄羋刪除字段使用rmfield函數(shù),如patient2=rmfield(patient,'name')刪除name字段并產(chǎn)生新的結(jié)構(gòu)。蒂曹蜩膀莆曹輯8、單元格數(shù)組:(cell)研薄蔗褥T薇袂
13、單元格數(shù)組提供了不同類型數(shù)據(jù)的存儲(chǔ)機(jī)制,可以儲(chǔ)存任意類型和任意緯度的數(shù)組。膈薄順奚菽建先訪問單元格數(shù)組的規(guī)則和其他數(shù)組相同,區(qū)別在于需要使用花括號(hào)訪問,例如A2,5訪問單元格數(shù)組A中的第2行第5列單元格。節(jié)范贛賺節(jié)肆衩(1)構(gòu)建單元格數(shù)組:賦值方法索肇蠶筮妨肇輯使用花括號(hào)標(biāo)識(shí)可直接創(chuàng)建單元格數(shù)組,如:芾蔓奠菜腿藏膈A(1,1)=143;058;729;A(1,2)='abcd'A(2,1)=3+7i;A(2,2)=-pi:pi/10:pi;肇腿蠢勘芳范蔽上述命令創(chuàng)建2*2的單元格數(shù)組Ao繼續(xù)添加單元格元素直接使用賦值如A(2,3)=5即可,注意需使用花括號(hào)標(biāo)識(shí)。簡化的方法是結(jié)合
14、使用花括號(hào)(單元格數(shù)組)和方括號(hào)()創(chuàng)建,如C=12,34;56,78;羈嵋菱犀蒙英荽(2)構(gòu)建單元格數(shù)組:函數(shù)方法Cell函數(shù)。如:B=cell(2,3);B(1,3)=1:3;蒂期麓董滕蝸裙I(3)訪問數(shù)據(jù)祎蔗螂蝴帔芨聿通過索引可直接訪問單元格數(shù)組中的數(shù)據(jù)元素,例如:N1,1=12;45;N1,2='Name'N2,1=2-4i;N2,2=7;c=N1,2d=N1,1(2,2)踴輻薄噩腿方艘9、函數(shù)句柄膂肅瞧羈蔓噩肆函數(shù)句柄是用于間接調(diào)用一個(gè)函數(shù)的Matlab值或數(shù)據(jù)類型。在調(diào)用其它函數(shù)時(shí)可以傳遞函數(shù)句柄,也可在數(shù)據(jù)結(jié)構(gòu)中保存函數(shù)句柄備用。通過命令形式fhandle=fun
15、ctionname可以創(chuàng)建函數(shù)句柄,例如trigFun=sin,或匿名函數(shù)sqr=(x)x.A2;。裊芍覆襖蔻芍蜜使用句柄調(diào)用函數(shù)的形式是fhandle(arg1,arg2,,argn)或fhandle()(無參數(shù))。如:trigFun(1)。例:菜筮肄黃蒞羋前functionx=plotFHandle(fhandle,data)plot(data,fhandle(data)袈ew聿蓬前plotFHandle(sin,-pi:0.01:pi)?;琢吭佅攘繑?shù)據(jù)類型轉(zhuǎn)換如C語言中的強(qiáng)制類型轉(zhuǎn)換相似e.g.:膈膈唐袁肆肇蝕y=9;芨范羈薄羋膈蒲z=double(y);崛膀莆曹輯螂箍Matlab中的圖像數(shù)據(jù)類型轉(zhuǎn)換康舒薇袂蒂曹MATLAB中讀入圖像的數(shù)據(jù)類型是uint8,而在矩陣中使用的數(shù)據(jù)類型是double因此I2=im2double(I1):把圖像數(shù)組I1轉(zhuǎn)換成double精度類型;如果不轉(zhuǎn)換,在對(duì)uint8進(jìn)行加減時(shí)會(huì)產(chǎn)生溢出,可能提示的錯(cuò)誤為:Function'*'isnotdefi
溫馨提示
- 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. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2021-2026年中國一次性用品市場(chǎng)供需現(xiàn)狀及投資戰(zhàn)略研究報(bào)告
- 自動(dòng)駕駛技術(shù)測(cè)試協(xié)議
- 2025至2030年中國拉緊器數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年中國干式檢漏儀數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年吸塑熱封機(jī)項(xiàng)目投資價(jià)值分析報(bào)告
- 2025至2030年保冷袋項(xiàng)目投資價(jià)值分析報(bào)告
- 委托市政施工合同范本
- 歌舞團(tuán)運(yùn)營管理制度
- 2025至2030年交織萬壽緞項(xiàng)目投資價(jià)值分析報(bào)告
- 2025至2030年中國石墨放料閥數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 無主之地2全裝備代碼
- “供應(yīng)商融資安排”會(huì)計(jì)列報(bào)、披露問題研究
- 顱內(nèi)動(dòng)脈動(dòng)脈瘤介入治療臨床路徑
- DB32∕T 2882-2016 城市軌道交通橋隧結(jié)構(gòu)養(yǎng)護(hù)技術(shù)規(guī)程
- 氮化硅結(jié)構(gòu)與性能
- 性病實(shí)驗(yàn)室檢測(cè)與質(zhì)量管理
- 高樁碼頭施工組織設(shè)計(jì)(福建)
- 這一封書信來得巧
- 監(jiān)獄服裝加工企業(yè)開展全面
- 標(biāo)書密封條格式模版(共19頁)
- 小學(xué)一年級(jí)硬筆書法入門(課堂PPT)
評(píng)論
0/150
提交評(píng)論