如何修复“位置1的索引超出数组范围”

时间:2019-07-05 21:03:49

标签: matlab voronoi

 x = gallery('uniformdata',[1,10],0);
 y = gallery('uniformdata',[1,10],1);
 [v,c] = voronoin([x(:) y(:)]); %returns an array V with vertices and a cell array C with a matrix for each cell of the diagram. 
 v = v( ~any( isnan( v ) | isinf( v ), 2 ),: );
 for ii=1:numel(c)
        v(c{ii},:) %contains the vertices to cell number ii, corresponding to centroid x,y(ii,:).     
 end

v(c{1},:)似乎执行得很好,但是一旦到达v(c{2},:),我就会收到此错误

“位置1的索引超出数组范围(不得超过13)。”

注意:numel(v)返回13

我尝试了for ii=1:numel(c)-1,但这似乎也不起作用

1 个答案:

答案 0 :(得分:1)

v = v(...)行更改了数组vc中的索引不再与数组v匹配。

您应该删除该行代码。