字符串?dāng)?shù)組、元胞數(shù)組和構(gòu)架數(shù)組_第1頁
字符串?dāng)?shù)組、元胞數(shù)組和構(gòu)架數(shù)組_第2頁
字符串?dāng)?shù)組、元胞數(shù)組和構(gòu)架數(shù)組_第3頁
字符串?dāng)?shù)組、元胞數(shù)組和構(gòu)架數(shù)組_第4頁
字符串?dāng)?shù)組、元胞數(shù)組和構(gòu)架數(shù)組_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

字符串?dāng)?shù)組、元胞數(shù)組和構(gòu)架數(shù)組23.1字符串?dāng)?shù)組(CharacterStringArray)【例3-1】字符串入門>>String1='b';>>String2='Thisisanexample!'; %英文字母、空格、數(shù)字、標(biāo)點(diǎn)、中文字符>>String3='例子''chararray'''; %都是占一個(gè)元素位,兩個(gè)字節(jié)>>s1=class(String1)s1=char>>s2=size(String2)s2=119>>whosNameSizeBytesClassString11x12chararrayString21x1938chararrayString31x1428chararrays11x48chararrays21x216doublearrayGrandtotalis40elementsusing92bytes在MATLAB中,字符串是作為字符數(shù)組來引入的;一個(gè)字符串由多個(gè)字符組成,用單引號(hào)('')來界定;字符串是按行向量進(jìn)行存儲(chǔ)的,每一字符()是以其ASCII碼的形式存放.。33.1.1字符串?dāng)?shù)組的屬性和標(biāo)識(shí)

1.創(chuàng)建串?dāng)?shù)組

必須將待建字符放在“單引號(hào)對(duì)”中,當(dāng)串中本身包含單引號(hào)時(shí),每個(gè)單引號(hào)符用“連續(xù)的兩個(gè)單引號(hào)”表示。2.串?dāng)?shù)組的大小

size指令可獲得串?dāng)?shù)組的大小。串中的每一個(gè)字符,包括中英文字符、空格、標(biāo)點(diǎn)都算一個(gè)元素。3.串?dāng)?shù)組的元素標(biāo)識(shí)按從左至右的順序依次用1、2、3、4…等標(biāo)識(shí)元素在串中的位置。4.串?dāng)?shù)組的ASCII碼

指令abs和double可以顯示串?dāng)?shù)組對(duì)應(yīng)的ASCII碼數(shù)值數(shù)組,指令char則可把ASCII碼數(shù)值數(shù)組轉(zhuǎn)換成串?dāng)?shù)組。5.字符串ASCII碼數(shù)組的操作

可以對(duì)ASCII碼數(shù)組進(jìn)行數(shù)值數(shù)組的各種運(yùn)算。但其結(jié)果就變成一般數(shù)值向量的運(yùn)算,而不再是字符串的運(yùn)算。注意:必須在英文狀態(tài)下輸入“單引號(hào)對(duì)”。將多個(gè)字符串變量直接用“,”連接,可構(gòu)成一個(gè)較長的新字符串變量。4【例3-2】串?dāng)?shù)組基本操作>>string='thisisanexample!' %輸入字符串stringstring=thisisanexample!>>s_1=string(end:-1:1) %倒序排列string得到s_1s_1=!elpmaxenasisiht>>s_2=string(end:-2:1)

%倒序排列string且每隔一個(gè)字符取一個(gè)元素得到s_2s_2=!lmxasit>>w=string>='a'&string<='z' %找出所有小寫英文字符,用邏輯數(shù)組表示w=Columns1through12111101101101Columns13through191111110>>STRING=string; %定義新串STRING,其內(nèi)容與string相同>>STRING(w)=char(string(w)-32)%將小寫字符轉(zhuǎn)換成大寫字符(ASCII碼相差32)STRING=THISISANEXAMPLE!>>Str=['Exm03_2.m',string(5:end)]%構(gòu)造新的字符串StrStr=Exm03_2.misanexample!53.1.2復(fù)雜字符串?dāng)?shù)組的創(chuàng)建

