Error using sub2ind (line 43) Out of range subscript. How to solve this?
조회 수: 5 (최근 30일)
이전 댓글 표시
I have a code here that finds the data i need for specific cell values, for some reason it breaks when i get to the 27th iteration. Which to me doesn't make sense as everything should be within the desired range and the matrix dimensions agree, any help would be appreciated
PM = ('C:\Users\jorda\Desktop\Physics Project\PM Dust Not Removed\ACAG_PM25_V4GL03_199801_199812_0p05.nc');
x_val = ncread(PM,'LAT');
y_val = ncread(PM,'LON');
PM_val = ncread(PM,'PM25');
S = shaperead('C:\Users\jorda\Desktop\Physics Project\filt_country.shp');
[LAT,LON]=cdtgrid([0.05 0.05]);
strc1 = struct2cell(S);
strc2 = strc1(5,:)';
st = cell2mat(strc2);
i = 1;
while i <= 51
mat_zer=zeros(3600,7200);
isin1 = inpolygon(LON,LAT,S(i).X,S(i).Y);
mat_zer(isin1)=st(i);
[row1,col1] = find(mat_zer~=0);
mat_zer_pm = PM_val;
inds1 = sub2ind(size(mat_zer_pm),row1,col1);
new_mat1 = nan(size(mat_zer_pm));
new_mat1(inds1) = mat_zer_pm(inds1);
Country{i,2} = new_mat1;
i = i + 1;
end
댓글 수: 0
채택된 답변
Fangjun Jiang
2020년 12월 2일
[row1,col1] is the index for mat_zer
in sub2ind(), it is using size(mat_zer_pm)
Do mat_zer_pm and mat_zer have the same size all the time?
추가 답변 (0개)
참고 항목
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!