copying specific elements of an array to another.

29 visualizaciones (últimos 30 días)
Leon Ellis
Leon Ellis el 21 de Ag. de 2021
Respondida: Stephen23 el 21 de Ag. de 2021
Hi, I want to copy certain values from an array with a known size to an array with an unspesified size based on the critaria.
for i=1:length(y)
if abs(y(i))>0.001
y(i)=g(i);
end
end
So basically, I want to get all values in the array y that are greater than 0.001 to be copied into a seperate array g, but I'm struggling. Thanks in advance!

Respuesta aceptada

Stephen23
Stephen23 el 21 de Ag. de 2021
Forget about loops, the simple and efficient MATLAB approach is to use logical indexing:
g = y(y>0.001)

Más respuestas (1)

Awais Saeed
Awais Saeed el 21 de Ag. de 2021
y = reshape(randn(3)/100,1,[]);
idx = 0;
for col = 1:1:size(y,2)
if (y(col) > 0.001)
idx = idx+1;
g(idx) = y(col); % store values > 0.001 in g
end
end
fprintf('y: ')
fprintf('%f ', y) % original data
fprintf('\ng: ')
fprintf('%f ', g) % values > 0.001

Categorías

Más información sobre Programming en Help Center y File Exchange.

Etiquetas

Productos


Versión

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by