我有一个 4 维字典,我用 Python 脚本为我正在进行的数据挖掘项目制作了它,我想将数据读入 Matlab 以对数据进行一些统计测试。
读取二维矩阵很简单。我认为由于我的第一个维度只有 4 维深,所以我可以将它的每个切片写入一个单独的文件(总共 4 个文件),每个文件都有许多二维切片,看起来像这样:
2 3 6
4 5 8
6 7 3
1 4 3
6 6 7
8 9 0
但这不起作用,matlab 将其读取为单个连续的 6 x 3 矩阵。我什至看了一下 dlmread 但无法弄清楚如何让它做我想做的事。我如何格式化它以便我可以将 3 个(或最好更多)维度放在一个文件中?
最佳答案
一个简单的解决方案是创建一个只有两行的文件:第一行包含目标数组大小,第二行包含您的所有数据。然后,您需要做的就是 reshape 数据。
说你的文件是
3 2 3
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
您执行以下操作将数组读入变量 data
fid = fopen('myFile'); %# open the file (don't forget the extension)
arraySize = str2num(fgetl(fid)); %# read the first line, convert to numbers
data = str2num(fgetl(fid)); %# read the second line
data = reshape(data,arraySize); %# reshape the data
fclose(fid); %# close the file
查看 data
以了解 Matlab 如何对多维数组中的元素进行排序。
关于file - matlab输入n维数据需要什么格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6366952/