copying specific elements of an array to another.

조회 수: 32 (최근 30일)
Leon Ellis
Leon Ellis 2021년 8월 21일
답변: Stephen23 2021년 8월 21일
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!

채택된 답변

Stephen23
Stephen23 2021년 8월 21일
Forget about loops, the simple and efficient MATLAB approach is to use logical indexing:
g = y(y>0.001)

추가 답변 (1개)

Awais Saeed
Awais Saeed 2021년 8월 21일
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

카테고리

Help CenterFile Exchange에서 Programming에 대해 자세히 알아보기

제품


릴리스

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by