matlab 导入元胞,MATLAB导入xls文件以及cell的使用方法
使用matlab讀入.xls的文件時(shí)候可以用[T,TXT,RAW]=xlsread("filename.xls")導(dǎo)入也可以使用import data 的辦法手動(dòng)導(dǎo)入文件。但是我比較傾向于自動(dòng)化程度比較高的前者,畢竟有時(shí)候?qū)氲奈募?shù)量是幾百個(gè)手動(dòng)導(dǎo)入不科學(xué)。xlsread返回的參數(shù)有三個(gè),第一個(gè)是xls里面以數(shù)字形式儲(chǔ)存的數(shù)據(jù),第二個(gè)是文字形式儲(chǔ)存的數(shù)據(jù),第三個(gè)是前兩者的合并也就是一個(gè)完整的excel表格。T參數(shù)返回呢是在matlab中是以matrix的形式組織的,而 TXT和RAW呢是以cell的形式組織的,而cell的用法接下去會(huì)講。
如果不想導(dǎo)入數(shù)據(jù)的時(shí)候這么麻煩呢建議對(duì)excel表格的數(shù)據(jù)形式進(jìn)行處理。把需要用當(dāng)成數(shù)字形式處理的數(shù)據(jù)轉(zhuǎn)成數(shù)字如下圖:
原本整個(gè)execl文件都是以文本的形式儲(chǔ)存如果讀入,T為空;此時(shí)我將其中我需要的某一列轉(zhuǎn)換成了數(shù)字格式儲(chǔ)存,這樣xlsread的時(shí)候出來的數(shù)據(jù)就是數(shù)字啦,T不為空。
又或者可以將讀入的TXT轉(zhuǎn)換成matrix形式。但是TXT是cell類型的數(shù)據(jù),如何將cell轉(zhuǎn)成matrix可以用 cell2mat().但是不是所有的cell都可以用cell2mat().必須要滿足一個(gè)基本要求是,?元胞數(shù)組中,處于同行的矩陣要有相等的行數(shù), 處于同列的矩陣要有相等的列數(shù)。所以當(dāng)我在用cell2mat()讀入數(shù)據(jù)時(shí)總是出現(xiàn)dimension unconsistent.因?yàn)槲易x的列有些字符串的長度不相同,如“10688363”和“1068836”這兩個(gè)cell的列數(shù)不對(duì)齊。那要怎么辦呢?
1.把cell轉(zhuǎn)換成string再將string轉(zhuǎn)換成num就好了。
filename='網(wǎng)格50.xls';
[T,TXT,RAW] = xlsread(filename,1);%這里T為空
TXT2 = TXT(2:end,8);
T= str2num(char(TXT2));
2.就是使用cellfun()來幫助啦日后再研究。
總結(jié)
以上是生活随笔為你收集整理的matlab 导入元胞,MATLAB导入xls文件以及cell的使用方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 命令启动jar包_java项目打jar包
- 下一篇: oracle10gasmcmd,ORAC