Matlab:当每个单元格具有不同的行数和列数时,将二进制文件读入单元格

Posted

技术标签:

【中文标题】Matlab:当每个单元格具有不同的行数和列数时,将二进制文件读入单元格【英文标题】:Matlab: Reading Binary file into cells when each cell has a different number of rows and columns 【发布时间】:2014-05-23 09:30:10 【问题描述】:

我有一个要读取的二进制文件。二进制文件中有 70 个变量的数值。 变量具有不同数量的列和行。一般来说,它们看起来像 X(n,1) 、 Y(n+2,1) 、 Z(n+2,m) 和 L(n,m)。

我的想法是将文件作为值向量读取,然后对其进行整形,但我认为我不能以简洁的方式对其进行整形,因为行数不是恒定的。

任何指导将不胜感激。谢谢。

【问题讨论】:

【参考方案1】:

这是可能的。假设你已经阅读了你的向量:

X=1:17
%dimensions you want First cell 2x2, second cell 3x3, third cell 1x4:
dims=[2,2;3,3;1,4]

重塑

%get number of elements per cell
elements=prod(dims,2);
%split
F=mat2cell(X(:),elements)
%reshape each element
result=arrayfun(@(x)(reshape(Fx,dims(x,1),dims(x,2))),1:size(dims,1),'uni',false)

【讨论】:

以上是关于Matlab:当每个单元格具有不同的行数和列数时,将二进制文件读入单元格的主要内容,如果未能解决你的问题,请参考以下文章

SwiftUI:如何创建具有相同行数和列数的 LazyGrid?

如何将控制台窗口的大小调整为设定的行数和列数?

可以决定 GridPane (JavaFX) 中的行数和列数

请问c# 的winform 怎么获取 datagridview选中的行数和列数啊

如何获取ResultSet的行数和列数

如何在 C++ 中获取二维动态数组的行数和列数