Azzera filtri
Azzera filtri

Select values from 20 x 15 matrix based on a row vector 1 x 15

2 visualizzazioni (ultimi 30 giorni)
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 Commento
Steven Lord
Steven Lord il 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.

Accedi per commentare.

Risposta accettata

JESUS DAVID ARIZA ROYETH
JESUS DAVID ARIZA ROYETH il 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 Commenti
Parthu P
Parthu P il 7 Nov 2019
Thanks for reply.
Actually I have tried the simillar loop before but I'm not able to fix dimension error related to B.
For example, in "C = A < B"
If I make "C = A < B (:,1)" or "C = A < B (:,15)". It read B value in either 1st or 15th column and apply it to all the columns. How do i put right dimensions for "B (. . . . . )", so that it reads correct B value for corresponding individual columns of matrix A?
JESUS DAVID ARIZA ROYETH
JESUS DAVID ARIZA ROYETH il 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

Accedi per commentare.

Più risposte (1)

kondepati sudhir kumar
kondepati sudhir kumar il 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.

Categorie

Scopri di più su Matrices and Arrays in Help Center e File Exchange

Prodotti

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by