Vector Manipulation - How to achieve this specific form?

2 Ansichten (letzte 30 Tage)
Hi all,
I want to receive an expression like this: sos = {[1 8761]' [2 8762]' [3 8763]' [4 8764]' ... [8760 17520]'};
Do you have an idea on how to achieve this?

Akzeptierte Antwort

Star Strider
Star Strider am 1 Okt. 2018
Try this:
v1 = 1:17520; % Create Vector
v2 = reshape(v1, [], 2)'; % Reshape Vector To 2-Row Matrix
c = mat2cell(v2, 2, ones(1,size(v2,2))); % Create Cell Array
q1 = v2(:,1:5); % View Original Matrix Sample (Delete Later)
q2 = [c{1:5}] % View Cell Array Sample (Delete Later)
q2 =
1 2 3 4 5
8761 8762 8763 8764 8765
I created separate assignments for clarity. Note that ‘c’ is a (1x8760) cell array, the format requested.
  4 Kommentare
Mathias Dirksmeier
Mathias Dirksmeier am 2 Okt. 2018
Perfect! Thanks a lot!!
Star Strider
Star Strider am 2 Okt. 2018
As always, my pleasure!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Mathias Dirksmeier
Mathias Dirksmeier am 1 Okt. 2018
Well, I surely know num2cell...
However, that wasn't the question, was it?
{[1 8761]' [2 8762]' [3 8763]' [4 8764]' ... [8760 17520]'};
How to achieve this specific form?

Produkte


Version

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by