1.多行串?dāng)?shù)組的直接創(chuàng)建必須保證各行等長,可以利用增減“空格”來實(shí)現(xiàn)。>>s=['Hello,'

%6個(gè)字符

'Nicetomeetyou!']%17個(gè)字符???Errorusing==>vertcatAllrowsinthebracketedexpressionmusthavethesamenumberofcolumns.>>s=['Hello,',''*ones(1,11)

%補(bǔ)充11個(gè)空格

'Nicetomeetyou!']s=Hello,Nicetomeetyou!>>size(s)ans=217

2.利用串操作函數(shù)創(chuàng)建多行串?dāng)?shù)組利用專門的str2mat、strvcat和char函數(shù)可以構(gòu)造出字符串?dāng)?shù)組,而不必考慮每行的字符數(shù)是否相等,總是按最長的設(shè)置,不足的末尾用空格補(bǔ)齊。>>s=char('Hello,','Nicetomeetyou!');>>s=str2mat('Hello,','Nicetomeetyou!');>>s=strvcat('Hello,','Nicetomeetyou!');s=Hello,Nicetomeetyou!6>>s1=str2mat('Hello,','','Nicetomeetyou!');>>s2=strvcat('Hello,','','Nicetomeetyou!');>>s1,s2>>s_s=size(s),s_s1=size(s1),s_s2=size(s2)s_s=217s_s1=317s_s2=217s1=s2=Hello,Hello,Nicetomeetyou!Nicetomeetyou!區(qū)別:str2mat認(rèn)為空串代表空行;strvcat省略空串。3.利用串轉(zhuǎn)換函數(shù)產(chǎn)生數(shù)碼字符串

常用的數(shù)組/字符串轉(zhuǎn)換函數(shù)有int2str,num2str,mat2str

。int2str:把整數(shù)數(shù)組轉(zhuǎn)換成字符串?dāng)?shù)組,非整數(shù)將被四舍五入后再轉(zhuǎn)換;

num2str

:把非整數(shù)數(shù)組轉(zhuǎn)換成字符串?dāng)?shù)組,常用于圖形中數(shù)據(jù)點(diǎn)的標(biāo)識(shí);mat2str:把數(shù)值數(shù)組轉(zhuǎn)換成字符串?dāng)?shù)組。>>a=[0.95760.82.151;4.057.8];%2×3數(shù)值數(shù)組>>a1=int2str(a);

%取整數(shù)>>a2=num2str(a,2);%保持2位有效數(shù)字,轉(zhuǎn)換為串>>a3=mat2str(a,2);%保持2位有效數(shù)字,轉(zhuǎn)換為一行串>>a,a1,a2,a37%清除內(nèi)存變量%時(shí)間t從0到10每隔0.01均勻采樣%對(duì)應(yīng)每一個(gè)t求y值%求最大值y_max及其下標(biāo)i_max%生成最大值點(diǎn)的橫坐標(biāo)字符串%生成最大值點(diǎn)的縱坐標(biāo)字符串%三行字符來標(biāo)識(shí)最大值點(diǎn)%圖名稱字符串%新建一個(gè)圖形窗%畫一條黑色的水平線%保持圖形不被清除%藍(lán)色實(shí)線畫曲線y(t)%大小為20的紅色圓點(diǎn)標(biāo)記最大值點(diǎn)%在最大值點(diǎn)附近顯示注釋字符%顯示圖名%顯示橫坐標(biāo)名%顯示縱坐標(biāo)名%取消圖形保持a=0.95760.80002.15104.00005.00007.8000a1=112458a2=0.960.82.2457.8a3=[0.960.82.2;457.8]【例3-3】作出函數(shù)y=e-2tsin(3t)的圖形,并標(biāo)注最大值點(diǎn)cleart=0:0.01:10;y=exp(-2*t).*sin(3*t);[y_max,i_max]=max(y);t_text=['t=',num2str(t(i_max))];y_text=['y=',num2str(y_max)];max_text=char('Maxium',t_text,y_text);Title=['y=exp(-2*t).*sin(3*t)'];Figureplot(t,zeros(size(t)),'k')holdonplot(t,y,'b')plot(t(i_max),y_max,'r.','MarkerSize',20)text(t(i_max)+0.3,y_max+0.05,max_text)title(Title);xlabel('t')ylabel('y')holdoff893.1.3串轉(zhuǎn)換函數(shù)和串操作函數(shù)1.字符串轉(zhuǎn)換函數(shù)(詳見P76表3.1-1)指令含義指令含義abs把串譯成ASCII碼base2decbase,bin,hex與dec之間的轉(zhuǎn)換。base:任意進(jìn)制串bin:二進(jìn)制串hex:十六進(jìn)制串dec:十進(jìn)制整數(shù)char任意類型轉(zhuǎn)換成串bin2decdouble任意類型轉(zhuǎn)換成雙精度數(shù)值hex2decfprintf格式化數(shù)據(jù)寫到文件或屏幕dec2basesprintf以控制格式把數(shù)值轉(zhuǎn)換為串dec2binsscanf在格式控制下把串轉(zhuǎn)換成數(shù)值dec2hexsetstr把ASCII碼譯成串int2str整數(shù)轉(zhuǎn)換成串str2num串轉(zhuǎn)換成數(shù)值mat2str數(shù)值矩陣轉(zhuǎn)換成串hex2num十六進(jìn)制串轉(zhuǎn)換成浮點(diǎn)數(shù)num2str數(shù)值轉(zhuǎn)換成串2.字符串操作函數(shù)(詳見P77表3.1-2)

