这是我的matlab问题。我需要编写一个matlab函数,将struct数据类型中的所有数据复制到矩阵中。问题是每个条目可以有不同的长度。所以我到目前为止所做的是迭代所有这些条目,以便预先计算矩阵的最终大小。
%Calculate final size of Matrix
nFieldsY = length(CompleteData.Y);
nFieldsX = length(CompleteData.X);
maxRowNumber = 0;
maxColNumber = nFieldsY + nFieldsX;
for j = 1:nFieldsY
l_x = length (CompleteData.X(1,j).Data);
l_y = length (CompleteData.Y(1,j).Data);
compAr = [maxRowNumber l_x l_y];
maxRowNumber = max(compAr);
end
ResultMatrix = zeros(maxRowNumber, maxColNumber);
因此“ResultMatrix”表示可能存储的最大数据。现在我想替换矩阵的 m 列中的第一个 n 条目。列的其余部分仍应填充零。尽管我付出了很多努力,但我还是遇到了“尺寸不匹配”错误。
感谢任何帮助。感谢
答案 0 :(得分:3)
像这样的东西
ResultMatrix(1:n,m) = n_entries
其中n_entries
是您要在列中放置的值的n x 1
矩阵。
1:n
选出1
行至n
行ResultMatrix
和m
选择列m
。