The size of the indicated variable or array appears to be changing with each loop iteration. Commonly, this message appears because an array is growing by assignment or concat
조회 수: 10 (최근 30일)
이전 댓글 표시
clc
clear
h = 1;
r = 0:h:20;
z = 0:h:20;
[rgrid,zgrid] = meshgrid(r,z);
zgrid = flip(zgrid);
b1=[];
for i=1:size(rgrid,1)*size(zgrid,2)
if zgrid(i) == min(min(zgrid))
b1 = [b1 i];
end
end
채택된 답변
Stephen23
2021년 7월 19일
편집: Stephen23
2021년 7월 19일
h = 1;
r = 0:h:20;
z = 0:h:20;
[rgrid,zgrid] = meshgrid(r,z);
zgrid = flip(zgrid)
Simpler, faster code:
b2 = find(zgrid==min(zgrid(:))).'
or even simply:
n3 = numel(z);
b3 = n3:n3:n3*numel(r)
Your code:
b1 = [];
for i = 1:size(rgrid,1)*size(zgrid,2)
if zgrid(i) == min(min(zgrid))
b1 = [b1 i];
end
end
b1
댓글 수: 0
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Logical에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!