Adding rows to matrix based on if-statement in loop
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
Kai Friedrich
il 5 Feb 2020
Commentato: Star Strider
il 16 Giu 2020
Hey,
I have a matrix with numerical values, however, some data is missing and I have to add some additional rows to the matrix.
The problem is that the rows have to added at a specific place of the matrix since the order of the matrix is important.
I would like to automate the process and work with a loop in which rows are added based on an if-statement which refers to specific values in the matrix
The order of the other rows of the matrix should remain the same.
Any ideas how to implement this?
1 Commento
Risposta accettata
Star Strider
il 5 Feb 2020
A = randi(9, 7, 5); % Original Matrix
B = randi([51 59], 2, 5); % Rows To Be Inserted
Anew = zeros(size(A,1)+size(B,1), size(A,2)); % Output Matrix Preallocation
NewRows = [3 5]; % Define Rowss For Insertion
ARows = setdiff(1:size(Anew,1), NewRows); % Original Rows In New Matrix
Anew(ARows,:) = A; % Copy Rows
Anew(NewRows,:) = B; % Insert Rows
2 Commenti
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Loops and Conditional Statements 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!