Info

La pregunta está cerrada. Vuélvala a abrir para editarla o responderla.

Is there any other ways instead of using for loop for this one?

1 visualización (últimos 30 días)
SM
SM el 14 de Jul. de 2020
Cerrada: MATLAB Answer Bot el 20 de Ag. de 2021
A={[10,11,10,7],[7,8,7,6],[11,10,9,9],[7,5,11,5];[9,8,6,11],[10,6,9,7],[6,12,8,9],[7,10,12,9];[10,7,12,6],[8,11,7,5],[8,5,9,9],[10,10,10,10]};
C=[1 1 0 1;0 1 1 1;1 0 1 1; 0 1 1 0];
[a,b]=find(~C);
for i=1:numel(a)
for j=1:size(A,1)
A{j,a(i)}(b(i))=100;
end
end
Is there any other smart ways to solve?

Respuestas (1)

Matt J
Matt J el 14 de Jul. de 2020
Editada: Matt J el 14 de Jul. de 2020
It would be better if A were just a 3D numeric array,
Amat=cell2mat(reshape(A, size(A,1),1,[]))
Then you could simply do,
Amat(:,~C.')=100
  2 comentarios
SM
SM el 16 de Jul. de 2020
Is it possible to get back from 3D numeric array to celll?

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by