《MATLAB7 基礎(chǔ)教程》課件第3章_第1頁
《MATLAB7 基礎(chǔ)教程》課件第3章_第2頁
《MATLAB7 基礎(chǔ)教程》課件第3章_第3頁
《MATLAB7 基礎(chǔ)教程》課件第3章_第4頁
《MATLAB7 基礎(chǔ)教程》課件第3章_第5頁
已閱讀5頁,還剩95頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

3.1數(shù)值類型

3.2邏輯類型3.3字符串3.4日期與時間3.5結(jié)構(gòu)

3.6單元數(shù)組

3.7函數(shù)句柄

3.8MATLAB類3.9Java類

MATLAB提供了許多數(shù)據(jù)類型供用戶使用,此外用戶還可以根據(jù)自己的需要創(chuàng)建新的數(shù)據(jù)類型。利用結(jié)構(gòu)和單元數(shù)組這兩種數(shù)據(jù)類型,還可以將不同類型的數(shù)據(jù)存儲到一個數(shù)組當中。

MATLAB中共有15種基本數(shù)據(jù)類型和2種自定義類型(用戶類和Java類),它們之間的關(guān)系如圖3-1所示。圖3-1MATLAB的數(shù)據(jù)類型及它們之間的關(guān)系3.1.1整數(shù)

MATLAB中有4種有符號整數(shù)類型、4種無符號整數(shù)類型。有符號整數(shù)類型數(shù)據(jù)需要占用1位來表示數(shù)據(jù)的正負,因此它的取值范圍小于無符號整數(shù)。表3-1給出了這8種數(shù)據(jù)類型的取值范圍和類型轉(zhuǎn)化函數(shù)。3.1數(shù)值類型表3-1整數(shù)類型的取值范圍和類型轉(zhuǎn)化函數(shù)

MATLAB的默認數(shù)據(jù)存儲類型為double類型,利用類型轉(zhuǎn)化函數(shù)可將數(shù)據(jù)存儲為整數(shù)類型。如果數(shù)據(jù)中含有小數(shù)部分,MATLAB將按照四舍五入的方法將其轉(zhuǎn)化為整數(shù)。

【例】

整數(shù)類型的轉(zhuǎn)化。

在命令窗輸入:

>>x=4.5001;

>>int16(x)

運行結(jié)果:

ans=

5

用戶也可以根據(jù)需要對數(shù)據(jù)的小數(shù)部分進行舍入。

【例】舍入后轉(zhuǎn)化為整數(shù)類型。

在命令窗輸入:

>>x=4.5001;

>>y=int16(floor(x)),z=int16(ceil(x))

運行結(jié)果:

y=

4

z=

5整數(shù)類型轉(zhuǎn)化函數(shù)也可將字符串類型轉(zhuǎn)化為整數(shù)類型。

【例】轉(zhuǎn)化ASCII碼。

在命令窗輸入:

>>str=‘01Aa’,int8(str)

運行結(jié)果:

str=

01Aa

ans=

4849326597某個整數(shù)類型的變量只能與該整數(shù)類型或者double類型的變量進行算術(shù)運算,其運算結(jié)果仍為該類型的整數(shù)。

【例】整數(shù)類型的算術(shù)運算。

在命令窗輸入:

>>x=uint32(250)*pi;

>>class(x)

運行結(jié)果:

ans=

uint32

整數(shù)的取值范圍可以通過函數(shù)intmax和intmin來查看,如果待轉(zhuǎn)化的數(shù)據(jù)超出了取值范圍,則將該數(shù)據(jù)變?yōu)槿≈捣秶鷥?nèi)的最值。

【例】整數(shù)類型的范圍。

在命令窗輸入:

>>intmax(‘int8’),x=int8(333)

運行結(jié)果:

ans=

127

x=

1273.1.2浮點數(shù)

