只是一篇學習筆記涌攻,大佬請繞道……
???????由于大一計算機基礎基本都是水過去的现横,因此對Excel是知之甚少手趣,直到前段時間在看電工杯建模16年的題時,發(fā)現(xiàn)Excel在數(shù)據(jù)題中的運用是如此之重要拱层,因此弥臼,打算特地花點時間去學習一下。
???????Excel作為一個制表軟件根灯,它自然是擅長對表格數(shù)據(jù)進行分類整理径缅,而在數(shù)據(jù)處理方面,還是要依靠特定的數(shù)學軟件的烙肺,因此纳猪,學會Matlab與Excel的相互導入就顯得尤為重要。
???????在這里桃笙,我就介紹一下xlsread和xlswrite氏堤,顧名思義,xlsread就是讀取Excel中的數(shù)據(jù)搏明,而xls則是將matlab中的數(shù)據(jù)寫入到Excel中鼠锈。
首先,我寫了這樣一段代碼:
headers=['First','Second','Third'];
xlswrite('first.xlsx',[headers;value]);
filename='first.xlsx';
A=xlsread(filename)
???????想達到的效果是:
???????可是結果卻是:
![4F${]TNV`1VKE08NSL0X0YH.png](http://upload-images.jianshu.io/upload_images/5397630-9c2e5825e1eb4489.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
這就很尷尬了熏瞄,然后就把表格改了改脚祟,代碼中逗號改成了空格:
value=[1 2 3;4 5 6;7 8 9];
headers=[1 2 3];
xlswrite('first.xlsx',[headers;value]);
filename='first.xlsx';
A=xlsread(filename)
這樣就可以了,老子也懶得研究為什么了强饮,八成是那字符給整的由桌。
???????表格的導入導出算是解決了,但是又有一個問題了邮丰,就是在導入的過程中行您,文件是怎么找的呢?這個問題剪廉,我想學過編程的大概都知道了吧娃循,我也不敢在這裝逼,隨便說說吧斗蒋。那么首先就是相對路徑和絕對路徑的問題了捌斧,比如前面的一段代碼:
filename='first.xlsx';
還可以這么寫:
filename='D:\Program Files\MATLAB\M文件\first.xlsx';
???????前者是相對路徑笛质,要求表格文件要和m文件在同一文件夾中,或者在m文件所處文件夾包含的文件夾中捞蚂,后者是絕對路徑妇押,你愛把表格放哪就放哪,開心就好姓迅。
???????OK敲霍,這個問題就這么過去了,我們再來看看這個問題:一個表格中可以包含多個表格丁存,像這樣:
???????這是三個表格肩杈,比如我只需要導入Area1_Load這個表格中的數(shù)據(jù),該怎么辦呢解寝?其實也很簡單扩然,只需在exslread中加一個參數(shù),比如:
A=xlsread(filename,'Area1_Load')
???????這樣就能夠讀取指定表格的數(shù)據(jù)啦编丘,當然默認是讀取第一個表格的數(shù)據(jù)与学。
???????在做到了能讀取指定表格后,再進一步嘉抓,不就是讀取一個表格中指定位置的數(shù)據(jù)了嗎。好晕窑,現(xiàn)在我在原有代碼基礎上再加一個參數(shù):
A=xlsread(filename,'Area1_Load','A1:C4')
???????聰明的人應該都能看出來(看不出的也請強行聰明)抑片,A1,C4指的就是表格中的位置:
???????即讀取第1行第A列(作為左上角)到第4行第C列(作為右下角)的所有數(shù)據(jù)杨赤。
???????大概就這些了敞斋,個人認為這個還是有點用的,接下來打算研究matlab的回歸工具箱疾牲。
不幸看完的大佬植捎,真是不好意思,獻丑了