length:用來計(jì)算字符串的長度(即組成字符的個(gè)數(shù))。char(s1,s2,…):將串s1,s2,…逐個(gè)寫成行,形成多行數(shù)組。class或ischar:用來判斷某一個(gè)變量是否為字符串。class函數(shù)返回char則表示為字符串,而ischar函數(shù)返回1表示為字符串。10

strcmp(s1,s2):比較字符串s1和s2是否相同。返回值如果為1則相同,為0則不同。findstr(s1,s2):尋找在某個(gè)長字符串s1中的子字符串s2,返回其起始位置。deblank(s):刪除字符串尾部的空格。

>>str1='Hello';>>str2=['Ilike''MATLAB''']

%重復(fù)單引號(hào)來輸入含有單引號(hào)的字符串str2=Ilike'MATLAB'>>length(str2)

%字符串str2的長度

ans=15

>>x1=double(str1) %查看字符串str1的ASCII碼x1=72101108108111>>x2=str1+1 %字符串的數(shù)值運(yùn)算x2=73102109109112

>>char(x1)

%將ASCII碼轉(zhuǎn)換成字符串形式ans=Hello>>char(x2)

ans=Ifmmp11>>char(str1,str2)

%形成兩行字符ans=HelloIlike'MATLAB'>>strcat(str1,'!',str2,'.')

%形成一長串a(chǎn)ns=Hello!Ilike'MATLAB'.>>strcmp(str1,str2)

%比較兩串是否相同ans=0>>findstr(str2,'like')

%尋找子串‘like’的起始字符在主串中的下標(biāo)ans=3>>isletter(str2)%以邏輯1指示串中英文字母的位置ans=Columns1through12101111001111Columns13through15110>>class(str1),class(x1),

%判斷變量類型ans=charans=double12

執(zhí)行字符串

如果需要直接“執(zhí)行”某一字符串,可以使用eval命令,效果就如同直接在MATLAB命令窗口內(nèi)輸入此命令。>>str3='a=2*5'str3=a=2*5>>eval(str3) %執(zhí)行字符串a(chǎn)=10

顯示字符串字符串可以直接使用disp命令顯示出來,即使后面加分號(hào)(;)也顯示。>>disp('請(qǐng)輸入2*2的矩陣a')請(qǐng)輸入2*2的矩陣a>>disp(char(str1,str2));HelloIlike'MATLAB'>>str1='Hello',str2=['Ilike''MATLAB''']str1=Hellostr2=Ilike'MATLAB'133.2元胞數(shù)組(Cell

Array)

特點(diǎn):

元胞數(shù)組的基本組成單元是元胞(cell),元胞在數(shù)組中以下標(biāo)來進(jìn)行區(qū)分;