MATLAB的浮點數(shù)分為單精度浮點數(shù)類型(single)和雙精度浮點數(shù)類型(double)。double為默認數(shù)據(jù)類型,需要64位的存儲空間,第63位代表符號,第52~62位存儲指數(shù)部分且有1023的偏移量,第51~0位存儲小數(shù)部分;single需要32位的存儲空間,第31位代表符號,第30~23位存儲指數(shù)部分且有127的偏移量,第22~0位存儲小數(shù)部分。

直接輸入變量值就可以創(chuàng)建double類型的變量,而創(chuàng)建single類型的變量則需要輸入類型轉(zhuǎn)化函數(shù)。

【例】

創(chuàng)建浮點數(shù)。

在命令窗輸入:

>>x=132;y=single(132);

>>whos(‘x’,‘y’)

運行結(jié)果:

NameSizeBytesClassAttributes

x1x18double

y1x14single

浮點類型數(shù)據(jù)可以與char、double、single、logical、int*?以及uint*?類型的數(shù)據(jù)進行算術(shù)運算,其運算結(jié)果類型如表3-2所示。表3-2浮點類型與各種類型數(shù)據(jù)運算結(jié)果要查看浮點類型的取值范圍,可使用realmax(‘double’)、realmax(‘single’)、realmin(‘double’)以及realmin(‘double’)等函數(shù)來實現(xiàn)。

如果浮點數(shù)運算結(jié)果的精度不能令人滿意,很可能是由于計算機硬件的局限導致的。硬件沒有足夠的位數(shù)來表示結(jié)果,就會截短數(shù)據(jù)。在每一個浮點數(shù)與最接近它的更大的浮點數(shù)之間存在一個差值,這個差值的大小不僅取決于浮點數(shù)的類型,還取決于這個浮點數(shù)的大小。

【例】浮點相對精度。

在命令窗輸入:

>>formatlong

>>eps(7),eps(3)

運行結(jié)果:

ans=

8.881784197001252e-016

ans=

4.440892098500626e-016在命令窗輸入:

>>eps(single(7)),eps(single(3))

運行結(jié)果:

ans=

4.7683716e-007

ans=

2.3841858e-007

對于浮點數(shù)的運算操作要特別小心,以免帶來不必要的麻煩。下面給出一些常見錯誤的具體例子作為參考。

【例】舍入誤差。

在命令窗輸入:

>>x=1-3*(4/3-1)

運行結(jié)果:

x=

2.220446049250313e-016

在命令窗輸入:

>>a=0.0;

fori=1:10

a=a+0.1;

end

>>a==1運行結(jié)果:

ans=

0

在命令窗輸入:

>>b=1e-13+1-1e-13;c=1e-13-1e-13+1;

>>b-c

運行結(jié)果:

ans=

-1.110223024625157e-016在命令窗輸入:

>>sin(2*pi)

運行結(jié)果:

ans=

-2.449293598294706e-016

【例】災(zāi)難對消。

在命令窗輸入:

>>sqrt(1e-18+1)-1運行結(jié)果:

ans=

0

【例】解線性方程組。

在命令窗輸入:

>>A=[2eps-eps;eps11;-eps11];b=[2;eps+2;-eps+2];

>>x=A\b運行結(jié)果:

Warning:Matrixisclosetosingularorbadlyscaled.

Resultsmaybeinaccurate.RCOND=2.465190e-032.

x=

1.0e+015*

0.000000000000001

2.251799813685249

-2.2517998136852473.1.3復(fù)數(shù)

MATLAB的復(fù)數(shù)分為實部和虛部兩個部分,虛部可以用字母i或j來表示。直接將復(fù)數(shù)的數(shù)學表達式作為命令輸入,就可以創(chuàng)建一個復(fù)數(shù)。另外,運用命令complex(a,b)也可以創(chuàng)建復(fù)數(shù)。complex函數(shù)的第一個參量是實部數(shù)組,第二個參量是虛部數(shù)組。

