版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
2023/2/4機械工業(yè)出版社Page1第2章基礎(chǔ)知識與基本運算【學(xué)習(xí)目標(biāo)】熟悉MATLAB的基本數(shù)據(jù)類型熟悉MATLAB的基本運算符掌握MATLAB的數(shù)組及基本運算掌握MATLAB的矩陣及基本運算2023/2/4機械工業(yè)出版社Page2第2章基礎(chǔ)知識與基本運算MATLAB數(shù)據(jù)類型2.1MATLAB基本運算符1.2MATLAB數(shù)組及其運算1.3MATLAB矩陣及其運算1.42023/2/4機械工業(yè)出版社Page32.1MATLAB數(shù)據(jù)類型2.1.1數(shù)值類型2.1.2邏輯類型2.1.3字符和字符串2.1.4函數(shù)句柄2.1.5結(jié)構(gòu)體2.1.6單元數(shù)組2023/2/4機械工業(yè)出版社Page4MATLAB數(shù)值類型包括整數(shù)、單精度浮點數(shù)和雙精度浮點數(shù)。默認情況下,MATLAB用雙精度浮點數(shù)來保存所有數(shù)值類型數(shù)據(jù)。2.1.1數(shù)值類型2023/2/4機械工業(yè)出版社Page5有符號整數(shù)int8:1字節(jié),-27-27-1int16:2字節(jié),-215-215-1int32:3字節(jié),-231-231-1int64:4字節(jié),-263-263-12.1.1數(shù)值類型——整數(shù)2023/2/4機械工業(yè)出版社Page6無符號整數(shù)uint8:1字節(jié),0-28-1uint16:2字節(jié),0-216-1uint32:3字節(jié),0-232-1uint64:4字節(jié),0-264-12.1.1數(shù)值類型——整數(shù)2023/2/4機械工業(yè)出版社Page7整數(shù)轉(zhuǎn)換函數(shù)int8:創(chuàng)建有符號8bit整數(shù)int16:創(chuàng)建有符號16bit整數(shù)int32:創(chuàng)建有符號32bit整數(shù)int64:創(chuàng)建有符號64bit整數(shù)uint8:創(chuàng)建無符號8bit整數(shù)uint16:創(chuàng)建無符號16bit整數(shù)uint32:創(chuàng)建無符號32bit整數(shù)uint64:創(chuàng)建無符號64bit整數(shù)2.1.1數(shù)值類型——整數(shù)2023/2/4機械工業(yè)出版社Page8整數(shù)運算原則相同整型數(shù)據(jù)之間的運算,結(jié)果為同種類型的整數(shù);不同類型整數(shù)之間不能進行運算;整數(shù)可以和雙精度標(biāo)量進行數(shù)值運算,結(jié)果為整數(shù);整數(shù)不能與不是標(biāo)量的雙精度數(shù)組進行運算2.1.1數(shù)值類型——整數(shù)2023/2/4機械工業(yè)出版社Page9整數(shù)最大值與最小值MATLAB提供了intmax和intmin兩個函數(shù)來查詢各種類型整數(shù)的最大值和最小值。當(dāng)數(shù)據(jù)的值超出了所要轉(zhuǎn)換類型的表示范圍時,MATLAB會自動將它們設(shè)置成對應(yīng)整數(shù)類型的最大值或最小值。2.1.1數(shù)值類型——整數(shù)2023/2/4機械工業(yè)出版社Page10【例2-1】創(chuàng)建一個int16類型的整數(shù)275,并將包含小數(shù)的浮點數(shù)275.49轉(zhuǎn)換為整數(shù)。2.1.1數(shù)值類型——整數(shù)>>x=int16(275)x=275>>y=275.49;>>int16(y)
ans=275>>y=y+0.01;>>int16(y)
ans=2762023/2/4機械工業(yè)出版社Page11【例2-2】利用intmax和intmin函數(shù)獲取整數(shù)最大值與最小值示例。2.1.1數(shù)值類型——整數(shù)>>intmax('int16')
ans=32767>>intmin('int8')
ans=-128>>x=int16(33000)x=32276>>x=int8(-350)x=-1282023/2/4機械工業(yè)出版社Page12單精度浮點數(shù)——32bit雙精度浮點數(shù)——64bit2.1.1數(shù)值類型——浮點數(shù)字節(jié)位代表功能31符號位(0代表正數(shù),1代表負數(shù))30-23指數(shù)位
0-27-122-01.f中的小數(shù)位f字節(jié)位代表功能63符號位(0代表整數(shù),1代表負數(shù))62-52指數(shù)位0-210-151-01.f中的小數(shù)位f2023/2/4機械工業(yè)出版社Page13創(chuàng)建浮點數(shù)
MATLAB默認是以雙精度浮點數(shù)來保存數(shù)據(jù)的,所以我們可以使用賦值操作來創(chuàng)建一個double數(shù)據(jù),而創(chuàng)建單精度浮點數(shù)則必須使用single轉(zhuǎn)換函數(shù)。對于大于3.4028×1038或與小于-1.1755×1038的數(shù),需要用雙精度浮點數(shù)來表示。2.1.1數(shù)值類型——浮點數(shù)2023/2/4機械工業(yè)出版社Page14浮點數(shù)運算原則單精度浮點數(shù)與float、double、char或logical類型數(shù)據(jù)運算,結(jié)果為float;單精度浮點數(shù)不能int/uint類型數(shù)據(jù)運算;雙精度浮點數(shù)與float類型數(shù)據(jù)運算,結(jié)果為float類型;雙精度浮點數(shù)與int/uint類型數(shù)據(jù)運算,結(jié)果為int/uint類型;雙精度浮點數(shù)與double、char、logical類型數(shù)據(jù)運算,結(jié)果為double2.1.1數(shù)值類型——浮點數(shù)2023/2/4機械工業(yè)出版社Page15浮點數(shù)最大值與最小值MTALAB提供了realmax和realmin函數(shù)用于查詢單精度和雙精度浮點數(shù)所能表示的最大和最小值,函數(shù)參數(shù)指明查詢浮點數(shù)的類型,對于雙精度浮點數(shù),realmax和realmin函數(shù)可以不用指定參數(shù)。2.1.1數(shù)值類型——浮點數(shù)2023/2/4機械工業(yè)出版社Page16【例2-3】創(chuàng)建單精度和雙精度浮點數(shù)。2.1.1數(shù)值類型——浮點數(shù)>>x=single(120.45);>>whosxNameSizeBytesClassAttributesx1x14single
>>x=120.45;>>whosxNameSizeBytesClassAttributesx1x18double2023/2/4機械工業(yè)出版社Page17【例2-4】查詢浮點數(shù)最大值和最小值。2.1.1數(shù)值類型——浮點數(shù)>>realmax('single')%查詢單精度浮點數(shù)的最大值
ans=3.4028e+038>>realmin('single')%查詢單精度浮點數(shù)的最小值
ans=1.1755e-038>>realmax %查詢雙精度浮點數(shù)的最大值
ans=1.7977e+308>>realmin %查詢雙精度浮點數(shù)的最小值
ans=2.2251e-3082023/2/4機械工業(yè)出版社Page18MATLAB用“0”和“1”分別代表邏輯“假”和邏輯“真”。邏輯類型常以標(biāo)量形式出現(xiàn),但也可以是邏輯數(shù)組。MATLAB程序中,用戶在使用各種控制語句的時候,經(jīng)常需要使用返回的邏輯值作為控制語句的判斷條件。2.1.2邏輯類型2023/2/4機械工業(yè)出版社Page19識別邏輯數(shù)據(jù)函數(shù)五個函數(shù)可用于邏輯數(shù)據(jù)的判斷:whos(x):顯示數(shù)據(jù)x的數(shù)值和數(shù)據(jù)類型;islogical(x):若x是邏輯數(shù)組則返回“真”;isa(x,‘logical’):若x是邏輯數(shù)組返回“真”;class(x):若x是邏輯數(shù)組返回“真”;cellfun(‘islogical’,x):檢查數(shù)組x的元素是否是邏輯數(shù)據(jù)。2.1.2邏輯類型2023/2/4機械工業(yè)出版社Page20返回結(jié)果為邏輯數(shù)據(jù)的函數(shù)及運算符true:設(shè)置數(shù)據(jù)值為邏輯“真”;false:設(shè)置數(shù)據(jù)值為邏輯“假”;logical:將數(shù)據(jù)轉(zhuǎn)換為邏輯值;&、|,~,xor,any、all、&&和||;=,~=,<,>,<=和>=:關(guān)系運算;所有is*函數(shù):測試運算函數(shù);strcmp,strncmp,strcmpi和strncmpi:字符串比較操作函數(shù)。2.1.2邏輯類型2023/2/4機械工業(yè)出版社Page21【例2-5】利用關(guān)系運算符以及isstrprop和xor函數(shù)創(chuàng)建邏輯數(shù)組。2.1.2邏輯類型>>[20,30,40,50,60]>35
ans=00111>>A=isstrprop('abc123def','alpha') A=111000111>>xor([10'ab'2.4],[00'ab',0])
ans=100012023/2/4機械工業(yè)出版社Page22構(gòu)造字符和字符串用char表示MATLAB字符;用2字節(jié)的Unicode統(tǒng)一字符編碼來存儲,一般用單引號來定義一個字符變量;用string表示MATLAB字符串;可以用字符數(shù)組或字串單元來創(chuàng)建字符串;字符串用一對單引號將多個字符括起來構(gòu)建2.1.3字符和字符串>>str='Hello,MATLAB!';>>whos
strNameSizeBytesClassAttributes
str1x1326char2023/2/4機械工業(yè)出版社Page23格式化字符串sprintf:按照指定格式將數(shù)據(jù)寫入輸出字符串;fprintf:按照指定格式將數(shù)據(jù)寫入輸出文件或命令窗口;warning:在警告信息中顯示格式化數(shù)據(jù);error:在錯誤信息中顯示格式化的數(shù)據(jù);assert:在條件不滿足時,生成錯誤信息;MException:捕獲錯誤信息。2.1.3字符和字符串2023/2/4機械工業(yè)出版社Page24格式化字符串——函數(shù)語法形式
2.1.3字符和字符串functionname(…,format_string,value1,value2,…,valueN)format_string:包含輸出字符串的基本內(nèi)容和需要轉(zhuǎn)換的輸出格式字符(如%d、%s等);value1,value2,valueN:對應(yīng)format_string
中第一個至第N個需要轉(zhuǎn)換格式的數(shù)值。>>sprintf('Average%sscoreof%dindividualis%2.fpoints.','english',60,83.5)ans=Averageenglishscoreof60individualis83.50points.2023/2/4機械工業(yè)出版社Page25字符串比較MATLAB提供了三種字符串比較方法:比較兩個字符串是否完全相同或部分相同;逐字符比較兩個字符串是否相同;檢查字符串中的單個字符的類別歸屬。2.1.3字符和字符串2023/2/4機械工業(yè)出版社Page26字符串比較——比較字符串strcmp:比較兩個字符串是否完全相同;strncmp:比較兩個字符串的前n個字符是否相同;strcmpi:與strcmp類似,但strcmpi會忽略字母大小寫的區(qū)別;strcnmpi:與strcnmp類似,但strcnmpi會忽略字母大小寫的區(qū)別;2.1.3字符和字符串2023/2/4機械工業(yè)出版社Page27【例2-6】利用字符串比較函數(shù)判斷字符串是否相同。2.1.3字符和字符串>>str1='hello';str2='help';>>strcmp(str1,str2)
ans=0>>strncmp(str1,str2,3)
ans=1>>str3='Help';>>strcmpi(str2,str3)
ans=12023/2/4機械工業(yè)出版社Page28字符串比較——比較字符串中字符MATLAB利用關(guān)系運算符“==”來實現(xiàn)兩個字符串逐個字符的比較;待比較的兩個字符串長度必須相等,或者其中有一個是單字符。
2.1.3字符和字符串2023/2/4機械工業(yè)出版社Page29【例2-7】比較兩個字符串里的字符是否相同。2.1.3字符和字符串>>str1='hello';str2='help';str3='Help';>>str1==str2%對長度不相等的字符進行比較???Errorusing==>eq
%錯誤信息Matrixdimensionsmustagree.>>str2==str3
ans=0111>>str4='h';>>str1==str4%字符串與單個字符比較
ans=100002023/2/4機械工業(yè)出版社Page30字符串比較——判別字符串中字符類別isletter:判斷字符串中的每個字符是否為英文字母;isspace:判斷字符串中的字符是否屬于格式字符(空格、制表符、回車和換行等);isstrprop:逐字符檢測字符串里的字符是否屬于指定范圍(字母、字母和數(shù)字、大寫或小寫、十進制數(shù)、十六進制數(shù)等)。2.1.3字符和字符串2023/2/4機械工業(yè)出版社Page31字符串查找strfind(str,pattern):在字符串str中查找pattern子串,返回字串出現(xiàn)位置;findstr(str1,str2):查找字符串str1和str2,返回較短字符串在較長字符串中出現(xiàn)的位置;strmatch(str,strarray):從字符串?dāng)?shù)組strarray中查找所有以字符串str開頭的字符串Strtok(str,char):返回字符串str中由char指定的字符前的部分和之后的部分,默認的char為空格、制表符或換行符。后兩個函數(shù)在MATLAB將來版本中將移除!2.1.3字符和字符串2023/2/4機械工業(yè)出版社Page32【例2-8】利用strfind函數(shù)在字符串'himatlab2010!'中查找字符串'mat',并利用strtok函數(shù)將該字符串以空格分隔。2.1.3字符和字符串>>str1='himatlab2010!';>>str2='mat';>>strfind(str1,str2)
ans=4>>[token,remain]=strtok(str1)token=hiremain=matlab2010!2023/2/4機械工業(yè)出版社Page33字符串替換strrep(str1,str2,str3):函數(shù)將字符串str1中所有str2字串用str3來替換;strrep對字母的大小寫敏感,只能替換str1中與str2完全一致的字串。2.1.3字符和字符串2023/2/4機械工業(yè)出版社Page34【例2-9】將字符串'himatlab2010!'中的子字符串'mat'替換為‘Mat’。2.1.3字符和字符串>>str1='himatlab2010!';>>str2='mat';>>str3='Mat';>>strrep(str1,str2,str3)
ans=hiMatlab2010!2023/2/4機械工業(yè)出版社Page35函數(shù)句柄(Functionhandle)是MATLAB的一種數(shù)據(jù)類型,他實際上提供了一種間接調(diào)用函數(shù)的方法。使用函數(shù)句柄,方便了實現(xiàn)函數(shù)間互相調(diào)用,可以拓寬子函數(shù)的使用范圍,提高函數(shù)調(diào)用的可靠性,減少程序設(shè)計中的冗余和提高重復(fù)執(zhí)行的效率。2.1.4函數(shù)句柄2023/2/4機械工業(yè)出版社Page36創(chuàng)建函數(shù)句柄創(chuàng)建函數(shù)句柄的語法形式如下:h=@functionname其中:h:為保存函數(shù)句柄的變量;@:是句柄創(chuàng)建操作符;
functionname:MATLAB內(nèi)部函數(shù)名稱或函數(shù)所對應(yīng)的M文件的名稱。2.1.4函數(shù)句柄2023/2/4機械工業(yè)出版社Page37使用函數(shù)句柄創(chuàng)建函數(shù)句柄并保存變量后,就可以通過函數(shù)句柄變量來調(diào)用句柄所關(guān)聯(lián)的函數(shù)。通過函數(shù)句柄調(diào)用函數(shù)時,也需要指定函數(shù)的輸入?yún)?shù);沒有輸入?yún)?shù)的函數(shù),在使用句柄調(diào)用時,要在句柄變量后加上空的圓括號;內(nèi)部函數(shù)名稱或函數(shù)所對應(yīng)的M文件的名稱。2.1.4函數(shù)句柄2023/2/4機械工業(yè)出版社Page38函數(shù)句柄處理函數(shù)functions:返回函數(shù)句柄的描述信息;func2str:將函數(shù)句柄轉(zhuǎn)換為函數(shù)名稱字符串str2func:將字符串代表的函數(shù)轉(zhuǎn)換為函數(shù)句柄;save:保存函數(shù)句柄到MAT文件中;load:從MAT文件中讀入函數(shù)句柄到當(dāng)前工作空間;isa:判斷一個變量是否包含和一個函數(shù)句柄isequal:判斷兩個函數(shù)句柄是否指向同一個函數(shù)。2.1.4函數(shù)句柄2023/2/4機械工業(yè)出版社Page39【例2-10】創(chuàng)建cos函數(shù)的句柄,并利用該函數(shù)句柄計算數(shù)組的余弦值。2.1.4函數(shù)句柄>>h=@cos;>>v=0:0.2*pi:pi;>>h(v)ans=1.00000.80900.3090-0.3090-0.8090-1.00002023/2/4機械工業(yè)出版社Page40結(jié)構(gòu)體相當(dāng)于一個數(shù)據(jù)容器,把多個相關(guān)聯(lián)的不同類型的數(shù)據(jù)封裝在一個結(jié)構(gòu)體對象中。結(jié)構(gòu)體是利用域而非下標(biāo)索引來對結(jié)構(gòu)元素進行尋址;用點號來訪問域中的數(shù)據(jù)。2.1.5結(jié)構(gòu)體2023/2/4機械工業(yè)出版社Page41賦值語句創(chuàng)建結(jié)構(gòu)體賦值表達式左邊代表了結(jié)構(gòu)體的字段變量名,右邊是給變量所賦予的值。在對結(jié)構(gòu)體的字段進行賦值時,該字段會自動創(chuàng)建。借助圓括號和索引,用戶可輕松創(chuàng)建擁有相同結(jié)構(gòu)的結(jié)構(gòu)體數(shù)組對象。2.1.5結(jié)構(gòu)體2023/2/4機械工業(yè)出版社Page42【例2-11】利用賦值語句創(chuàng)建結(jié)構(gòu)體示例。2.1.5結(jié)構(gòu)體>>='Tom';>>person.sex='male';>>person.age=20;>>personperson=name:'Tom'sex:'male'age:20>>person(2).name='Jack';>>person(2).sex='male';>>person(2).age=18;>>personperson=1x2structarraywithfields:namesexage2023/2/4機械工業(yè)出版社Page43struct函數(shù)創(chuàng)建結(jié)構(gòu)體函數(shù)的語法形式如下
:sArray=struct('field1',values1,'field2',values2,...)其中:filed1、field2:結(jié)構(gòu)體包含的第一個和第二個字段value1、value2:結(jié)構(gòu)體第一個字段和第二個字段的數(shù)值sArray:所創(chuàng)建的結(jié)構(gòu)體對象名sArray2.1.5結(jié)構(gòu)體2023/2/4機械工業(yè)出版社Page44【例2-12】struct函數(shù)創(chuàng)建結(jié)構(gòu)體示例。2.1.5結(jié)構(gòu)體>>person=struct('name','Tom','sex','male','age',20)person=name:'Tom'sex:'male'age:202023/2/4機械工業(yè)出版社Page45增加結(jié)構(gòu)體字段當(dāng)為結(jié)構(gòu)體數(shù)組中的任意一個元素定義一個新的字段時,該數(shù)組中的所有元素都會增加一個新的字段。刪除結(jié)構(gòu)體字段rmfield函數(shù)來刪除結(jié)構(gòu)體的字段;strArray2=rmfield(strArray,'field')參數(shù)分別為結(jié)構(gòu)體對象和待刪除字段;2.1.5結(jié)構(gòu)體2023/2/4機械工業(yè)出版社Page46【例2-13(14)】修改結(jié)構(gòu)體示例。2.1.5結(jié)構(gòu)體>>person(2).height=175;>>person(1)ans=name:'Tom'sex:'male'age:'20'height:[]>>person(2)ans=name:'Jack'sex:'male'age:18height:175>>newperson=
rmfield(person,'sex')newperson=1x2structarraywithfields:nameageheight2023/2/4機械工業(yè)出版社Page47訪問結(jié)構(gòu)體MATLAB中對結(jié)構(gòu)體成員字段的訪問與C、C++和Java中對結(jié)構(gòu)體成員變量的訪問很類似,他們都是在結(jié)構(gòu)體數(shù)組對象后通過“.”運算符和字段名來實現(xiàn)對字段的訪問。MATLAB是通過圓括號()與索引下標(biāo)來訪問結(jié)構(gòu)體數(shù)組元素。2.1.5結(jié)構(gòu)體2023/2/4機械工業(yè)出版社Page48【例2-15】利用圓括號和點運算符訪問結(jié)果體數(shù)組person中的元素及字段。2.1.5結(jié)構(gòu)體>>person(1).name
ans=Tom>>person(2).height
ans=175>>fori=1:length(person)
disp(person(i).name);endTomjack
2023/2/4機械工業(yè)出版社Page49結(jié)構(gòu)體嵌套
結(jié)構(gòu)體可以包含多個字段,并且每個字段都可以存儲不同類型的數(shù)據(jù),包括結(jié)構(gòu)體類型的數(shù)據(jù)。當(dāng)結(jié)構(gòu)體的字段也是結(jié)構(gòu)體時,就是這里所介紹的結(jié)構(gòu)體嵌套。
2.1.6結(jié)構(gòu)體2023/2/4機械工業(yè)出版社Page50【例2-16】為結(jié)構(gòu)體數(shù)組person增加一個結(jié)構(gòu)體類型的字段parent,該字段包含father和mother兩個字段。2.1.5結(jié)構(gòu)體>>person(1).parent.father='Joson';>>person(1).parent.mother='Jerry';>>person(1)ans=name:'Tom'sex:'man'age:'20'height:[]parent:[1x1struct]>>person(1).parentans=father:'Joson'mother:'Jerry'2023/2/4機械工業(yè)出版社Page51單元數(shù)組是MATLAB中的一種特殊數(shù)據(jù)結(jié)構(gòu)。與結(jié)構(gòu)體類型類似,單元數(shù)組也可以存儲不同類型、不同大小的數(shù)據(jù)。不同的是,單元數(shù)組的一個單元既可以包含一個整數(shù)數(shù)組或浮點數(shù)數(shù)組,也可以包含一個字符數(shù)組或是復(fù)數(shù)數(shù)組。2.1.6單元數(shù)組2023/2/4機械工業(yè)出版社Page522.1.6單元數(shù)組cell1,1cell1,2cell2,1cell2,22023/2/4機械工業(yè)出版社Page53賦值語句創(chuàng)建單元數(shù)組內(nèi)容下標(biāo)索引賦值:花括號出現(xiàn)在賦值語句左側(cè)A{1,2}=[241;563;789];
單元下標(biāo)索引賦值:花括號出現(xiàn)賦值語句右側(cè)時,左側(cè)用圓括號來標(biāo)識索引
A(2,1)={[1+i*2-2;4-i*5i*6]};
2.1.6單元數(shù)組2023/2/4機械工業(yè)出版社Page54【例2-17】賦值語句創(chuàng)建單元數(shù)組示例。2.1.6單元數(shù)組>>A{1,1}=char('Hello,MATLAB!','IloveMATLAB.','WelcometoMATworld!');>>A{1,2}=[241;563;789];>>A(2,1)={[1+i*2-2;4-i*5i*6]};A(2,2)={[]};
A=[3x21char][3x3double][2x2double] []>>A(1,2)ans=[3x3double]>>A{1,2}ans=2415637892023/2/4機械工業(yè)出版社Page55cell函數(shù)創(chuàng)建結(jié)構(gòu)體函數(shù)的語法形式如下
:
cellarrName=cell(m,n)該語句創(chuàng)建了一個包含m行n列的單元數(shù)組,將其保存在cellarrName中。說明:利用cell函數(shù)創(chuàng)建單元數(shù)組后,還需對數(shù)組的每一個單元進行賦值。
2.1.6單元數(shù)組2023/2/4機械工業(yè)出版社Page56【例2-18】cell函數(shù)創(chuàng)建單元數(shù)組示例。2.1.6單元數(shù)組>>B=cell(2,2);>>B{1,1}=rand(2,2);>>BB=[2x2double][][][]>>B{1,1}ans=0.81470.12700.90580.91342023/2/4機械工業(yè)出版社Page57擴展單元數(shù)組利用賦值語句給單元數(shù)組中的單位賦值,如果這個單元不存在,MATLAB會自動創(chuàng)建對應(yīng)的單元。刪除結(jié)構(gòu)體字段如果要刪除單元數(shù)組中的部分元素,只要將空值賦給這一部分元素即可;若要刪除單元數(shù)組的所有元素,調(diào)用clear命令即可。2.1.6單元數(shù)組2023/2/4機械工業(yè)出版社Page58【例2-19】擴展和刪除單元數(shù)組示例。2.1.6單元數(shù)組>>A{3,3}=rand(2,2);>>AA=[3x21char][3x3double] [][2x2double] [] [][] [][2x2double]>>A(3,:)=[];>>AA=[3x21char][3x3double][][2x2double][][]2023/2/4機械工業(yè)出版社Page59訪問單元數(shù)組利用花括號標(biāo)識的內(nèi)容下標(biāo)索引能夠直接訪問單元數(shù)據(jù)內(nèi)的數(shù)據(jù)。利用圓括號標(biāo)識的單元下標(biāo)索引只能定位單元數(shù)組中單元的位置,其返回結(jié)果仍然是一個單元類型的數(shù)組若想得到單元數(shù)組中某個單元內(nèi)容的子集,可通過兩套下標(biāo)來達到目的。2.1.6單元數(shù)組2023/2/4機械工業(yè)出版社Page60【例2-20】訪問單元數(shù)組內(nèi)部數(shù)據(jù)示例。2.1.6單元數(shù)組>>A{1,1}=char('Hello,MATLAB!','IloveMATLAB.','WelcometoMATworld!');>>A{1,2}=[241;563;789];>>A(2,1)={[1+i*2-2;4-i*5i*6]};A(2,2)={[]};>>A{1,2}(1,2)
ans=4>>B=A(1,2)B=[3x3double]%B的大小為1×1>>B{1,1}
%返回B(1,1)中的內(nèi)容
ans=241;563;789>>B{1,1}(3,3)
%返回B(1,1)中(3,3)位置的內(nèi)容
ans=92023/2/4機械工業(yè)出版社Page61結(jié)構(gòu)體嵌套和結(jié)構(gòu)體類型類似,單元數(shù)組也支持嵌套。嵌套單元數(shù)組的創(chuàng)建及各種操作與一般單元數(shù)組類似,都是通過花括號來指定單元內(nèi)容。2.1.6單元數(shù)組2023/2/4機械工業(yè)出版社Page62【例2-21】創(chuàng)建嵌套單元數(shù)組示例。2.1.6單元數(shù)組>>A{1,1}=char('Hello,MATLAB!','IloveMATLAB.','WelcometoMATworld!');>>A{1,2}=[241;563;789];A{2,1}=[1+i*2-2;4-i*5i*6];>>A{2,2}(1,1)={‘Hi,Everyone!’};A{2,2}(1,2)={rand(2,2)};>>A{2,2}(2,2)={cell(2,2)};A=[3x21char][3x3double][]{2x2cell}>>A{2,2}ans='Hi,Everyone!'[2x2double][]{2x2cell}2023/2/4機械工業(yè)出版社Page632.2基本運算符2.2.1算術(shù)運算符2.2.2關(guān)系運算符2.2.3邏輯運算符2.2.4運算符優(yōu)先級2023/2/4機械工業(yè)出版社Page64算術(shù)運算符用于實現(xiàn)數(shù)值的計算,按作用對象的不同,可以將MATLAB算符運算符可分為數(shù)組運算符和矩陣運算符兩類。2.2.1算術(shù)運算符2023/2/4機械工業(yè)出版社Page65數(shù)組運算符+:數(shù)組相加運算符;-
:數(shù)組相減運算符;.*
:數(shù)組相乘運算符;./:數(shù)組右除運算符;.\:數(shù)組左除運算符;.^
:數(shù)組乘方運算符;.’
:數(shù)組轉(zhuǎn)置運算符;2.2.1算術(shù)運算符算術(shù)運算,是兩個同維數(shù)組對應(yīng)元素之間的運算。當(dāng)一個標(biāo)量與數(shù)組進行算術(shù)運算,標(biāo)量與數(shù)組每個元素都進行運算。2023/2/4機械工業(yè)出版社Page66矩陣運算符+:矩陣相加運算符;-
:矩陣相減運算符;*:矩陣相乘運算符;/:矩陣右除運算符;\
:矩陣左除運算符;^
:矩陣乘方運算符;’:矩陣轉(zhuǎn)置運算符;::矩陣索引運算符,用于增量操作。2.2.1算術(shù)運算符
MATLAB矩陣運算是按線性代數(shù)的規(guī)則進行運算,利用矩陣運算符對矩陣進行操作時矩陣的維數(shù)要滿足相關(guān)運算條件。。2023/2/4機械工業(yè)出版社Page67關(guān)系運算符用于比較兩個同維數(shù)組或同維向量的對應(yīng)元素,結(jié)果為與操作數(shù)同維的邏輯數(shù)組,數(shù)組的每個元素為邏輯真或邏輯假。
2.2.2關(guān)系運算符2023/2/4機械工業(yè)出版社Page68小于運算符<
:
,當(dāng)左操作數(shù)小于右操作數(shù)時返回邏輯真,否則返回邏輯假;小于等于運算符<=:當(dāng)左操作數(shù)小于等于右操作數(shù)時返回邏輯真,否則返回邏輯假大于運算符>
:當(dāng)左操作數(shù)大于右操作數(shù)時返回邏輯真,否則返回邏輯假;2.2.2關(guān)系運算符2023/2/4機械工業(yè)出版社Page69大于等于運算符>=:當(dāng)左操作數(shù)大于等于右操作數(shù)時返回邏輯真,否則返回邏輯假;等于操作符==
:當(dāng)左操作數(shù)與右操作數(shù)相等時返回邏輯真,否則返回邏輯假;不等于操作符~=:當(dāng)左操作數(shù)與右操作數(shù)不相等時返回邏輯真,否則返回邏輯假。2.2.2關(guān)系運算符2023/2/4機械工業(yè)出版社Page70【例2-22】關(guān)系運算符使用示例。2.2.2關(guān)系運算符>>A=rand(3,3)A=0.42180.95950.84910.91570.65570.93400.79220.03570.6787>>B=rand(3,3)B=0.75770.65550.03180.74310.17120.27690.39220.70600.0462>>A>Bans=0111111012023/2/4機械工業(yè)出版社Page71
MATLAB包含三種類型的邏輯運算:逐元素邏輯運算、捷徑邏輯運算和逐位邏輯運算,其中前面兩類以運算符的形式提供。2.2.3邏輯運算符2023/2/4機械工業(yè)出版社Page72逐元素邏輯運算符邏輯與&
:當(dāng)左操作數(shù)和右操作數(shù)都為邏輯“真”時,返回邏輯“真”,否則返回邏輯“假”;邏輯或|:當(dāng)左操作數(shù)或右操作數(shù)為邏輯“真”時,返回邏輯“真”,否則返回邏輯“假”邏輯非~
:單目運算符,當(dāng)操作數(shù)為邏輯“真”或非零時,返回邏輯“假”,否則返回邏輯“真”。2.2.3邏輯運算符2023/2/4機械工業(yè)出版社Page73捷徑邏輯運算符邏輯與&&:當(dāng)左操作數(shù)為邏輯“假”時,不再對右操作數(shù)進行判斷,直接返回邏輯“假”,否則同逐元素邏輯與(&);邏輯或||:當(dāng)左操作數(shù)為邏輯“真”時,不再對右操作數(shù)進行判斷,直接返回邏輯“真”,否則同逐元素邏輯或(|)。2.2.3邏輯運算符2023/2/4機械工業(yè)出版社Page74同C、C++等高級編程語言一樣,MATLAB對各種運算符的優(yōu)先級也作了規(guī)定。在進行運算時,遵循高優(yōu)先級的運算符先于低優(yōu)先級運算符的計算,相同優(yōu)先級的運算符的計算遵從左到右的原則。
MATLAB的運算符共有11個優(yōu)先級。2.2.4運算符優(yōu)先級2023/2/4機械工業(yè)出版社Page751.小括號(());2.轉(zhuǎn)置和乘冪(.’、.^、’、^);3.一元加/減運算(+、-)和邏輯非(~);4.乘(*),除(/、\),點乘(.*)、點除(./、.\);5.加(+)、減(-);6.冒號運算(:);7.關(guān)系運算(>、>=、<、<=、==、~=);
2.2.4運算符優(yōu)先級2023/2/4機械工業(yè)出版社Page768.逐元素邏輯與(&);9.逐元素邏輯或(|);10.捷徑邏輯與(&&);11.捷徑邏輯或(||)。2.2.4運算符優(yōu)先級在所有運算符中,括號運算符優(yōu)先級最高,其次是各種算術(shù)運算符,然后是關(guān)系運算符,優(yōu)先級最低的是邏輯運算符。2023/2/4機械工業(yè)出版社Page772.3數(shù)組及其運算2.3.1數(shù)組的創(chuàng)建2.3.2數(shù)組元素的訪問2.3.3數(shù)組操作2.3.4數(shù)組運算2.3.5多維數(shù)組2023/2/4機械工業(yè)出版社Page78按照數(shù)組排列方式和元素個數(shù)的不同,可以將MATLAB數(shù)組分為空數(shù)組、一維數(shù)組、二維數(shù)組和多維數(shù)組。MATLAB一般使用方括號、逗號、空格和分號來創(chuàng)建數(shù)組。方括號中給出數(shù)組的所有元素,不同行之間用分號分隔,同一行不同元素之間用逗號和空格分隔。2.3.1數(shù)組的創(chuàng)建2023/2/4機械工業(yè)出版社Page79創(chuàng)建空數(shù)組A=[]創(chuàng)建一維數(shù)組創(chuàng)建一維行向量,把所有用空格或逗號分隔的元素用方括號括起來;創(chuàng)建一維列向量,把所有用分隔分隔的元素用方括號括起來;利用轉(zhuǎn)置運算符將行向量轉(zhuǎn)換為列向量。2.3.1數(shù)組的創(chuàng)建2023/2/4機械工業(yè)出版社Page80創(chuàng)建一維數(shù)組通過冒號運算符(:)來創(chuàng)建等差向量
varName=startVal
:step:stopVal通過linspace函數(shù)創(chuàng)建等差向量;通過logspace函數(shù)創(chuàng)建等比向量;2.3.1數(shù)組的創(chuàng)建2023/2/4機械工業(yè)出版社Page81創(chuàng)建二維數(shù)組二維數(shù)組的創(chuàng)建與一維數(shù)組類似,也是利用方括號、分號、逗號和空格將元素進行分隔和組合來構(gòu)成數(shù)組。其中,方括號中包含所有元素,不同行元素之間用分號分隔,同一行元素之間用逗號或空格間隔。可以利用冒號和函數(shù)來創(chuàng)建二維數(shù)組。2.3.1數(shù)組的創(chuàng)建2023/2/4機械工業(yè)出版社Page82【例2-23】創(chuàng)建一維數(shù)組示例。2.3.1數(shù)組的創(chuàng)建>>A=[]%創(chuàng)建空數(shù)組A=[]>>A=[1357]%創(chuàng)建一維行向量A=1357>>A=[1;3;5;7]%創(chuàng)建一維列向量A=1357>>A=1:2:7A=13572023/2/4機械工業(yè)出版社Page83【例2-24】創(chuàng)建二維數(shù)組示例。2.3.1數(shù)組的創(chuàng)建>>A=[123;456;789]A=123456789>>B=[135;4:2:8;linspace(2,10,3)]B=13546826102023/2/4機械工業(yè)出版社Page84給定一個一維數(shù)組A,可以用A(n)來訪問數(shù)組A的第n個元素,若要同時訪問數(shù)組A的多個元素,可以利用冒號操作符(:),如A(1:3)會返回數(shù)組第1至第3個元素。對于二維數(shù)組,MATLAB提供了雙下標(biāo)索引和單下標(biāo)索引兩種方式來訪問數(shù)組元素。2.3.2數(shù)組元素的訪問2023/2/4機械工業(yè)出版社Page85雙下標(biāo)索引用兩個數(shù)字來定位元素的位置,第一個數(shù)字指定元素所在的行,第二個數(shù)字指定元素所在的列單下標(biāo)索引只用一個數(shù)字來指定數(shù)組元素的位置
2.3.2數(shù)組元素的訪問2023/2/4機械工業(yè)出版社Page86單雙下標(biāo)索引轉(zhuǎn)換函數(shù)
ind=sub2ind(size,x,y)[x,y]=ind2sub(size,ind)其中:size:一個1行2列的數(shù)組,指定數(shù)組的尺寸大??;x、y:雙下標(biāo)索引值;ind:單下標(biāo)索引值。2.3.2數(shù)組元素的訪問2023/2/4機械工業(yè)出版社Page87【例2-25】二維數(shù)組訪問示例。2.3.2數(shù)組元素的訪問>>A=rand(3,4)%隨機生成一個3行4列的數(shù)組A=0.09710.31710.43870.79520.82350.95020.38160.18690.69480.03440.76550.4898>>A(2,3)
ans=0.3816%訪問第2行第3列元素>>A(8)
ans=0.3816%訪問下標(biāo)為8的元素>>ind=sub2ind([3,4],2,3)%雙->單下標(biāo)索引
ind=8>>[x,y]=ind2sub(size(A),8)%單->雙下標(biāo)索引x=2y=32023/2/4機械工業(yè)出版社Page88數(shù)組的基本操作包括數(shù)組的載入與保存、獲取數(shù)組屬性、改變數(shù)組結(jié)構(gòu)(伸縮數(shù)組)、改變數(shù)組形狀、數(shù)組排序和數(shù)組查找等。2.3.3數(shù)組操作2023/2/4機械工業(yè)出版社Page89數(shù)組載入與保存save<filename><var1><var2>…<varN>將工作區(qū)中的變量var1、var2…varN保存到filename指定的mat文件中l(wèi)oad<filename><var1><var2>…<varN>將存儲在filename.mat文件中的var1、var2…varN載入到工作區(qū)中。2.3.3數(shù)組操作2023/2/4機械工業(yè)出版社Page90獲取數(shù)組排列結(jié)構(gòu)isempty:判斷某個數(shù)組是否是空數(shù)組;isscalar:判斷某個數(shù)組是否是單元素的標(biāo)量數(shù)組;isvector:判斷某個數(shù)組是否是一維向量數(shù)組issparse:判斷某個數(shù)組是否是稀疏矩陣。2.3.3數(shù)組操作2023/2/4機械工業(yè)出版社Page91獲取數(shù)組大小size:獲取數(shù)組行列數(shù),返回值是一個1行2列的一維向量;length:獲取數(shù)組的長度,當(dāng)數(shù)組是一維數(shù)組時,返回值為數(shù)組中包含元素的個數(shù);若數(shù)組是二維數(shù)組,返回行數(shù)與列數(shù)中較大的那一個值;numel:返回數(shù)組元素的總個數(shù),對于一個m行n列的二維數(shù)組,函數(shù)返回值為m×n。2.3.3數(shù)組操作2023/2/4機械工業(yè)出版社Page92獲取數(shù)組數(shù)據(jù)類型isnumeric:判斷數(shù)組元素是否是數(shù)值型;isreal:判斷數(shù)組元素是否是實數(shù)型;isfloat:判斷數(shù)組元素是否是浮點型;isinteger:判斷數(shù)組元素是否是以整型;islogical:判斷數(shù)組元素是否是邏輯型;ischar:判斷數(shù)組元素是否是字符型;isstruct:判斷數(shù)組元素是否是結(jié)構(gòu)體型;iscell:判斷數(shù)組元素是否是單元數(shù)組型;iscellstr:判斷是否是字符串單元數(shù)組型;2.3.3數(shù)組操作2023/2/4機械工業(yè)出版社Page93改變數(shù)組結(jié)構(gòu)利用變量編輯器改變數(shù)組結(jié)構(gòu)利用下標(biāo)索引擴展數(shù)組:當(dāng)超過下標(biāo)索引取值范圍來定位數(shù)組元素,并對其賦值,就可以實現(xiàn)數(shù)組尺寸的擴張利用cat函數(shù)擴展數(shù)組:cat
horzcat
vertcat
利用塊操作函數(shù)擴展數(shù)組:repmat
blkdiag
利用[]裁剪數(shù)組:對指定位置的元素賦值為空方括號[],即可完成數(shù)組元素的刪除2.3.3數(shù)組操作2023/2/4機械工業(yè)出版社Page94【例2-26】數(shù)組擴展和裁剪示例。2.3.3數(shù)組操作A=0.44560.75470.65510.64630.27600.16260.70940.67970.1190>>A(3,4)=0.9%利用下標(biāo)索引擴展數(shù)組A=0.44560.75470.655100.64630.27600.162600.70940.67970.11900.9000>>A(3,:)=[];A(:,4)=[]
%利用[]裁剪數(shù)組A=0.44560.75470.65510.64630.27600.16262023/2/4機械工業(yè)出版社Page952.3.3數(shù)組操作>>repmat(A,2,2)%利用repmat函數(shù)擴展數(shù)組ans=0.44560.75470.65510.44560.75470.65510.64630.27600.16260.64630.27600.16260.44560.75470.65510.44560.75470.65510.64630.27600.16260.64630.27600.1626>>B=[13;42];>>blkdiag(A,B)%利用blkdiag函數(shù)擴展數(shù)組ans=0.44560.75470.6551000.64630.27600.1626000001.00003.00000004.00002.00002023/2/4機械工業(yè)出版社Page96改變數(shù)組形狀——轉(zhuǎn)置轉(zhuǎn)置操作符(’):實現(xiàn)數(shù)組的共軛轉(zhuǎn)置;點轉(zhuǎn)置操作符(.’):實現(xiàn)數(shù)組的非共軛轉(zhuǎn)置transpose:實現(xiàn)數(shù)組的非共軛轉(zhuǎn)置,功能同點轉(zhuǎn)置操作符(.’);ctanspose:實現(xiàn)數(shù)組的共軛轉(zhuǎn)置,功能同轉(zhuǎn)置操作符(’)。2.3.3數(shù)組操作2023/2/4機械工業(yè)出版社Page97改變數(shù)組形狀——數(shù)組翻轉(zhuǎn)fliplr:左右翻轉(zhuǎn)數(shù)組;flipud:上下翻轉(zhuǎn)數(shù)組;flipdim:按指定方向翻轉(zhuǎn)數(shù)組,當(dāng)方向參數(shù)值為1時,等同flipup,當(dāng)方向參數(shù)值為2時,等同fliplr;rot90:將數(shù)組逆時針旋轉(zhuǎn)90度的整數(shù)倍。2.3.3數(shù)組操作2023/2/4機械工業(yè)出版社Page98改變數(shù)組形狀——reshape函數(shù)reshape函數(shù)的語法形式如下:B=reshape(A,a,b)A:輸入數(shù)組;a、b:調(diào)整之后的行數(shù)與列數(shù);B:調(diào)整之后的數(shù)組。2.3.3數(shù)組操作調(diào)整前后,數(shù)組元素個數(shù)不會改變。若A的行列數(shù)分別為m和n,調(diào)正后的行列數(shù)分別為a和b,則有
m*n=a*b2023/2/4機械工業(yè)出版社Page99【例2-27】改變數(shù)組形狀示例。2.3.3數(shù)組操作A=0.49840.58530.25510.89090.95970.22380.50600.95930.34040.75130.69910.5472>>B=A'%對數(shù)組進行轉(zhuǎn)置操作B=0.49840.95970.34040.58530.22380.75130.25510.50600.69910.89090.95930.54722023/2/4機械工業(yè)出版社Page1002.3.3數(shù)組操作%對數(shù)組A進行左右翻轉(zhuǎn)>>C=fliplr(A)C=0.89090.25510.58530.49840.95930.50600.22380.95970.54720.69910.75130.3404%將數(shù)組A的行數(shù)變?yōu)?,列數(shù)變?yōu)?>>D=reshape(A,4,3)D=0.49840.22380.69910.95970.75130.89090.34040.25510.95930.58530.50600.54722023/2/4機械工業(yè)出版社Page101數(shù)組排序sort函數(shù)的語法形式如下所示:B=sort(A)B=sort(A,dim)B=sort(...,mode)[B,IX]=sort(A,...)2.3.3數(shù)組操作dim=1對每一列排序,dim=2對每一行排序;mode=’ascend’時,升序排序,mode=’descend’時,降序排序;sort(A)實現(xiàn)對一維或二維數(shù)組進行升序排序,并返回排序后的數(shù)組,當(dāng)A為二維數(shù)組時,對數(shù)組的每一列進行排序。
2023/2/4機械工業(yè)出版社Page102【例2-28】數(shù)組排序示例。2.3.3數(shù)組操作A=0.13860.84070.24350.19660.14930.25430.92930.25110.25750.81430.35000.6160>>sort(A)%對數(shù)組A按列升序排列ans=0.13860.25430.24350.19660.14930.81430.35000.25110.25750.84070.92930.6160>>sort(A,2,'descend')%對數(shù)組A按行降序排列ans=0.84070.24350.19660.13860.92930.25430.25110.14930.81430.61600.35000.25752023/2/4機械工業(yè)出版社Page103數(shù)組查找find函數(shù)的語法形式如下所示:ind=find(X)ind=find(X,k)[row,col]=find(X,...)2.3.3數(shù)組操作find(X)返回數(shù)組A中非零元素的單下標(biāo)索引。find(X,k)返回數(shù)組A中最多k個非零元素的單下標(biāo)索引[row,col]=find(X,...)返回數(shù)組A的雙下標(biāo)索引。2023/2/4機械工業(yè)出版社Page104數(shù)組的運算包括標(biāo)量-數(shù)組運算和數(shù)組-數(shù)組運算。本書的數(shù)組運算限定為元素對元素的運算,矩陣運算則是遵循線性代數(shù)運算規(guī)則的運算,詳見2.4.3。2.3.4數(shù)組運算2023/2/4機械工業(yè)出版社Page105數(shù)組-數(shù)組運算數(shù)組-數(shù)組運算要求參與運算的兩個數(shù)組具有相同的尺寸;一個數(shù)組中的元素只與另一個數(shù)組中對應(yīng)位置的元素進行運算;數(shù)組-數(shù)組運算的乘法、除法和乘方運算為點運算。2.3.4數(shù)組運算2023/2/4機械工業(yè)出版社Page106標(biāo)量-數(shù)組運算標(biāo)量與數(shù)組的運算,就是將標(biāo)量作用與數(shù)組的每個元素上。常見的運算包括加(+)、減(-)、乘(*)、除(\)和乘方等運算。2.3.4數(shù)組運算2023/2/4機械工業(yè)出版社Page107【例2-29】標(biāo)量-數(shù)組運算示例。2.3.4數(shù)組運算A=816357492>>A-2ans=6-14135270>>A*2ans=162126101481842023/2/4機械工業(yè)出版社Page108【例2-30】數(shù)組-數(shù)組運算示例。2.3.4數(shù)組運算A=0.26300.74820.22900.65410.45050.91330.68920.08380.1524B=0.82580.07820.96190.53830.44270.00460.99610.10670.7749>>A–Bans=-0.56280.6700-0.73290.11580.00780.9087-0.3069-0.0229-0.6225>>A.*Bans=0.21720.05850.22030.35210.19940.00420.68660.00890.1181>>A.\Bans=3.14030.10454.20090.82310.98250.00511.44531.27245.0854>>A.^2ans=0.06920.55970.05240.42780.20300.83420.47500.00700.02322023/2/4機械工業(yè)出版社Page109多維數(shù)組是指維數(shù)超過兩維的數(shù)組,它實際上是二維數(shù)組的擴展。對于二維數(shù)組,習(xí)慣上將第一維稱為行,第二維稱為列,二維數(shù)組就是一個由行和列所確定的“面”,多維數(shù)組實際上是在多維空間中對這個“面”的擴展。2.3.5多維數(shù)組2023/2/4機械工業(yè)出版社Page110創(chuàng)建多維數(shù)組通過指定索引將二維數(shù)組擴展成多維數(shù)組;利用MATLAB內(nèi)聯(lián)函數(shù)創(chuàng)建多維數(shù)組:reshaperepmat
利用cat函數(shù)創(chuàng)建多維數(shù)組;通過擴展二維數(shù)組創(chuàng)建三維數(shù)組,一般先創(chuàng)建三維數(shù)組每一頁上的二維數(shù)組,然后將它們賦值給三維數(shù)組第三維的指定位置。2.3.5多維數(shù)組2023/2/4機械工業(yè)出版社Page111【例2-31】擴展二維數(shù)組來創(chuàng)建三維數(shù)組。2.3.5多維數(shù)組A=0.81730.08440.25990.86870.39980.8001>>A(:,:,2)=ones(2,3)%給數(shù)組A增加一頁A(:,:,1)=0.81730.08440.25990.86870.39980.8001A(:,:,2)=1111112023/2/4機械工業(yè)出版社Page112【例2-32】利用MATLAB內(nèi)聯(lián)函數(shù)創(chuàng)建多維數(shù)組示例
。2.3.5多維數(shù)組A=0.35100.40180.23990.18390.41730.90270.51320.07600.12330.24000.04970.9448%將數(shù)組A變形為一個2行3列2頁的三維數(shù)組>>B=reshape(A,2,3,2)
B(:,:,1)=0.35100.40180.23990.51320.07600.1233B(:,:,2)=0.18390.41730.90270.24000.04970.94482023/2/4機械工業(yè)出版社Page1132.3.5多維數(shù)組A=0.35100.40180.23990.18390.41730.90270.51320.07600.12330.24000.04970.9448C=111111%將數(shù)組B和C連接成一個新的多維數(shù)組D>>D=cat(3,B,C)
D(:,:,1)=0.35100.40180.23990.51320.07600.1233D(:,:,2)=0.18390.41730.90270.24000.04970.9448D(:,:,3)=1111112023/2/4機械工業(yè)出版社Page114多維數(shù)組訪問多維數(shù)組也是通過下標(biāo)索引實現(xiàn)對多維數(shù)組元素的訪問,包括多下標(biāo)索引和單下標(biāo)索引對于n維數(shù)組,多下標(biāo)索引方法通過指定n個下標(biāo)索引來訪問指定位置的元素單下標(biāo)索引方法則是通過一個下標(biāo)來定位多維數(shù)組的元素多下標(biāo)索引與單下標(biāo)索引之間也可以相互轉(zhuǎn)換2.3.5多維數(shù)組2023/2/4機械工業(yè)出版社Page115多維數(shù)組訪問MATLAB是按照行-列-頁的順序?qū)⒍嗑S數(shù)組的所有元素線性存儲起來;即:先存儲第1頁第1列第1行的元素,然后存儲第1頁第1列第2行的元素,存儲完第1列后,再存儲第2列,完成第1頁的存儲再存儲第2頁,直至最后一頁最后一個元素。2.3.5多維數(shù)組2023/2/4機械工業(yè)出版社Page116【例2-33】多維數(shù)組訪問示例
。2.3.5多維數(shù)組A(:,:,1)=0.49090.33770.36920.48930.90010.1112A(:,:,2)=0.78030.24170.09650.38970.40390.1320>>A(1,3,1)
ans=0.3692>>A(5)
ans=0.3692>>A(9)=0.99
%對數(shù)組中下標(biāo)索引為9的元素賦值A(chǔ)(:,:,1)=0.49
溫馨提示
- 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. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年超額保險合同賠付限制
- 2025版城市更新改造項目投標(biāo)承諾書規(guī)范范本3篇
- 2025版木雕工藝品制作木工分包合同范本4篇
- 2025版企業(yè)銷售業(yè)務(wù)員合作協(xié)議范本3篇
- 2025年度豬圈建造與農(nóng)業(yè)循環(huán)經(jīng)濟合同4篇
- 二零二五版電影院裝修升級合同范本3篇
- 2025版學(xué)校教師聘用合同范本:職稱晉升條款詳解3篇
- 2025年度體育場館草坪鋪設(shè)與維護服務(wù)合同4篇
- 2025年度貨車司機勞動合同(附交通事故責(zé)任及賠償)
- 2025年度智能科技股權(quán)眾籌協(xié)議書模板
- 高考語文復(fù)習(xí)【知識精研】《千里江山圖》高考真題說題課件
- 河北省承德市2023-2024學(xué)年高一上學(xué)期期末物理試卷(含答案)
- 高中物理斜面模型大全(80個)
- 012主要研究者(PI)職責(zé)藥物臨床試驗機構(gòu)GCP SOP
- 農(nóng)耕研學(xué)活動方案種小麥
- 2024年佛山市勞動合同條例
- 污水管網(wǎng)規(guī)劃建設(shè)方案
- 城鎮(zhèn)智慧排水系統(tǒng)技術(shù)標(biāo)準(zhǔn)
- 采購管理制度及流程采購管理制度及流程
- 五年級美術(shù)下冊第9課《寫意蔬果》-優(yōu)秀課件4人教版
- 節(jié)能降耗課件
評論
0/150
提交評論