元胞可以是任何類型、任意大小的數(shù)組(如:數(shù)值數(shù)組、字符串?dāng)?shù)組、符號(hào)對(duì)象等);

一個(gè)元胞數(shù)組中各個(gè)元胞可以是不同類型的內(nèi)容;

元胞數(shù)組的維數(shù)不受限制,可以采用單下標(biāo)或全下標(biāo)尋址;元胞和元胞里的內(nèi)容是兩個(gè)不同范疇的東西,分別通過“元胞外標(biāo)識(shí)(CellIndexing)”和”元胞內(nèi)編址(ContentAddressing)”來尋訪?!巴鈽?biāo)識(shí)的元胞元素”用圓括號(hào)對(duì)(),而“編址元胞元素內(nèi)涵”用花括號(hào)對(duì){},如A(2,3)表示元胞數(shù)組A第2行第3列的元胞,A{2,3}則表示元胞數(shù)組A第2行第3列的元胞中的內(nèi)容。3.2.1元胞數(shù)組的創(chuàng)建1.直接使用花括號(hào){}創(chuàng)建>>clear>>A={'ThisisthefirstCell.',[12;34];eye(3),{'Tom','Jane'}}A=[1x23char][2x2double][3x3double]{1x2cell}

創(chuàng)建的元胞數(shù)組中的元胞A(1,1)是字符串,A(1,2)是數(shù)組,A(2,1)是數(shù)組,而A(2,2)為一個(gè)元胞數(shù)組。>>whosNameSizeBytesClassA2x2524cellarrayGrandtotalis49elementsusing524bytes142.由各元胞創(chuàng)建-外標(biāo)識(shí)元胞元素賦值法

>>B(1,1)={'ThisisthesecondCell.'};B(1,2)={5+3*i};B(1,3)={[12;34;56]};>>B

%顯示元胞數(shù)組B=[1x24char][5.0000+3.0000i][3x2double]3.由各元胞內(nèi)容創(chuàng)建-編址元胞元素內(nèi)涵的直接賦值法>>C{1,1}='ThisisthethirdCell.';C{2,1}=magic(4)

%生成2×1的元胞數(shù)組C='ThisisthethirdCell.'[4x4double]3.2.2元胞數(shù)組的內(nèi)容顯示在MATALB命令窗口中輸入元胞數(shù)組的名稱,并不直接顯示出元胞數(shù)組的各元胞元素的內(nèi)容值,而是顯示各元胞元素的數(shù)據(jù)類型和結(jié)構(gòu)

,單元素的元胞除外。1.使用celldisp命令顯示元胞數(shù)組的內(nèi)容

A{1,1}=ThisisthefirstCell.A{2,1}=100010001A{1,2}=1234A{2,2}{1}=TomA{2,2}{2}=Jane>>celldisp(A),celldisp(C)C{1}=ThisisthethirdCell.C{2}=16231351110897612414151{}表示元胞數(shù)組的元胞元素內(nèi)容,A{2,2}{1}表示第2行第2列的元胞元素中存放的元胞數(shù)組的第1個(gè)元胞元素的內(nèi)容

152.使用cellplot命令以圖形顯示元胞數(shù)組的內(nèi)容

>>cellplot(A)

3.2.3元胞數(shù)組的內(nèi)容獲取

1.取元胞數(shù)組的元素內(nèi)容

>>x1=A{1,2} %用花括號(hào)尋訪取A(1,2)元胞元素的內(nèi)容x1=123416【例3-4】元胞數(shù)組的基本應(yīng)用>>C=char('這是','元胞數(shù)組');%兩行的字符串?dāng)?shù)組>>R=reshape(1:9,3,3);%3×3的數(shù)值數(shù)組>>S=sym('sin(-3*t)*exp(-t)');%符號(hào)表達(dá)式>>A(1,1)={C};%對(duì)元胞數(shù)組A進(jìn)行賦值>>A{2,1}=S;%注意{}和()的區(qū)別