【例】創(chuàng)建復(fù)數(shù)。

在命令窗輸入:

>>formatshort

>>1-2j運行結(jié)果:

ans=

1.0000-2.0000i

或在命令窗輸入:

>>complex(1,-2)

運行結(jié)果:

ans=

1.0000-2.0000i

利用函數(shù)real(z)和imag(z)可以獲取復(fù)數(shù)的實部和虛部。

【例】獲取復(fù)數(shù)的實部和虛部。

在命令窗輸入:

>>A=[12;34];B=[56;78];

>>Z=complex(A,B)

Zr=real(Z)

Zi=imag(Z)運行結(jié)果:

Z=

1.0000+5.0000i2.0000+6.0000i

3.0000+7.0000i4.0000+8.0000i

Zr=

12

34

Zi=

56

783.1.4無窮與非數(shù)

MATLAB中分別用inf和-inf表示正無窮和負無窮,用NAN表示非數(shù)。

【例】無窮。

在命令窗輸入:

>>1/0

運行結(jié)果:

ans=

Inf

【例】非數(shù)。

在命令窗輸入:

>>0/0

運行結(jié)果:

ans=

NaN3.1.5判斷數(shù)據(jù)類型

判斷數(shù)據(jù)類型的各種命令如表3-3所示。表3-3數(shù)據(jù)類型的判斷命令3.1.6數(shù)據(jù)顯示形式

MATLAB默認的數(shù)據(jù)顯示形式是5位長度的,但是用戶可以通過參數(shù)選擇對話框(File>Preferences)或者利用format函數(shù)設(shè)置數(shù)據(jù)的顯示形式。如果要保存該設(shè)置,建議使用參數(shù)選擇對話框進行設(shè)置。

【例】數(shù)據(jù)顯示形式。在命令窗輸入:

>>x=[2.21e-13]

運行結(jié)果:

x=

2.20000.0000

繼續(xù)在命令窗輸入:

>>formatlong

>>x

x=

2.2000000000000000.000000000000100

【例】改變進位制顯示形式。

在命令窗輸入:

>>formathex

>>x=uint8(15)

運行結(jié)果:

x=

0f3.2.1創(chuàng)建邏輯數(shù)組

通過輸入“true”或“false”就可以直接創(chuàng)建一個邏輯數(shù)組,也可以通過對數(shù)組進行邏輯運算來創(chuàng)建,還可以通過MATLAB函數(shù)來產(chǎn)生。3.2邏輯類型

【例】直接創(chuàng)建邏輯數(shù)組。

在命令窗輸入:

>>x=[true,true,false]

運行結(jié)果:

x=

110

【例】利用邏輯運算創(chuàng)建邏輯數(shù)組。

在命令窗輸入:

>>y=[2,3,5]<4

運行結(jié)果:

y=

110

【例】利用函數(shù)創(chuàng)建邏輯數(shù)組。

在命令窗輸入:

>>z=isfinite([2,4.3,inf])運行結(jié)果:

z=

110

運算結(jié)果為邏輯值的函數(shù)如表3-4所示。表3-4運算產(chǎn)生邏輯結(jié)果的函數(shù)3.2.2邏輯數(shù)組的用途

邏輯數(shù)組主要用在條件語句和數(shù)組索引中。數(shù)組的邏輯索引在許多地方有著特殊的用途。

【例】數(shù)組的邏輯索引。

在命令窗輸入:

>>A=rand(3),A(A<0.5)=0運行結(jié)果:

A=

0.09710.31710.4387

0.82350.95020.3816

0.69480.03440.7655

A=

000

0.82350.95020

0.694800.76553.2.3判斷邏輯類型

表3-5給出了用于判斷x是否為邏輯數(shù)組的命令。表3-5判斷x是否為邏輯數(shù)組的命令3.3.1創(chuàng)建字符數(shù)組

