Replacing elements in Array
4 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
I have two 48 x 61 matrices, LE and Q. If the first and last row value of LE are the same, for those rows, I want the values of Q to equal Q(:, 61).
This is what I initially wrote, but am getting an error message.
C = find(LE(:,1) == LE(:,61)); % Outputs rows in which first and last values are equivalent.
Q(C,:) = Q(C, 61); % For all values in rows C, make every value in that row (of Q) the last value in row Q.
Error: subscript assignment dimension mismatch.
Any suggestions? Thanks!
1 Commento
Image Analyst
il 20 Lug 2012
It's always nice if the poster supplies some sample data in advance to make it easy for people to try things for her. I mean, why make it hard for people to help you?
Risposta accettata
Più risposte (1)
Albert Yam
il 20 Lug 2012
When length(C) > 1 , Matlab doesn't know how to replace the values.
(length(C) x 61) matrix , and a length(C) vector
If you loop it for every C, it should work, someone else might be able to point out a way without looping.
C = find(LE(:,1) == LE(:,61));
for ii=1:length(C)
Q(C(ii),:) = Q(C(ii), 61);
end
0 Commenti
Vedere anche
Categorie
Scopri di più su Matrix Indexing 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!