How EFFICIENTLY to extract multiple column base on multiple condition
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
balandong
el 30 de Nov. de 2017
Comentada: balandong
el 30 de Nov. de 2017
Dear all, The objective was extract the data from s.c2. Depending on the binary state (either 1 or 2) of s.state, the data can be extracted either from either column ONE or Two of the s.c2. To achieve the objective, the following code were realized. However, the code is ineffective. In other word, the number of Function (EXTRACT_COL) calling increase with number of COLUMNX.
I wonder if there any possible way to optimize this code further. For example, we can input all the binary state vector and get the respective s.c2 column all at once. That is, do the procedure in parallel.
I really appreciate for any advice or tips.
Thanks in advance
Columnx=10;
s.c2 = randi(10,4,2);
s.state=randi([1 2],1,Columnx);
[r]= arrayfun(@(k) extract_Col(s,k),1:6,'un',0);
function r=extract_Col(s,x)
col=s.state(x);
r(:,x)=s.c2(:,col);
end
0 comentarios
Respuesta aceptada
per isakson
el 30 de Nov. de 2017
Editada: per isakson
el 30 de Nov. de 2017
Your text make me think you want
r = s.c2(:,s.state)
or possibly
r = num2cell( s.c2(:,s.state) )
but your code does something different
Más respuestas (1)
Ver también
Categorías
Más información sobre Matrix Indexing en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!