創(chuàng)建字符數(shù)據(jù)最簡單的方法就是在單引號內(nèi)輸入字符,利用strcat函數(shù)也可以將多個字符串串接到一起。

【例】創(chuàng)建字符數(shù)據(jù)。

在命令窗輸入:

>>char1=‘G.Bush’;

>>whoschar13.3字符串運行結(jié)果:

NameSizeBytesClassAttributes

char11x612char

【例】串接字符串。

在命令窗輸入:

>>a=‘G.’;

>>b=‘Bush’;

>>char2=strcat(a,b)運行結(jié)果:

char2=

G.Bush

如果要創(chuàng)建二維字符數(shù)組,則要保證每行有相同的長度。如果長度不同,則需插入空格以達到要求。下面給出的例子是兩個長度為13的字符串組成的數(shù)組。

【例】創(chuàng)建字符串數(shù)組。

在命令窗輸入:

>>names=['ThomasR.Lee';'Sr.Developer']運行結(jié)果:

names=

ThomasR.Lee

Sr.Developer3.3.2字符串單元數(shù)組

由于創(chuàng)建字符數(shù)組要求字符串有相同的長度,在許多情況下會給編程帶來很多不便。為此,MATLAB提供了一種便捷的方法,即通過創(chuàng)建字符串單元數(shù)組來存儲長度可變的字符串。利用cellstr函數(shù)可將已有的字符數(shù)組轉(zhuǎn)化為字符串單元數(shù)組。

【例】字符數(shù)組轉(zhuǎn)化字符串單元數(shù)組。

在命令窗輸入:

>>data=[‘AllisonJones’;‘Development’;‘Phoenix’];

>>celldata=cellstr(data)運行結(jié)果:

celldata=

‘AllisonJones’

‘Development’

‘Phoenix’

利用char函數(shù)可以將字符串單元數(shù)組轉(zhuǎn)化為字符數(shù)組,MATLAB會在長度不夠的字符串末尾插入空格。

【例】字符串單元數(shù)組轉(zhuǎn)化字符數(shù)組。

繼續(xù)在命令窗輸入:

>>strings=char(celldata)

運行結(jié)果:

strings=

AllisonJones

Development

Phoenix

表3-6、表3-7給出了有關(guān)字符串單元數(shù)組元素和集合的函數(shù)。表3-6字符串單元數(shù)組的元素操作函數(shù)表3-7字符串單元數(shù)組的集合操作函數(shù)3.3.3字符串的操作

1.字符串的比較

通過strcmp、strcmpi、strncmp、strncmpi等字符串比較函數(shù)可以實現(xiàn)字符串的比較。參加比較的可以是字符數(shù)組,也可以是字符串單元數(shù)組。這些函數(shù)不僅可以比較整個字符串,還可以比較字符串的一部分。

strcmp函數(shù)可以判斷兩個字符串是否相等,strncmp函數(shù)可以判斷兩個字符串的前n個字符是否相等;strcmpi、strncmpi函數(shù)的功能基本與前兩者相同,只是后兩者不區(qū)分字符大小寫。

【例】字符串比較。

在命令窗輸入:

>>str1=‘hello’;

>>str2=‘help’;

>>strcmp(str1,str2)

運行結(jié)果:

ans=

0繼續(xù)在命令窗輸入:

>>strncmp(str1,str2,3)

運行結(jié)果:

ans=

1

運行結(jié)果表明兩個字符不等,但它們的前3個字符相等。

字符串比較函數(shù)還可以對字符串單元數(shù)組進行比較。

【例】字符串單元數(shù)組比較。

在命令窗輸入:

>>A={‘pizza’;‘chips’;‘candy’};

>>B={‘pizza’;‘chocolate’;‘pretzels’};

>>strncmp(A,B,1)

運行結(jié)果:

ans=

1

1

0

字符串的比較還可以通過?>、>=、<、<=、==、~=?等關(guān)系邏輯運算符來實現(xiàn)。

【例】用運算符比較字符串。

