copying specific elements of an array to another.
조회 수: 17 (최근 30일)
이전 댓글 표시
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!
댓글 수: 0
채택된 답변
Stephen23
2021년 8월 21일
Forget about loops, the simple and efficient MATLAB approach is to use logical indexing:
g = y(y>0.001)
댓글 수: 0
추가 답변 (1개)
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
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Matrices and Arrays에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!