Splitting Up Large Matrix into n rows x 2 columns
34 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
I have a large matrix with n rows and 4 columns. I need to split the four columns into two separate matricies (each n rows by 2 columns) so that they can later be graphed x vs y.
Data sample:
Time Money Time Money
1 30 6 100
2 40 7 110
3 50 8 120
Ideally, I'd like this to be done for n rows and n columns, forming n number of smaller arrays. Any ideas? I saw similar questions, however the matricies were split with a set sized matrix, whereas the size of my matrix may change.
0 Commenti
Risposte (3)
Rohit Anand
il 14 Lug 2020
Assuming M is your matrix.
You can assign the splitted values to two different Matrices and then Plot them as needed.
MatA = M(:, 1:2) % All rows and first two columns assigned to MatA
MatB = M(:, 3:4) % All rows and the 3rd and 4th Column assigned to MatB
But There is no need to assign different variables to the splitted matrix. You can use M(:, 1:2) directly in your plot functions. This will keep the workspace clean.
4 Commenti
Rohit Anand
il 19 Lug 2020
Can you post what you did? Cause the solution I suggested works just fine for me.
Rohit Anand
il 19 Lug 2020
For Splitting a matrix in a loop You can use the colon operator.
M(:, 3:4) % Select 3rd and 4th column of M and all rows
M(3:4, :) % 3rd and 4th row of M and all columns.
If you want to split any number of columns in multiple matrices of two colums, You can use a for loop to do so.
M = randi(27, 6, 24)
numCols = size(M, 2);
for i=1:2:numCols
x = M(:, i:i+1); % x is the temp matrix
disp(x);
end
This code snippet should solve your problem.
0 Commenti
Vedere anche
Categorie
Scopri di più su Function Creation in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!