MATLAB常用基本數(shù)據(jù)類(lèi)型有:整型,浮點(diǎn)型,字符型,函數(shù)句柄,元胞數(shù)組和結(jié)構(gòu)體數(shù)組。除了這些基本數(shù)據(jù)類(lèi)型,MATLAB還有很多其它的數(shù)據(jù)類(lèi)型不為人熟悉,這些數(shù)據(jù)類(lèi)型在編程中也非常有用。MATLAB高級(jí)數(shù)據(jù)類(lèi)型系列旨在向大家介紹它們:比如containers.Map,tables,enumeration和time series等等,它們?yōu)槭裁从杏茫脕?lái)解決什么問(wèn)題,并且怎樣在科學(xué)工程計(jì)算中怎么使用。上篇我們提到了映射表結(jié)構(gòu)(containers.Map)。本篇將介紹另一中新的MATLAB數(shù)據(jù)類(lèi)型--table。
table簡(jiǎn)介
為什么需要table數(shù)據(jù)結(jié)構(gòu)
MathWorks在MATLAB R2013b中引入了一種新的數(shù)據(jù)結(jié)構(gòu)叫做table。table類(lèi)似統(tǒng)計(jì)工具箱中的dataset,其引入的目的就是用來(lái)取代dataset的數(shù)據(jù)類(lèi)型。因?yàn)楸頎畹臄?shù)據(jù)在工程計(jì)算中越來(lái)越長(zhǎng)久,有了table類(lèi)型,MATLAB用戶(hù)就可以不用購(gòu)買(mǎi)統(tǒng)計(jì)工具箱,也能使用表狀的數(shù)據(jù)結(jié)構(gòu)了。table本質(zhì)上來(lái)說(shuō)是一種可以存放各種數(shù)據(jù)類(lèi)型的容器,比如下面表Table.1中的數(shù)據(jù),其中既有字符型,又有數(shù)值類(lèi)型,其中第一行作為表頭:Symbol,Name,Market,Cap,IPO, Year 是各列的名字。

Table.1 NASDAQ股票名稱(chēng)表
在conatiners.Map的章節(jié)中,我們介紹了MATLAB的基本數(shù)據(jù)類(lèi)型(比如數(shù)組,原胞數(shù)組和結(jié)構(gòu)體)在表達(dá)某些復(fù)雜數(shù)據(jù)類(lèi)型時(shí)的局限性。這里不再一一贅述,讀者只需要認(rèn)識(shí)到:數(shù)組的局限性在于不能用來(lái)存放數(shù)值以外的數(shù)據(jù),而使用元胞讀取和索引內(nèi)容時(shí)有種種不方便,比如無(wú)法區(qū)分該數(shù)據(jù)中的表頭和其余的行數(shù)據(jù)。事實(shí)上,如果數(shù)據(jù)存放在如下的CSV文件中,并且用importdata直接讀取CSV文件。

顯然這不是我們所期待的要導(dǎo)入格式。
通過(guò)導(dǎo)入數(shù)據(jù)構(gòu)造table對(duì)象
沿用上一步的CVS文件,我們可以使用readtable函數(shù),構(gòu)造一個(gè)新的table對(duì)象,把csv文件中的數(shù)據(jù)導(dǎo)入到該對(duì)象中。readtable函數(shù)接受文件名稱(chēng)作為輸入,返回一個(gè)table對(duì)象。

注意第2行的warning,因?yàn)閞eadtable函數(shù)把nasdaq.csv中的第一行自動(dòng)變成了這個(gè)table的表頭,在創(chuàng)建table對(duì)象的時(shí)候,MATLAB會(huì)對(duì)做表頭的文字做處理,這里把Market Cap和IPO Year兩個(gè)詞中的空格去掉,縮成一個(gè)詞,這樣做是為了方便將來(lái)使用dot語(yǔ)法來(lái)訪(fǎng)問(wèn)表中的數(shù)據(jù)。因?yàn)镸ATLAB修改了原來(lái)的表頭,所以這里給出了warning。
調(diào)用table構(gòu)造函數(shù)來(lái)構(gòu)造table對(duì)象
通過(guò)轉(zhuǎn)換函數(shù)構(gòu)造table對(duì)象
訪(fǎng)問(wèn)table中的數(shù)據(jù)
-
數(shù)據(jù)類(lèi)型
+關(guān)注
關(guān)注
0文章
238瀏覽量
14235 -
結(jié)構(gòu)體
+關(guān)注
關(guān)注
1文章
131瀏覽量
11417
發(fā)布評(píng)論請(qǐng)先 登錄
【產(chǎn)品介紹】Altair OptiStruct結(jié)構(gòu)分析優(yōu)化軟件
關(guān)于MATLAB table數(shù)據(jù)結(jié)構(gòu)的分析介紹
評(píng)論