Thông tin tài liệu:
Mảng tế bào và cấu trúc MATLAB 5.0 giới thiệu 2 loại dữ liệu mới có tên gọi là mảng tế bào và cấu trúc. Mảng tế bào đ-ợc xem nh- một mảng của các số nhị phân hoặc là nh- bộ chứa có thể l-u giữ nhiều kiểu dữ liệu khác nhau. Cấu trúc là những mảng dữ liệu h-ớng đối t-ợng xây dựng cùng với tên các tr-ờng có thể chữa nhiều kiểu dữ liệu khác nhau, bao gồm mảng tế bào và các cấu trúc khác. Cấu trúc cung cấp cho ta ph-ơng tiện thuận lợi...
Nội dung trích xuất từ tài liệu:
Giáo trình mathlab toàn tập - Chương 19 141Ch−¬ng19 M¶ng tÕ bµo vµ cÊu tróc MATLAB 5.0 giíi thiÖu 2 lo¹i d÷ liÖu míi cã tªn gäi lµ m¶ng tÕ bµo vµ cÊu tróc. M¶ng tÕ bµo®−îc xem nh− mét m¶ng cña c¸c sè nhÞ ph©n hoÆc lµ nh− bé chøa cã thÓ l−u gi÷ nhiÒu kiÓu d÷ liÖukh¸c nhau. CÊu tróc lµ nh÷ng m¶ng d÷ liÖu h−íng ®èi t−îng x©y dùng cïng víi tªn c¸c tr−êng cã thÓch÷a nhiÒu kiÓu d÷ liÖu kh¸c nhau, bao gåm m¶ng tÕ bµo vµ c¸c cÊu tróc kh¸c. CÊu tróc cung cÊp chota ph−¬ng tiÖn thuËn lîi ®Ó nhãm c¸c kiÓu d÷ liÖu kh¸c nhau. Nh÷ng kiÓu d÷ liÖu míi nµy, m¶ng tÕbµo vµ cÊu tróc t¹o cho b¹n kh¶ n¨ng tæ chøc d÷ liÖu thµnh c¸c gãi rÊt thuËn tiÖn.19.1 M¶ng tÕ bµo M¶ng tÕ bµo lµ nh÷ng m¶ng MATLAB mµ c¸c phÇn tö cña nã lµ c¸c tÕ bµo. Mçi tÕ bµo trongm¶ng tÕ bµo chøa c¸c kiÓu d÷ liÖu cña MATLAB bao gåm m¶ng sè, v¨n b¶n, ®èi t−îng ®Æc tr−ng, c¸cm¶ng tÕ bµo vµ cÊu tróc. VÝ dô mét tÕ bµo cña m¶ng tÕ bµo cã thÓ lµ m¶ng sè, lo¹i kh¸c lµ kiÓu chuçiv¨n b¶n, lo¹i kh¸c lµ vector c¸c gi¸ trÞ sè phøc. C¸c m¶ng tÕ bµo cã thÓ ®−îc x©y dùng víi sè chiÒulín h¬n 2, tuy nhiªn ®Ó cho thuËn tiÖn khi xÐt ng−êi ta lÊy sè chiÒu lµ 2 .19.2 X©y dùng vµ hiÓn thÞ m¶ng tÕ bµo M¶ng tÕ bµo cã thÓ ®−îc x©y dùng b»ng c¸ch dïng c©u lÖnh g¸n, hoÆc chØ ®Þnh m¶ng tr−ícb»ng c¸ch sö dông hµm tÕ bµo sau ®ã g¸n d÷ liÖu cho m¶ng. Nh− mäi lo¹i m¶ng kh¸c, m¶ng tÕ bµo cã thÓ t¹o ra b»ng c¸ch g¸n d÷ liÖu cho tõng tÕ bµo ®éclËp ë cïng mét thêi ®iÓm. Cã hai c¸ch kh¸c nhau th©m nhËp vµo m¶ng tÕ bµo. NÕu b¹n sö dông cóph¸p m¶ng tiªu chuÈn, b¹n ph¶i ®Ó c¸c tÕ bµo trong dÊu ngoÆc “{ }”. VÝ dô:>> A(1, 1) = {[1 2 3: 4 5 6 : 7 8 9]};>> A(1, 2) = {2 + 3 i};>> A(2, 1) = { A text string };>> A(2, 2,) = {12: -2 :0}; DÊu ngoÆc nhän bªn phÝa ph¶i cña dÊu b»ng chØ ra r»ng biÓu thøc lµ mét tÕ bµo, hay cßn gäi lµchØ sè tÕ bµo. C¸ch viÕt sau t−¬ng ®−¬ng víi c¸ch viÕt trªn:>> A{1, 1 } = [1 2 3 : 4 5 6 : 7 8 9 ];>> A{1, 2 } = 2+3i ;>> A{2, 1 } = A text string ;>> A{2, 2 } = 12 : -2 : 0 ;DÊu ngoÆc nhän bªn tr¸i chØ ra r»ng A lµ mét m¶ng tÕ bµo vµ biÓu thøc ®Æt bªn trong lµ khai b¸o tÕbµo. MATLAB hiÓn thÞ m¶ng A nh− sau:>> AA= [3X3 double] 2.0000+ 3.0000 i A text string [1x7 double ] §Ó hiÓn thÞ néi dung cña mçi tÕ bµo trong m¶ng tÕ bµo ta dïng hµm celldisp, hiÓn thÞ néi dungcña riªng mét tÕ bµo, truy nhËp vµo tÕ bµo cã sö dông dÊu ngoÆc nhän.Vi dô :>> A{2,2} MATLAB hiÓn thÞ s¬ ®å cÊu tróc ®å ho¹ m¶ng tÕ bµo trong mét cöa sæ b»ng viÖc gäi hµmcellplot. Hµm cell lµm viÖc víi m¶ng tÕ bµo b»ng viÖc t¹o ra c¸c m¶ng trèng theo kÝch cì cña m¶ng. VÝdô : 142>> C= cell ( 2, 3 )C= [] [] [] [] [] []19.3 Tæ hîp vµ kh«i phôc m¶ng tÕ bµo NÕu b¹n g¸n d÷ liÖu cho tÕ bµo ngoµi sè chiÒu hiÖn cã cña m¶ng. MATLAB sÏ tù ®éng mëréng m¶ng vµ ®iÒn vµo gi÷a ma trËn sè rçng. Chó ý kh¸i niÖm “{ }” thay cho ma trËn tÕ bµo rçng vµ“[ ]” thay cho m¶ng sè ma trËn rçng.Sö dông dÊu mãc vu«ng ®Ó kÕt nèi m¶ng tÕ bµo:>> C= [A B]C= [3x3 double ] 2.0000+ 3.0000i [1x2 double] John Smith A text string [1x7 double] [2.0000+3.0000i] [5 ]>> C=[A;B]C= [3x3 double ] 2.0000 + 3.0000 i A text string [ 1x7 double ] [ 1x2 double ] John Smith [ 2.0000+ 3.0000i ] [ 5] Mét tËp con c¸c tÕ bµo cã thÓ ®−îc t¸ch ra t¹o thµnh mét m¶ng tÕ bµo míi. NÕu D lµ métm¶ng tÕ bµo 3x3, ng−êi ta cã thÓ t¸ch ra ®Ó t¹o thµnh mét m¶ng tÕ bµo míi 2x2 nh− sau:>> F = D(2:2,2:3); Hµm reshape cã thÓ ®−îc sö dông ®Ó thay ®æi cÊu h×nh cña mét m¶ng tÕ bµo nh−ng kh«ngthÓ dïng ®Ó thªm vµo hoÆc bít ®i tÕ bµo.>> X = cells(3,4);>> size(X)ans = 3 4>> X= reshape(X,6,2);>> size(Y)ans = 6 219.4 Truy nhËp vµo trong m¶ng tÕ bµo §Ó truy nhËp d÷ liÖu chøa trong c¸c phÇn tö cña m¶ng tÕ bµo, sö dông dÊu ngoÆc nhän. DïngdÊu ngoÆc ®¬n th©m nhËp mét phÇn tö nh lµ mét tÕ bµo. §Ó truy nhËp néi dung cña phÇn tö trongm¶ng tÕ bµo, kÕt nèi c¸c biÓu thøc nh− sau: % truy nhËp néi dung cña tÕ bµo.>> x = B{2,2}x= 5 143>> class(x)ans= double % truy nhËp vµo b¶n th©n tÕ bµo.>> y = B[2,2]y= [5]>> class(y)ans= cell>> B{1,1} (1,2) % truy nhËp vµo phÇn tö thø hai cña % vector trong tÕ bµoans= 2 §Ó truy nhËp d¶i c¸c phÇn tö trong m¶ng tÕ bµo, sö dông hµm deal ...