Select values from 20 x 15 matrix based on a row vector 1 x 15
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Parthu P
am 7 Nov. 2019
Kommentiert: Steven Lord
am 7 Nov. 2019
I'm trying to extract values from matrix A (20 x 15) which are less than values in matrix B (1 x 15). Matrix B has 15 columns with threshold values determined from newspaper analysis. How to extract values from each column of matrix A which are less than values from corresponding columns from matrix B?
I have tried C = A < B; but I'm not able to fix matrix dimension error.
1 Kommentar
Steven Lord
am 7 Nov. 2019
Which release of MATLAB are you using? It may be relevant particularly if you're using a release prior to release R2016b, when we introduced implicit expansion.
Akzeptierte Antwort
JESUS DAVID ARIZA ROYETH
am 7 Nov. 2019
solution:
A(A>=B)=nan;
disp(A)
c=num2cell(A,1);
for k=1:size(c,2)
c{k}(isnan(c{k}))=[];
disp(['Column ' num2str(k)])
disp(c{k})
end
2 Kommentare
JESUS DAVID ARIZA ROYETH
am 7 Nov. 2019
This works well for the dimensions you indicated, could you save your workspace and attach it? look at an example:
A=rand(20,15);
B=rand(1,15);
A(A>B)=nan;
disp(A)
c=num2cell(A,1);
for k=1:size(c,2)
c{k}(isnan(c{k}))=[];
disp(['Column ' num2str(k)])
disp(c{k})
end
Weitere Antworten (1)
kondepati sudhir kumar
am 7 Nov. 2019
if use the C = A <B; you wil get the logic matrix. If you have dimensional error then it is better give the c = zeros (size (a));
i hope it works.
0 Kommentare
Siehe auch
Kategorien
Mehr zu Matrices and Arrays finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!