Remove Entire Column when a condition is met.

3 visualizzazioni (ultimi 30 giorni)
Pragyan Dahal
Pragyan Dahal il 30 Ott 2019
Commentato: Pragyan Dahal il 30 Ott 2019
Hello, I am constructing a cost matrix for an association problem. It is a minimization problem and the cost matrix is structured in this way
C=[12 inf 13 inf inf inf inf;
13 inf 15 inf inf inf inf;
inf inf inf 14 inf 27 inf]
The aim for me is to remove the column in which I have inf elements only i.e. in this example i want to remove 2nd, 5th and 7th column from the cost matrix.
Thanks in advance for the help.

Risposte (1)

pavan kumar
pavan kumar il 30 Ott 2019
C(:,2)=[]
C(:,4)=[]
C(:,5)=[]
  2 Commenti
Pragyan Dahal
Pragyan Dahal il 30 Ott 2019
Thank you very much for the reply, this i figured given some answers for the row cases in this forum, but i am not sure on how to define the condition here, i mean, condition such that all the elements are infinite....
Pragyan Dahal
Pragyan Dahal il 30 Ott 2019
I was able to solve the issue by using the code segment shown below.
remove=true(size(C,2),1);
for pp=1:size(C,2)
qq=1;
while C(qq,pp)==inf
qq=qq+1;
if qq==size(C,1)+1
remove(pp)=0;
break
end
end
end
C=C(:,remove)

Accedi per commentare.

Categorie

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

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by