在命令窗輸入:

>>A=‘fat’;

>>B=‘fit’;

>>A==B

運行結(jié)果:

ans=

101

利用isletter、isspace、isstrprop等函數(shù)可以對字符串中的字符進行分類。isletter函數(shù)用于判斷某個字符是否為字母;isspace函數(shù)用于判斷某個字符是否為空白;isstrprop函數(shù)用于判斷某個字符是否為指定字符類型。

【例】判斷字符類型。

在命令窗輸入:

>>str=‘Dec29’;

>>isletter(str)

運行結(jié)果:

ans=

111000

2.字符串的查找和替換

MATLAB提供了一些能夠?qū)ψ址械淖址M行查找和替換的函數(shù),如strrep、findstr、strtok、strmatch等函數(shù)。其中,strrep函數(shù)用于替換字符串中的某個字符;findstr函數(shù)用于查找字符串中的一段字符;strtok函數(shù)用于查找字符串中第一個定界字符的前一個字符;strmatch函數(shù)用于確定字符數(shù)組或字符串單元數(shù)組的行字符中與給定字符匹配的行索引。

【例】替換字符。

在命令窗輸入:

>>label=‘gOOdbey’;

>>newlabel=strrep(label,‘O’,‘o’)

運行結(jié)果:

newlabel=

goodbye

【例】查找字符。

繼續(xù)在命令窗輸入:

>>position=findstr(‘O’,label)

運行結(jié)果:

position=

23

【例】查找匹配字符。

在命令窗輸入:

>>str=strvcat(‘max’,‘minimax’,‘maximum’,‘min’),

strmatch(‘max’,str)

運行結(jié)果:

str=

max

minimax

maximum

min

ans=

1

33.3.4字符串類型與數(shù)值類型之間的轉(zhuǎn)化

1.將數(shù)值類型轉(zhuǎn)化為字符串類型

表3-8給出了將數(shù)值數(shù)據(jù)轉(zhuǎn)化為字符串的函數(shù)。表3-8數(shù)值類型轉(zhuǎn)化為字符串類型的函數(shù)

2.將字符串類型轉(zhuǎn)化為數(shù)值類型

表3-9給出了將字符串轉(zhuǎn)化為數(shù)值數(shù)據(jù)的函數(shù)。表3-9字符串類型轉(zhuǎn)化為數(shù)值類型的函數(shù)3.4.1日期的表現(xiàn)形式

表示日期與時間信息的字符串可有許多不同的形式,例如2007年10月31日下午3點45分17秒可表示為以下幾種形式:

31-Oct-200715:45:17

10/31/07

15:45:17

03:45:17PM

通過date函數(shù)可以得到當前日期的字符串形式。3.4日?期?與?時?間

MATLAB還用日期值序列來表示當前日期時間。以日期值序列1表示0000年1月1日0:00,其他日期時間在此基礎(chǔ)上按天數(shù)累加,不足1天的部分用小數(shù)來表示。例如,2007年7月6日中午12點整表示為733229.5。通過now函數(shù)可以得到當前日期時間的數(shù)值序列形式。

日期向量是以向量形式來表示當前日期時間的,其元素為[yearmonthdayhourminutesecond]。通過clock函數(shù)可以得到當前日期時間的向量形式。3.4.2日期表現(xiàn)形式之間的轉(zhuǎn)化

各種日期形式的轉(zhuǎn)化函數(shù)如表3-10所示,其調(diào)用格式為date*(x),其中x為輸入?yún)⒘?,可以是三種形式中的任意一種。表3-10日期形式的轉(zhuǎn)化函數(shù)

datenum函數(shù)在日期計算方面有很重要的作用,它可以將任意形式的日期字符串(如常用的?‘dd-mmm-yyyy’,‘mm/dd/yyyy’

或?‘dd-mmm-yyyy,hh:mm:ss.ss’)轉(zhuǎn)化為數(shù)值序列形式。

