fusing matrix values within two cell arrays

1 Ansicht (letzte 30 Tage)
AA
AA am 5 Okt. 2015
Bearbeitet: AA am 5 Okt. 2015
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

Akzeptierte Antwort

Star Strider
Star Strider am 5 Okt. 2015
See if this does what you want:
mcat = cat(1, mn, mx);
  7 Kommentare
Star Strider
Star Strider am 5 Okt. 2015
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 am 5 Okt. 2015
Bearbeitet: AA am 5 Okt. 2015
for x = 1:2
for y = 1:61
mcat = cat(2, mn{x,y}, mx{x,y});
mcat1{x,y} = mcat;
end
end

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Creating and Concatenating Matrices finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by