file - matlab输入n维数据需要什么格式?

标签 file matlab input 3d matrix

我有一个 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/

相关文章:

java - 从 Java 读取 Microsoft Works 和/或 One Note 文件

c - 在 C 中将 int 写入二进制文件时出现问题

matlab - 在Matlab中使用svmtrain获得模型后如何找到特征的权重?

javascript - 如何从输入表单中获取文本?

c# - 在 C# 中根据输入对字符串进行分类

c - 在文本文件上写入 Twitter 流时出现段错误

python - Python 中的 eig(a,b) 给出错误 "takes 1 positional argument but 2 were given"

matlab - 获取快照加速

php - $_Files[] 数组仅显示上传的第一个文件

c - 我认为我超出了此过程的可用内存。有人可以看一下并验证吗?