datestr函數(shù)可以將日期轉(zhuǎn)化為19種日期字符串的輸出形式,可顯示日期、時間或者兩者的結(jié)合,調(diào)用格式為datestr(D,dateform)?!癉”為輸入日期變量;dateform的取值為1~19,分別代表19種字符串形式。3.4.3當前日期與時間

當前的日期字符串可以通過date函數(shù)獲得。

【例】獲取當前日期字符串。

在命令窗輸入:

>>date

運行結(jié)果:

ans=

06-Jul-2007

當前的日期時間數(shù)值序列可以通過now函數(shù)獲得。

【例】獲取當前日期時間數(shù)值序列。

在命令窗輸入:

>>now

運行結(jié)果:

ans=

7.3323e+0053.5.1創(chuàng)建結(jié)構(gòu)數(shù)組

創(chuàng)建結(jié)構(gòu)數(shù)組的方法有兩種:一種是通過賦值語句來創(chuàng)建;另一種是利用結(jié)構(gòu)函數(shù)來創(chuàng)建。

1.利用賦值語句創(chuàng)建結(jié)構(gòu)

直接對不同的字段進行賦值,就可以創(chuàng)建一個簡單的1×1的結(jié)構(gòu)數(shù)組??梢栽诮Y(jié)構(gòu)名后加下標對創(chuàng)建好的1×1的結(jié)構(gòu)進行擴展。3.5結(jié)構(gòu)

【例】利用創(chuàng)建賦值語句創(chuàng)建結(jié)構(gòu)。

在命令窗輸入:

>>=‘JohnDoe’;

>>student.course=[1010510083];

>>student.score=[7789]

運行結(jié)果:

student=

name:‘JohnDoe’

course:[1010510083]

score:[7789]

【例】利用創(chuàng)建賦值語句進行擴展。

繼續(xù)在命令窗輸入:

>>student(2).name=‘AnnLane’;

>>student(2).course=[1010510083];

>>student(2).score=[7468]

運行結(jié)果:

student=

1x2structarraywithfields:

name

course

score

2.利用結(jié)構(gòu)函數(shù)創(chuàng)建結(jié)構(gòu)

利用struct函數(shù)創(chuàng)建結(jié)構(gòu)數(shù)組,其調(diào)用格式為

strArray=struct(‘field1’,val1,‘field2’,val2,…)

其中,自變量為字段名及其對應(yīng)值。字段值可以是單一值或單元數(shù)組,但是必須保證它們具有相同的尺寸。

利用函數(shù)struct創(chuàng)建一個字段名為temp和rainfall的1×3結(jié)構(gòu)數(shù)組weather的不同方法如表3-11所示。表3-11創(chuàng)建結(jié)構(gòu)數(shù)組的不同方法3.5.2結(jié)構(gòu)數(shù)組的操作

1.訪問結(jié)構(gòu)數(shù)組中的數(shù)據(jù)

利用結(jié)構(gòu)數(shù)組索引可以對結(jié)構(gòu)數(shù)組的字段值或字段元素值進行訪問和賦值。另外,還可以利用逗號分隔的序列來訪問。

【例】訪問結(jié)構(gòu)數(shù)組的子陣。

在命令窗輸入:

>>=‘JohnDoe’;

>>patient.billing=127.00;

>>patient.test=[797573;180178177.5;220210205];

>>patient(2).name=‘AnnLane’;

>>patient(2).billing=28.50;

>>patient(2).test=[687068;118118119;172170169];

>>mypatients=patient(1:2)運行結(jié)果:

mypatients=

1x2structarraywithfields:

name

billing

test

【例】訪問某個結(jié)構(gòu)的字段或字段元素。繼續(xù)在命令窗輸入:

>>str=patient(2).name,test2b=patient(2).test(2,2)

運行結(jié)果:

str=

AnnLane

test2b=

118