當(dāng)用圓括號(hào)來尋址時(shí),所表示的是元胞,相應(yīng)地等號(hào)右邊也應(yīng)該是一個(gè)元胞;當(dāng)用花括號(hào)來尋址時(shí),所表示的是元胞中的內(nèi)容,可以是任意類型、大小的數(shù)組。>>x2=A{1,2}(2,2) %取A(1,2)元胞元素的數(shù)組第二行第二列內(nèi)容x2=4

2.取元胞數(shù)組的元素

>>x3=A(1,2)

%用圓括號(hào)尋訪得到的是元胞x3=[2x2double]3.使用deal函數(shù)取多個(gè)元胞元素的內(nèi)容

>>[x4,x5,x6]=deal(A{[2,3,4]})

%單下標(biāo)尋址取A的三個(gè)元胞內(nèi)容x4=100010001x5=1234x6='Tom''Jane'注意:x1是數(shù)組,x2是標(biāo)量。17>>celldisp(A)

%顯示元胞數(shù)組A的元胞中的內(nèi)容A{1,1}=這是元胞數(shù)組A{2,1}=sin(-3*t)*exp(-t)A{1,2}=[]A{2,2}=147258369>>A{2,2}=R;>>A%顯示元胞數(shù)組A的元胞A=[2x4char][][1x1sym][3x3double]>>A{2,2}={R}A=[2x4char][][1x1sym]{1x1cell}>>celldisp(A)A{1,1}=這是元胞數(shù)組A{2,1}=sin(-3*t)*exp(-t)A{1,2}=[]A{2,2}{1}=147258369A{2,2}{1}(1,3)=7考慮A{2,2}={R}的情況:>>class(A(2,1))%元胞的類型ans=cell>>class(A{2,1})%元胞的內(nèi)容的類型ans=sym18>>A(2,1)

%A的第2行第1列的元胞ans=[1x1sym]>>A{2,1}%A的第2行第1列的元胞中的內(nèi)容ans=sin(-3*t)*exp(-t)>>saveexm03_04.mat

%保存內(nèi)存變量3.2.4元胞數(shù)組的擴(kuò)充、收縮和重組

【例3-5】元胞數(shù)組的擴(kuò)充、收縮和重組>>clear>>loadexm03_04%載入數(shù)據(jù)文件>>B=cell(2);%創(chuàng)建空的2×2元胞數(shù)組>>B{1,1}='Anothercellarray';%對(duì)元胞數(shù)組進(jìn)行賦值>>B(:,2)={num2str(R);1+2i}%對(duì)第二列元胞賦值,注意前后大小一致B='Anothercellarray'[3x7char][][1.0000+2.0000i]%元胞數(shù)組的重組>>AB=[AB]%將A,B作為兩列排列得到2×4的元胞數(shù)組AB=[2x4char][]'Anothercellarray'[3x7char][1x1sym][3x3double][][1.0000+2.0000i]19>>A_B=[A;B]%將A,B作為兩行排列得到4*2的元胞數(shù)組A_B=[2x4char][][1x1sym][3x3double]'Anothercellarray'[3x7char][][1.0000+2.0000i]>>cellplot(A_B,'legend')%元胞數(shù)組的形象結(jié)構(gòu)圖%元胞數(shù)組的收縮>>A_B(3,:)=[]%刪除元胞數(shù)組的第3行A_B=[2x4char][][1x1sym][3x3double][][1.0000+2.0000i]>>RA_B=reshape(A_B,2,3)%重新排列元胞數(shù)組的內(nèi)容,得到2×3的元胞數(shù)組RA_B=[2x4char][][3x3double][1x1sym][][1.0000+2.0000i]%元胞數(shù)組內(nèi)容的獲取>>A_B(2,2)%取出A_B中的一個(gè)元胞ans=[3x3double]20>>A_B{2,2}%取出該元胞的所有內(nèi)容ans=147258369>>A_B{2,2}(2,:)%取出該元胞中第2行的所有元素ans=258>>[a1,a2]=deal(A_B{[1,2]})%一次取出多個(gè)元胞,并逐個(gè)分配a1=這是元胞數(shù)組a2=sin(-3*t)*exp(-t)>>a3=A_B{2,2}(:,[1,3])

