是非常全能的编程软件,不管是编程、画图、仿真、建模都不在话下。不过有的时候,我们手头的工作还需要借助其他的工具才能完成,例如:
- 在中编程运行得到想要的数据后,保存为文件再导入中开展进一步的计算;
- 用可视化得到的图像,需要导入或进行优化处理;
- 将中的数组写入表格中汇总统计;
这篇文章我就最后一个过程和大家进行分享探讨。
和以前一样,我们从实际需求出发,直接来看一个简单的例子,相信这个例子能给大家带来一些启迪。
某天我们在实际工作中,编写了一个实现某一功能的M文件,运行之后在工作空间得到了一些规模相同的变量,下图给了一个例子:
可以看到工作空间中存储了一些数据,变量名为等等,他们的规模是一样的。
我们希望做的是:
把空间中的这些数据集,即编号(Id)、标签(Label)、颜色(Color)、横坐标(X_value)、纵坐标(Y_value)编成一个表格并导出到Excel文件当中去。
下面的代码可以实现这一需求:
clc,clear
%% 一个将Matlab中的不同类型、相同规模的数据组合成表格并写入表格文件的示例
% 数据规模
N = 20;
% 表格中每一列的数据
Id = (1:N)';
Label = Id;
Color = randperm(N,N)';
X_value = rand(N,1);
Y_value = rand(N,1);
% 给表格中每一列命名,让其等于每列数据的变量名称
column_names = ["Id","Label","Color","X_value","Y_value"];
% 生成表格数据
table_data = table(Id,Label,Color,X_value,Y_value,'VariableNames',column_names);
% 将上述的表格数据写入表格文件Data_Needed.xls中,并将此表格重命名为Data
writetable(table_data,"Data_Needed.xls","Sheet","Data")
上述代码中,我先给出了之前所谈到的数据集,然后用一个数组来预先设置好各列的列名,列名是字符串,可以自由指定;接下来用的内置函数将上述的所有数据转换为一个表格文件,转换时先将所有的数据集一一列出,然后在标签中设置预设好的列名即可,得到的表格内容如下:
最后我们将这个数据集写入一个叫做的表格文件中去,且指定表格文件中的表格名称为,成果参见下图:
可见保存的时候自动地会将各列的列名变成表格的列名。编写这样的一个程序有两个好处,一是防止自己从复制粘贴数据到中时出错,二就是快捷方便。因此还是值得各位花点时间编一个的,特别是经常需要处理表格的时候。
那么大功告成,一个满足基本需求的程序就是这样,在此基础之上还能实现更加细致的功能,例如保存文件在指定目录、指定数据在表格中的单元格位置。各位可自由探索。