利用類似的訪問方法可以對結(jié)構(gòu)的字段元素進行賦值,例如語句patient(2).test(2,2)=7會將patient(2)結(jié)構(gòu)test字段的第2行第2列元素118修改為7。

2.添加和刪除字段

利用賦值語句對一個結(jié)構(gòu)所要添加的字段進行賦值,就可以添加一個字段,這與創(chuàng)建結(jié)構(gòu)時添加字段的方法基本相同。另外,還可以利用setfield函數(shù)添加字段或修改字段的值。

【例】添加字段。

在命令窗輸入:

>>mystr(1,1).name=‘a(chǎn)lice’;

>>mystr(1,1).ID=0;

>>mystr(2,1).name=‘gertrude’;

>>mystr(2,1).ID=1;

>>mystr=setfield(mystr,{3,1},'order',3)運行結(jié)果:

mystr=

3x1structarraywithfields:

name

ID

order單元數(shù)組可以將各種不同類型或尺寸的數(shù)據(jù)存儲到同一個數(shù)組當中。例如,可以將一個1×20的字符類型數(shù)組、一個3×11的double類型數(shù)組和一個1×1的uint32類型數(shù)組存儲到同一個單元數(shù)組中。

訪問單元數(shù)組數(shù)據(jù)的方法與矩陣索引方法基本相同,不同的是在單元數(shù)組索引時,需要用大括號{?}將下標置于其中。3.6單元數(shù)組3.6.1創(chuàng)建單元數(shù)組

單元數(shù)組的創(chuàng)建方法與矩陣的創(chuàng)建方法基本相同,不同的是創(chuàng)建矩陣需要使用中括號[?],而創(chuàng)建單元數(shù)組需要使用大括號{?}。

【例】創(chuàng)建單元數(shù)組。

在命令窗輸入:

>>A={[143;058;729],'AnneSmith';3+7i,-pi:pi/4:pi}運行結(jié)果:

A=

[3x3double]‘AnneSmith’

[3.0000+7.0000i][1x9double]

也可以通過對單元數(shù)組的元素一一賦值進行創(chuàng)建,在命令窗輸入:

>>B(1,1)={[143;058;729]};

>>B(1,2)={‘AnneSmith’};

>>B(2,2)={-pi:pi/4:pi};

>>B(2,1)={3+7i}運行結(jié)果:

B=

[3x3double]‘AnneSmith’

[3.0000+7.0000i][1x9double]

利用大括號{}可將幾個單元數(shù)組合并為一個單元數(shù)組。

【例】合并單元數(shù)組。

繼續(xù)在命令窗輸入:

>>{AB}運行結(jié)果:

ans=

{2x2cell}{2x2cell}

利用中括號?[]?可將幾個單元數(shù)組的內(nèi)容合并為一個數(shù)組。

【例】合并單元數(shù)組的內(nèi)容。

繼續(xù)在命令窗輸入:

>>[AB]運行結(jié)果:

ans=

[3x3double]‘AnneSmith’??[3x3double]‘AnneSmith’

[3.0000+7.0000i][1x9double][3.0000+7.0000i][1x9double]3.6.2單元數(shù)組的操作

1.單元數(shù)組的刪除

與矩陣的刪除方法類似,對單元數(shù)組向量下標賦空值就可以刪除單元數(shù)組的行或列。本小節(jié)將以上一小節(jié)創(chuàng)建的單元數(shù)組為例進行刪除操作。

【例】刪除單元數(shù)組的行。繼續(xù)在命令窗輸入:

>>A(1,:)=[]

運行結(jié)果:

A=

[3.0000+7.0000i][1x9double]

2.運用函數(shù)或運算符操作單元數(shù)組

利用索引可以對單元數(shù)組進行函數(shù)或運算符操作。

【例】單元求和。

在命令窗輸入:

>>A{1,1}=[12;34];

>>A{1,2}=randn(3,3);

>>A{1,3}=1:5

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論