查看: 163|回复: 2|关注: 0

[已解决] 报错“位置 1 处的索引超出数组边界(不能超出 401)”

[复制链接]

新手

12 麦片

财富积分


050


3

主题

5

帖子

0

最佳答案
lat_range=linspace(20,30,10000);
lon_range=linspace(60,100,10000);

cydata = rand(1,10000);
cylat = rand(1,10000)*10+20;
cylon = rand(1,10000)*40+60;
cy_count = zeros(401,101);
cy_gama = zeros(401,101);
for kk = 1:10000
    [~,index1] = min(abs(cylat(kk)-lat_range));
    [~,index2] = min(abs(cylon(kk)-lon_range));
    cy_gama(index2,index1) = cy_gama(index2,index1) + cydata(kk);
    cy_count(index2,index1) = cy_count(index2,index1) + 1;
end
麻烦各位帮忙解答一下,lat_range与lon_range分别 代表我自己设置的维度与经度,cydata代表模拟的数据,cylat与cylon代表20到30与60到100的随机模拟维度与经度数据,count是计数,cy_gama是最后将得出的矩阵401*101,我的想法就是想将模拟的数据填入我设定好的维度与经度里面,但是报错了,提示”位置 1 处的索引超出数组边界(不能超出 401)“,实在不太清楚怎么弄,昨天才刚刚入门,麻烦大家了

回复主题 已获打赏: 0 积分

举报

MATLAB 基础讨论
版块优秀回答者

入门

151 麦片

财富积分


50500


3

主题

97

帖子

18

最佳答案
QQ
  • 关注者: 1
发表于 2020-10-14 15:07:05 | 显示全部楼层 |此回复为最佳答案
因为你的index1和index2都超过了401,而你的cy_gama的维度是401*401的,所以会报错
回复此楼 已获打赏: 0 积分

举报

新手

12 麦片

财富积分


050


3

主题

5

帖子

0

最佳答案
 楼主| 发表于 2020-10-14 19:45:18 | 显示全部楼层
younshion 发表于 2020-10-14 15:07
因为你的index1和index2都超过了401,而你的cy_gama的维度是401*401的,所以会报错 ...

谢谢了
回复此楼 已获打赏: 0 积分

举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /3 下一条

快速回复 返回顶部 返回列表