? ? ? ?是非常全能的編程軟件棺聊,不管是編程、畫圖贞谓、仿真限佩、建模都不在話下。不過有的時候裸弦,我們手頭的工作還需要借助其他的工具才能完成祟同,例如:
- 在
中編程運行得到想要的數(shù)據(jù)后,保存為
文件再導(dǎo)入
中開展進一步的計算;
- 用
可視化得到的圖像理疙,需要導(dǎo)入
或
進行優(yōu)化處理;
- 將
中的數(shù)組寫入
表格中匯總統(tǒng)計;
? ? ? ?這篇文章我就最后一個過程和大家進行分享探討晕城。
? ? ? ?和以前一樣,我們從實際需求出發(fā)窖贤,直接來看一個簡單的例子砖顷,相信這個例子能給大家?guī)硪恍﹩⒌稀?/p>
? ? ? ?某天我們在實際工作中,編寫了一個實現(xiàn)某一功能的M文件赃梧,運行之后在工作空間得到了一些規(guī)模相同的變量滤蝠,下圖給了一個例子:
可以看到工作空間中存儲了一些數(shù)據(jù),變量名為等等,他們的規(guī)模是一樣的蹄皱。
我們希望做的是:
把空間中的這些數(shù)據(jù)集览闰,即編號(Id)、標(biāo)簽(Label)夯接、顏色(Color)焕济、橫坐標(biāo)(X_value)、縱坐標(biāo)(Y_value)編成一個表格并導(dǎo)出到Excel文件當(dāng)中去盔几。
下面的代碼可以實現(xiàn)這一需求:
clc,clear
%% 一個將Matlab中的不同類型晴弃、相同規(guī)模的數(shù)據(jù)組合成表格并寫入表格文件的示例
% 數(shù)據(jù)規(guī)模
N = 20;
% 表格中每一列的數(shù)據(jù)
Id = (1:N)';
Label = Id;
Color = randperm(N,N)';
X_value = rand(N,1);
Y_value = rand(N,1);
% 給表格中每一列命名,讓其等于每列數(shù)據(jù)的變量名稱
column_names = ["Id","Label","Color","X_value","Y_value"];
% 生成表格數(shù)據(jù)
table_data = table(Id,Label,Color,X_value,Y_value,'VariableNames',column_names);
% 將上述的表格數(shù)據(jù)寫入表格文件Data_Needed.xls中逊拍,并將此表格重命名為Data
writetable(table_data,"Data_Needed.xls","Sheet","Data")
? ? ? ?上述代碼中上鞠,我先給出了之前所談到的數(shù)據(jù)集,然后用一個數(shù)組來預(yù)先設(shè)置好各列的列名芯丧,列名是字符串芍阎,可以自由指定;接下來用
的內(nèi)置函數(shù)
將上述的所有數(shù)據(jù)轉(zhuǎn)換為一個表格文件缨恒,轉(zhuǎn)換時先將所有的數(shù)據(jù)集一一列出谴咸,然后在標(biāo)簽
中設(shè)置預(yù)設(shè)好的列名即可轮听,得到的表格
內(nèi)容如下:
? ? ? ?最后我們將這個數(shù)據(jù)集寫入一個叫做的表格文件中去,且指定表格文件中的表格名稱為
岭佳,成果參見下圖:
? ? ? ?可見保存的時候自動地會將各列的列名變成表格的列名血巍。編寫這樣的一個程序有兩個好處,一是防止自己從
復(fù)制粘貼數(shù)據(jù)到
中時出錯珊随,二就是快捷方便述寡。因此還是值得各位花點時間編一個的,特別是經(jīng)常需要處理表格的時候叶洞。
? ? ? ?那么大功告成鲫凶,一個滿足基本需求的程序就是這樣,在此基礎(chǔ)之上還能實現(xiàn)更加細(xì)致的功能衩辟,例如保存文件在指定目錄螟炫、指定數(shù)據(jù)在表格中的單元格位置。各位可自由探索艺晴。