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)訪問(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ì)象
訪問(wèn)table中的數(shù)據(jù)
-
數(shù)據(jù)類(lèi)型
+關(guān)注
關(guān)注
0文章
237瀏覽量
13901 -
結(jié)構(gòu)體
+關(guān)注
關(guān)注
1文章
131瀏覽量
11121
發(fā)布評(píng)論請(qǐng)先 登錄
普源示波器如何連接MATLAB實(shí)現(xiàn)數(shù)據(jù)采集與分析
程序設(shè)計(jì)與數(shù)據(jù)結(jié)構(gòu)
如何用FOC電機(jī)控制MATLAB仿真!
如何使用MATLAB實(shí)現(xiàn)一維時(shí)間卷積網(wǎng)絡(luò)

用FPGA采集的原始數(shù)據(jù)導(dǎo)入waveVision和matlab中分析,發(fā)現(xiàn)2、3次諧波幅度很大,是什么原因?qū)е碌模?/a>
Simulink與 MATLAB 的結(jié)合使用 Simulink中的信號(hào)處理方法
DDC264配置寄存器數(shù)據(jù)寫(xiě)入和320 DCLK時(shí)鐘脈沖后的回讀數(shù)據(jù)結(jié)構(gòu)是什么?
視覺(jué)軟件HALCON的數(shù)據(jù)結(jié)構(gòu)

eda分析中的數(shù)據(jù)清洗步驟
架構(gòu)師日記-從數(shù)據(jù)庫(kù)發(fā)展歷程到數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)探析

matlab 神經(jīng)網(wǎng)絡(luò) 數(shù)學(xué)建模數(shù)值分析
MATLAB(1)--MATLAB數(shù)值數(shù)據(jù)
MATLAB中的矩陣索引

評(píng)論