【发布时间】:2014-04-22 00:15:00
【问题描述】:
我试图在高级搜索中找到此问题的答案,但找不到。我可能错过了,在这种情况下,道歉。
我想这是一个简单的问题,但我无法解决它。我有一个单元格数组,每个单元格都包含一个双精度数组。首先,我需要知道哪个单元格的数组长度最长。一旦知道这一点,就需要复制其他单元格的数组元素以匹配最长元素的长度。
即例如:
resp = {[1 3 2 6 4] [4 2 5]}
我不知道 resp{1} 或 resp{2} 是否更大。
我想要的输出是一个新的元胞数组 resp_new = {[1 3 2 6 4] [4 2 5 4 5]}。 也就是说,在 resp{2} 中添加自己的元素(可能是随机的)以匹配 resp{1} 的长度。
到目前为止,我可以总结如下:
Responses = {[1 3 2 6 4] [4 2 5]};
% I could have something like this for finding the longest array of doubles in my cell array:
val=cellfun(@(x) numel(x),Responses);
longest=Responses(val==max(val));
% or something like this, returning only the lengths.
tmp = cellfun(@length,Responses);
我遇到的问题,我不太清楚如何在最短的数组中复制自己的元素以匹配第二个数组的长度。
任何帮助将不胜感激! 谢谢你和最好的问候。
马克
【问题讨论】:
标签: matlab cell-array