%取出第2行第2列元胞內(nèi)容中的第1,3列

a3=172839注意:花括號(hào)、圓括號(hào)和中括號(hào)在尋址時(shí)的不同含義213.3構(gòu)架數(shù)組(StructureArray)

特點(diǎn):

構(gòu)架數(shù)組的基本組成是構(gòu)架(Structure),以下標(biāo)區(qū)分各個(gè)構(gòu)架;

構(gòu)架必須劃分成“域”后才能使用,每一個(gè)構(gòu)架都包含多個(gè)域(Fields)

;

構(gòu)架不能直接存放數(shù)據(jù),數(shù)據(jù)必須存放在構(gòu)架下面的“域”中;

構(gòu)架的域可以存放任意類型、任意大小的數(shù)組(數(shù)值數(shù)組、字符串?dāng)?shù)組、符號(hào)對(duì)象、元胞等);

不同構(gòu)架的同名域中可以存放不同類型的內(nèi)容;

構(gòu)架數(shù)組可以是任意維的,可以利用單下標(biāo)或全下標(biāo)尋址。3.3.1構(gòu)架數(shù)組的創(chuàng)建

1.直接創(chuàng)建法-直接對(duì)域賦值>>ps(1).name='曲線1';%構(gòu)架的域由(構(gòu)架名).(域名)標(biāo)識(shí)>>ps(1).color='red';>>ps(1).position=[0,0,300,300];>>ps(2).name='曲線2';>>ps(2).color='blue';>>ps(2).position=[100,100,300,300];

ps是構(gòu)架數(shù)組,ps(1)和ps(2)是構(gòu)架,name、color和position是域。

22>>ps

%ps為1×2的構(gòu)架數(shù)組,有三個(gè)域ps=1x2structarraywithfields:namecolorposition>>ps(1)

%顯示構(gòu)架ans=name:'曲線1'color:'red'position:[00300300]2.利用struct函數(shù)創(chuàng)建>>ps(1)=struct('name','曲線1','color','red','position',[0,0,300,300]);>>ps(2)=struct('name','曲線2','color','blue','position',[100,100,300,300])ps=1x2structarraywithfields:namecolorposition3.3.2構(gòu)架數(shù)組數(shù)據(jù)的獲取和設(shè)置

1.直接獲取

>>x1=ps(1)

%獲取一個(gè)構(gòu)架x1=name:'曲線1'color:'red'position:[00300300]23>>x2=ps(1).position

%獲取構(gòu)架ps(1)中一個(gè)域position的全部內(nèi)容x2=00300300>>x3=ps(1).position(1,3)

%獲取構(gòu)架ps(1)

position域中第1行第3列的元素內(nèi)容x3=3002.用getfield獲取構(gòu)架數(shù)組的數(shù)據(jù)

>>x4=getfield(ps,{1},'color')

%獲取構(gòu)架ps(1)中一個(gè)域color的全部內(nèi)容x4=red>>x5=getfield(ps,{1},'color',{1})

%獲取構(gòu)架ps(1)

color域中第一個(gè)元素的內(nèi)容x5=r3.用setfield設(shè)置構(gòu)架數(shù)組的數(shù)據(jù)

>>ps=setfield(ps,{1},'color','green');%對(duì)ps(1)中color域的內(nèi)容進(jìn)行設(shè)置ps(1)ans=name:'曲線1'color:'green'position:[00300300]243.3.3構(gòu)架數(shù)組域的獲取1.使用fieldnames獲取構(gòu)架數(shù)組的所有域

>>x6=fieldnames(ps)x6='name''color''position'2.獲取構(gòu)架數(shù)組域的數(shù)據(jù)

使用“[]”合并相同域的數(shù)據(jù)并排成水平向量>>all_x=[]all_x=曲線1曲線2使用cat將其變成多維數(shù)組>>cat(1,ps.position) %沿第一維排列ans=00300300100100300300>>cat(2,ps.position)

