fusing matrix values within two cell arrays

2 次查看(过去 30 天)
The code below gives me two cell arrays mx and mn. I want the matrix values in the cell array mx to be fused with the matrix values in mn. The values of mx should be adjacent to the values in mn in every matrix table. How can I do that?
a={rand(1877958,7); rand(1251972,7)};
b=cellfun(@(x) [x; repmat(x(end,:),-mod(size(x,1),-60),1)],a,'un',0);
n = 61;
for k = 1:n
for i=1:length(b)
c = circshift(b{i}, [-(k-1) 0]);
mn(i,k)={max(reshape(c(:,4),60,[])).'};
mx(i,k)={min(reshape(c(:,5),60,[])).'};
end
end

采纳的回答

Star Strider
Star Strider 2015-10-5
See if this does what you want:
mcat = cat(1, mn, mx);
  7 个评论
Star Strider
Star Strider 2015-10-5
I’m still not certain what you want to do. I would just do that as a third statement in your ‘i’ loop:
mcat{i,k} = cat(2, mn(i,k), mx(i,k));
AA
AA 2015-10-5
编辑:AA 2015-10-5
for x = 1:2
for y = 1:61
mcat = cat(2, mn{x,y}, mx{x,y});
mcat1{x,y} = mcat;
end
end

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Loops and Conditional Statements 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by