Being more concise with an IF statement
    2 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
Hello,
Could someone tell me if there's a more concise way (I'm sure there is) of implementing the following:
if  CN(count6,:) == 2
    CN2(i,:) = bond_atom;
    CN2(all(CN2==0,2),:)=[];    
 elseif CN(count6,:) == 3
    CN3(i,:) = bond_atom;
    CN3(all(CN3==0,2),:)=[];
 elseif CN(count6,:) == 4
    CN4(i,:) = bond_atom;
    CN4(all(CN4==0,2),:)=[];
As you can see, I am creating matrices (CN2, CN3, CN4 etc...) using an IF criterion. However the criterion could be anything from 2 to ~20. So I wonder if I can summarise all the if's and elseifs in just a few lines, instead of having to repeat myself as I am doing here.
Kind regards,
Tom
0 comentarios
Respuesta aceptada
  Iain
      
 el 12 de Feb. de 2014
        
      Editada: Iain
      
 el 12 de Feb. de 2014
  
      I'm assuming that CN only has one column.
 number = CN(count6);
 temp(1,:) = bond_atom;
 temp(all(temp==0,2),:) = [];
 CNoutput{number} = temp;
Replace CN4 with CNoutput{4}, etc.
5 comentarios
  Iain
      
 el 12 de Feb. de 2014
				You're right tehre is a subtlety that I'd assumed out of existence.
 number = CN(count6);
 CNoutput{number}(i,:) = bond_atom;
 CNoutput{number}(all(CNoutput{number}==0,2),:) = [];
Más respuestas (0)
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!