%沿第二維排列ans=0030030010010030030025【例3-6】已知2輸入2輸出的LTI系統(tǒng)的傳遞函數(shù),利用表示該傳遞函數(shù)的構(gòu)架數(shù)組來練習(xí)構(gòu)架數(shù)組的基本操作。>>%1.創(chuàng)建代表2輸入2輸出系統(tǒng)的傳遞函數(shù)的構(gòu)架數(shù)組>>clear>>num={3,2;[41],1};%分子系數(shù)構(gòu)成的元胞數(shù)組>>den={[1,3,2],[1,1,1];[1221],[10]};%分母系數(shù)構(gòu)成的元胞數(shù)組>>%2.獲取構(gòu)架數(shù)組的域名>>FN=fieldnames(SST)%獲取域名,以元胞數(shù)組的形式保存FN='num''den''Variable''lti'>>SST=struct(ss)%將傳遞函數(shù)矩陣轉(zhuǎn)換成構(gòu)架數(shù)組SST=num:{2x2cell}den:{2x2cell}Variable:'s'lti:[1x1lti]>>ss=tf(num,den);

%利用控制工具箱函數(shù)產(chǎn)生傳遞函數(shù)矩陣26>>class(FN)ans=cell>>%3.獲取構(gòu)架數(shù)組域中的內(nèi)容>>ff=SST.den%獲取SST的den域中的所有內(nèi)容,為2×2的元胞數(shù)組ff=[1x3double][1x3double][1x4double][1x2double]>>ff{2,1}%獲取ff中第2行第1列中內(nèi)容,相當(dāng)于SST.den{2,1}ans=1221>>poly2str(ff{2,1},'s')

%以易讀形式顯示多項(xiàng)式ans=s^3+2s^2+2s+1>>%4.賦值操作>>SST.num{2,1}ans=0041>>SST.num{2,1}=[131];%對(duì)SST的num域中第2行第1列的元胞內(nèi)容進(jìn)行修改>>SST.num{2,1}ans=13127>>%5.構(gòu)架數(shù)組的擴(kuò)充>>size(SST)%SST為單構(gòu)架數(shù)組ans=11>>SST(2,2)=struct(tf(1,[11]))%將SST擴(kuò)充為2×2的構(gòu)架數(shù)組SST=2x2structarraywithfields:numdenVariablelti>>size(SST)ans=22>>%6.構(gòu)架數(shù)組的收縮>>SST(1,:)=[]%將SST構(gòu)架數(shù)組的第1行刪除SST=1x2structarraywithfields:numdenVariablelti>>size(SST)ans=12num:{2x2cell}den:{2x2cell}Variable:'s'lti:[1x1lti](1,1)num:{2x2cell}den:{2x2cell}Variable:'s'lti:[1x1lti](1,2)num:[]den:[]Variable:[]lti:[](2,1)num:[]den:[]Variable:[]lti:[](2,2)num:{[01]}den:{[11}Variable:'s'lti:[1x1lti]擴(kuò)充(1,1)num:[]den:[]Variable:[]lti:[](1,2)num:{[01]}den:{[11}Variable:'s'lti:[1x1lti]收縮構(gòu)架數(shù)組擴(kuò)充、收縮示意圖28>>%7.構(gòu)架數(shù)組內(nèi)容的調(diào)取>>Snum=SST(1,2).num%取出SST構(gòu)架數(shù)組第1行第2列的構(gòu)架的num域Snum=[1x2double]>>Sden=SST(1,2).den%取出SST構(gòu)架數(shù)組第1行第2列的構(gòu)架的den域Sden=[1x2double]>>printsys(Snum{1},Sden{1},‘s’)%利用系統(tǒng)函數(shù)打印函數(shù)顯示SST的第1行第2列

%的構(gòu)架所代表的系統(tǒng)函數(shù)

num/den=

1-----s+1>>Snum=SST(1,2).num{1};%取出SST構(gòu)架數(shù)組第1行第2列的構(gòu)架的num域的內(nèi)容>>Sden=SST(1,2).den{1};%取出SST構(gòu)架數(shù)組第1行第2列的構(gòu)架的den域的內(nèi)容>>printsys(Snum,Sden,'s')num/den=

1-----s+129【例3-7】其它命令>>clear>>dept(5).N

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論