




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第三講第三講 數(shù)值數(shù)組的創(chuàng)立和賦值數(shù)值數(shù)組的創(chuàng)立和賦值 matlab最大的特色可以說是它的矩陣操作了,它提供的相關(guān)命最大的特色可以說是它的矩陣操作了,它提供的相關(guān)命令可以很方便的解決與矩陣有關(guān)的數(shù)據(jù)處理,我們在學(xué)習(xí)的時候就令可以很方便的解決與矩陣有關(guān)的數(shù)據(jù)處理,我們在學(xué)習(xí)的時候就可以體會到它的好處,這是可以體會到它的好處,這是c語言或者語言或者excel都無法比較的都無法比較的. 我們將重點學(xué)習(xí)一維數(shù)值數(shù)組和二維數(shù)值數(shù)組的創(chuàng)立訪問和操作我們將重點學(xué)習(xí)一維數(shù)值數(shù)組和二維數(shù)值數(shù)組的創(chuàng)立訪問和操作,并將結(jié)合中國大學(xué)生數(shù)學(xué)建模比賽的實例加以練習(xí),防止紙上談并將結(jié)合中國大學(xué)生數(shù)學(xué)建模比賽的實例加以練習(xí),
2、防止紙上談兵。兵。3.1 一維數(shù)組的創(chuàng)立和尋訪一維數(shù)組的創(chuàng)立和尋訪一、一維數(shù)組的創(chuàng)立一、一維數(shù)組的創(chuàng)立1.一維數(shù)組的創(chuàng)立一維數(shù)組的創(chuàng)立1逐個元素輸入法逐個元素輸入法 向量的元素用中括號向量的元素用中括號括起來,假如是行向量,那么元素之間用逗號或者是括起來,假如是行向量,那么元素之間用逗號或者是空空格隔開;假如是列向量,那么元素之間用分號隔開分號表示換行。格隔開;假如是列向量,那么元素之間用分號隔開分號表示換行。例如例如: x=1,2,3,4,5,6,7,8 x=1 2 3 4 5 6 7 8 ;% 一維一維 1x8 數(shù)組數(shù)組或或 x=1,2,3,4,5,6,7,8 ;% 一維一維 1x8 數(shù)組
3、數(shù)組 sizex %查詢查詢x的大小的大小ans=1 8注意:注意:sizesize這個命令很有用這個命令很有用, ,用于查詢向量或者是矩陣的維數(shù),用于查詢向量或者是矩陣的維數(shù),sizesizex x返回的是返回的是一個一行兩列的數(shù)組,數(shù)組的第一個元素表示一個一行兩列的數(shù)組,數(shù)組的第一個元素表示x x的行數(shù),第二個元素表示的行數(shù),第二個元素表示x x的列數(shù),知道了的列數(shù),知道了sizesize的用法,同學(xué)們還可以借助于幫助的用法,同學(xué)們還可以借助于幫助help sizehelp size進一步熟悉它的用法。進一步熟悉它的用法。例如例如: x=1,2,3,4,5,6,7,8T x=1;2;3;4
4、;5;6;7;8 ;% 一維一維 8x1 數(shù)組數(shù)組 sizex %查詢查詢x的大小的大小ans=8 12冒號生成法冒號生成法這是通過這是通過“步長步長設(shè)定,生成一維設(shè)定,生成一維“行行數(shù)組的方法,通用的格式:數(shù)組的方法,通用的格式:x=a:c:ba是數(shù)組的第一個元素,是數(shù)組的第一個元素,c是間隔,假設(shè)是間隔,假設(shè)b-a是是c的整數(shù)倍,那么所生成的整數(shù)倍,那么所生成數(shù)組的最后一個元素等于數(shù)組的最后一個元素等于b,否那么小于,否那么小于b例:產(chǎn)生以起始值例:產(chǎn)生以起始值=1,增量值增量值=2,終止值終止值=13的數(shù)組的數(shù)組 x=1:2:13x = 1 3 5 7 9 11 13x=1:2:12x
5、= 1 3 5 7 9 11假如間隔為假如間隔為1,那么可以缺省,那么可以缺省例如:例如:x=1:10 x= 1 2 3 4 5 6 7 8 9 103利用利用linspace起始值起始值,終止值終止值,元素數(shù)目元素數(shù)目 x=linspace0,10,6; % 利用利用linspace,以起始值,以起始值=0,終終止值止值=10之間之間,元素數(shù)目元素數(shù)目=6x = 0 2 4 6 8 10二、一維數(shù)組的子數(shù)組尋訪和賦值二、一維數(shù)組的子數(shù)組尋訪和賦值例:例:x=8:-1:1x = 8 7 6 5 4 3 2 1 x2 %訪問訪問x的第二個元素的第二個元素ans=7 x2 4 5 %取取 x的第二
6、、四、五個元素組成一個新的數(shù)組的第二、四、五個元素組成一個新的數(shù)組ans=7 5 4 x1:5 % x的第前五個元素的第前五個元素ans = 8 7 6 5 4注意:注意:MATLAB中,訪問向量中,訪問向量x的第一個元素是的第一個元素是x1,并且用的是圓括號,并且用的是圓括號,注意與注意與C語言中的區(qū)別,不要混淆語言中的區(qū)別,不要混淆 x7:end % x的第七個元素后的元素的第七個元素后的元素ans = 2 1 x8:-1:5 % x的第的第8個元素和第個元素和第5個元素的倒排個元素的倒排ans = 1 2 3 4 y=findx5 % x中大于中大于5的元素的位置的元素的位置y = 1
7、2 3 xfindx5 %大家猜猜返回的是什么大家猜猜返回的是什么ans=ans= 8 7 6 8 7 6返回的是返回的是x x中大與中大與5 5的元素按照它們在的元素按照它們在x x中的順序中的順序 x3= % 刪除第三個元素刪除第三個元素x = 8 7 100 4 3 2 1 x8=-1.1 % 參加第八個元素參加第八個元素x = 8 7 100 4 3 2 1 -1.1 x x44=100 =100 %給給x的第四個元素重新給值的第四個元素重新給值100 x = 8 7 6 100 4 3 2 1三、一維數(shù)組的操作三、一維數(shù)組的操作minx %求求x最小的元素最小的元素ans=-1.1m
8、,n=minx%min可以有兩個返回值,大家看看可以有兩個返回值,大家看看m,n各表示什么各表示什么m = -1.1n = 8注意:注意:m表示表示x中最小的元素,中最小的元素,n表示這個元素在表示這個元素在x中的位置中的位置maxx %求求x最大的元素最大的元素ans=100m,n=maxx%max可以有兩個返回值可以有兩個返回值,與與min類似類似m = 100n = 3注意:注意:m表示表示x中最大的元素,中最大的元素,n表示這個元素在表示這個元素在x中的位置中的位置m =-1.1000 1.0000 2.0000 3.0000 4.0000 7.0000 8.0000 100.0000
9、n = 8 7 6 5 4 2 1 3m,n=sortx %sort可以有兩個返回值,大家看看可以有兩個返回值,大家看看m,n各表示什么各表示什么注意:比照一下,注意:比照一下,x=8,7, 100, 4, 3,2, 1, -1.1, m表示把表示把x中的元素按從小到大的順序排序得到的新的向量,中的元素按從小到大的順序排序得到的新的向量, n表示這個新的向量中的元素原來在表示這個新的向量中的元素原來在x中的位置中的位置sortx %對對x的元素按從小到大的順序排序的元素按從小到大的順序排序ans=-1.1 1 2 5 6 7 8 100m =-1.1000 1.0000 2.0000 3.00
10、00 4.0000 7.0000 8.0000 100.0000n = 8 7 6 5 4 2 1 3m,n=sortx %sort可以有兩個返回值,大家看看可以有兩個返回值,大家看看m,n各表示什么各表示什么sortx %對對x的元素按從小到大的順序排序的元素按從小到大的順序排序ans=-1.1 1 2 5 6 7 8 100考慮:把考慮:把x中的元素按從大到小的順序排序怎么辦,中的元素按從大到小的順序排序怎么辦, 而且還想知道而且還想知道n新的向量中的元素原來在新的向量中的元素原來在x中的位置中的位置解決:把解決:把n中的元素倒排中的元素倒排n=nend:-1:1;%把把x中的元素按從大到
11、小的順序排序之后個元素原來的位置中的元素按從大到小的順序排序之后個元素原來的位置m=xn; %把把x中的元素按從大到小的順序排序得到的新向量中的元素按從大到小的順序排序得到的新向量meanx %求求x元素的平均值元素的平均值ans=15.4875sumx %求求x元素的總和元素的總和ans=123.9000absx %對對x的元素取絕對值,得到一個新的向量的元素取絕對值,得到一個新的向量ans=8.0000 7.0000 100.0000 4.0000 3.0000 2.0000 1.0000 1.10003.2 二維數(shù)組矩陣的創(chuàng)立和尋訪二維數(shù)組矩陣的創(chuàng)立和尋訪一、二維數(shù)組矩陣的創(chuàng)立二維數(shù)組輸
12、入必須有以下三個要素:1.整個輸入必須以方括號“把所有元素括起來2.二維數(shù)組的行與行之間必須用分號“;或回車鍵【Enter】隔離3.二維數(shù)組元素必須由逗號“,或空格分隔【例例】輸入矩陣輸入矩陣987654321A1 1在鍵盤上輸入以下內(nèi)容在鍵盤上輸入以下內(nèi)容: : 以以 ; ; 區(qū)隔各列的元素區(qū)隔各列的元素A = 1,2,3; 4,5,6; 7,8,9 A = 1,2,3; 4,5,6; 7,8,9 2 2按按【EnterEnter】鍵,指令被執(zhí)行。鍵,指令被執(zhí)行。3 3在指令執(zhí)行后,在指令執(zhí)行后,MATLABMATLAB指令窗中將顯示以下結(jié)果:指令窗中將顯示以下結(jié)果:A =A = 1 2 3
13、 1 2 3 4 5 6 4 5 6 7 8 9 7 8 9 或者或者A=1,2,34,5,67,8,9 以下是顯示結(jié)果以下是顯示結(jié)果A = 1 2 3 4 5 6 7 8 9 二、二維數(shù)組的尋訪和賦值二、二維數(shù)組的尋訪和賦值1.訪問格式:訪問格式:Ar,c %輸出輸出A的第的第r行第行第c列的元素列的元素例:例:A2,1 %輸出輸出A的第的第2行第行第1列的元素列的元素ans=4賦值格式:賦值格式:Ar,c=s %給給A的第的第r行第行第c列的元素賦值列的元素賦值s例:例:A2,1=0 %給給A的第的第2行第行第1列的元素賦值列的元素賦值0A = 1 2 3 0 5 6 7 8 92.訪問格
14、式:訪問格式:Ar,: %輸出輸出A的第的第r行的所有元素行的所有元素例:例:A2,: %輸出輸出A的第的第2行所有元素行所有元素ans=0 5 6賦值格式:賦值格式:Ar,:=S %給給A的第的第r行的所有元素賦值行的所有元素賦值S注意:注意:A的第的第r行的元素個數(shù)必須與行的元素個數(shù)必須與S的元素個數(shù)一樣的元素個數(shù)一樣例:例:A2,: =8:10%給給A的第的第2行所有元素賦值行所有元素賦值8 9 10A = 1 2 3 8 9 10 7 8 93.訪問格式:訪問格式:A:,c %輸出輸出A的第的第c列所有元素列所有元素例:例:A:,1 %輸出輸出A第第1列所有元素列所有元素ans = 1
15、 8 7賦值格式:賦值格式:A:,c=S %給給A的第的第c列所有元素賦值列所有元素賦值S注意:注意:A的第的第c列的元素個數(shù)必須與列的元素個數(shù)必須與Sa的元素個數(shù)一樣的元素個數(shù)一樣例:例:A:,1=-1;-2;-3 %給給A的第的第1列所有元素賦值列所有元素賦值-1;-2;-3 A = -1 2 3 -2 9 10 -3 8 94. 訪問格式:訪問格式:A: %由由A的各列按自左到右的次序,首尾相接的各列按自左到右的次序,首尾相接而成的而成的“一維一維長列數(shù)組長列數(shù)組ans = -1 -2 -3 2 9 8 3 10 9賦值格式:賦值格式:A:=D %D必須是一個一維的數(shù)組,并且元素個數(shù)與必
16、須是一個一維的數(shù)組,并且元素個數(shù)與A一樣一樣例:例:A:=-9:-1A = -9 -6 -3 -8 -5 -2 -7 -4 -1考慮:把考慮:把A的的1、3行組成一個新矩陣行組成一個新矩陣B,命令:命令:B=A1 3,:把把A的各行改變順序,按照的各行改變順序,按照3、2、1行得到一個新的矩陣行得到一個新的矩陣命令:命令:A=Aend:-1:1,:刪除刪除A的第的第1、2行,行,命令:命令:A1 2,:=注意:對于列的操作是一樣的道理注意:對于列的操作是一樣的道理下面看一個實例:下面看一個實例:附件附件2 數(shù)據(jù)數(shù)據(jù)1300多名病人按照多名病人按照4種療法服藥大約每隔種療法服藥大約每隔8周測試的
17、周測試的CD4濃度。濃度。第第1列是病人編號,第列是病人編號,第2列是列是4種療法的代碼:種療法的代碼:第第3列是病人年齡,第列是病人年齡,第4列是測試列是測試CD4的時刻周,的時刻周,第第5列是測得的列是測得的CD4,取值,取值logCD4+1.題目是通過這些數(shù)據(jù)得出不同年齡段的人應(yīng)用不同療法的療效。題目是通過這些數(shù)據(jù)得出不同年齡段的人應(yīng)用不同療法的療效。那么首先應(yīng)該處理這些數(shù)據(jù),現(xiàn)階段我們主要練慣用那么首先應(yīng)該處理這些數(shù)據(jù),現(xiàn)階段我們主要練慣用matlab處理處理數(shù)據(jù)。數(shù)據(jù)。1.導(dǎo)入數(shù)據(jù)導(dǎo)入數(shù)據(jù)首先我們應(yīng)該把這些數(shù)據(jù)構(gòu)成的一個大的矩陣導(dǎo)入首先我們應(yīng)該把這些數(shù)據(jù)構(gòu)成的一個大的矩陣導(dǎo)入matl
18、ab,方法,方法有二:有二:1把文本文檔把文本文檔.txt文件文件中的矩陣導(dǎo)入中的矩陣導(dǎo)入matlab的的workspace注意注意,文本文檔中只能是一個矩陣的形式文本文檔中只能是一個矩陣的形式,不能含有其他的文字符不能含有其他的文字符號號首先把文檔所在處設(shè)為當(dāng)前的途徑,以便首先把文檔所在處設(shè)為當(dāng)前的途徑,以便matlab可以找到可以找到,最好給最好給這個文本重命名,最好是英文名,這個文本重命名,最好是英文名,比方說我們把比方說我們把“附件附件2.txt,命名為,命名為data.txt,設(shè)置好途徑,在,設(shè)置好途徑,在command window中輸入中輸入load data.txt回車之后就會
19、發(fā)如今回車之后就會發(fā)如今workspace中出現(xiàn)了一個變量:中出現(xiàn)了一個變量:data這就完成了文本文檔中矩陣的導(dǎo)入這就完成了文本文檔中矩陣的導(dǎo)入注意注意:格式是格式是load+空格空格+單引號單引號+文檔名文檔名.txt+單引號單引號2FileImport Data出現(xiàn)以下窗口,選擇好文件出現(xiàn)以下窗口,選擇好文件“翻開翻開就可以了就可以了選擇選擇“Next選擇選擇“Finish,workspace中就出現(xiàn)了中就出現(xiàn)了data這個變這個變量量2操作練習(xí)操作練習(xí)導(dǎo)入數(shù)據(jù)以后,我們做一些矩陣操作的練習(xí)導(dǎo)入數(shù)據(jù)以后,我們做一些矩陣操作的練習(xí)1把所有使用第一種療法的病人的數(shù)據(jù)找出來,生成的新矩陣命名為
20、把所有使用第一種療法的病人的數(shù)據(jù)找出來,生成的新矩陣命名為program1,并查看這個矩陣的大小,把,并查看這個矩陣的大小,把program1里里cd4濃度出現(xiàn)了濃度出現(xiàn)了0的所在的所在行刪除。行刪除。命令:命令:place1=finddata:,2=1;%找出找出data中第二列的等于中第二列的等于1的元素所在位置的元素所在位置 program1=dataplace1,:;% 把把data中第二列的等于中第二列的等于1的元素所在行提取出來組成一個新的矩陣的元素所在行提取出來組成一個新的矩陣%program1program1_size=sizeprogram1; %查詢查詢program1的大
21、小的大小zeroplace=findprogram1:,5=0;%找出找出program1第五列中等于第五列中等于0的元素的位置的元素的位置program1zeroplace,:=;% 把把program1第五列中等于第五列中等于0的元素所在行刪除的元素所在行刪除2 把把program1里的病人數(shù)據(jù)按年齡從里的病人數(shù)據(jù)按年齡從大到小大到小的順序排列的順序排列命令:命令:m,n=sortprogram1:,3;%把把program1的第三列的元素按從小到大的順序排列的第三列的元素按從小到大的順序排列,n返回的是返回的是%排列之后各元素原來的位置排列之后各元素原來的位置program1=progr
22、am1n,:;%把把program1各行的順序改變了,按照第三列的序改變的各行的順序改變了,按照第三列的序改變的%目前的序是從小到大目前的序是從小到大,要求是從大到小要求是從大到小,所以在把各行的順序變一下所以在把各行的順序變一下program1=program1end:-1:1,:;% 把把program1各行的順序改變了,按照第三列的從大到小的序改各行的順序改變了,按照第三列的從大到小的序改%變的變的3找出找出program1里年齡大于里年齡大于30歲的病人,把這些病人的數(shù)據(jù)保歲的病人,把這些病人的數(shù)據(jù)保存到矩陣存到矩陣program1_30中中,計算最后一列的平均值,找出最后一計算最后一列的平均值,找出最后一列的最大最小值及他們所在的位置列的最大最小值及他們所在的位置這個問題作為作業(yè),保存在這個問題作為作業(yè),保存在exercise3_0.m中中作業(yè):作業(yè):1.以起始值以起始值0,終止值,終止
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 保值租購合同范本
- 噴漆加工合同范本
- 2025至2030年中國混凝土小型空心砌塊數(shù)據(jù)監(jiān)測研究報告
- 城市租賃合同范本
- 林地建房合同范本
- 小型工程施工合同
- 2024年重慶彭水自治縣教育事業(yè)單位招聘考試真題
- 合租生活質(zhì)量保障協(xié)議
- 2024年四川科學(xué)出版社成都有限責(zé)任公司招聘考試真題
- 2024年南寧市富濟勞務(wù)有限公司招聘筆試真題
- 湖南省陽氏宗親分布村落
- 八年級數(shù)學(xué)(上冊)整式計算題練習(xí)100道無答案_新人教版
- 豐田卡羅拉電路圖介紹
- 中考語文十大專題總復(fù)習(xí)資料
- 汽車駕駛員專業(yè)競賽實施方案
- 知乎的SWOT分析(表格)
- 常用家電維修基礎(chǔ)知識(課堂PPT)
- 楊氏太極拳37式拳譜
- 臥式設(shè)備安裝
- 橋梁施工危險源辨識與防控措施
- CFG樁施工記錄表范本
評論
0/150
提交評論