Replace values in a matrix with ones from other matrix based on some criteria
8 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hello, I would appreciate any help to solve this problem. Lets say i have one matrix - A in such form Nan,0,0; Nan,0,0; 37,0,0; 0,0,0;
and another matrix - B, of the same size with some values. What i try to do is to replace Nan with values from B according to the value after Nan. It means that if i have 37, previous Nans should be replaced with correponding values of B from 37 column. So, basically in each column i have a number of Nan rows followed by some number that indicates from which column of B Nan should be replaced to corresponding values. Could you please help me. Thanks beforehand!
1 commentaire
Andrei Bobrov
le 27 Août 2014
Let
A = [nan,0,0; nan,0,0; 37,0,0; 0,0,0];
B = reshape(1:numel(A),size(A));
Anew = ...
Give us the Anew
Réponses (4)
Andrei Bobrov
le 27 Août 2014
i0 = isnan(A);
[ii,jj] = find(i0);
A(i0) = B(sub2ind(size(B),ii+1,jj));
0 commentaires
Voir également
Catégories
En savoir plus sur Matrix Operations and Transformations dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!