[討論] 消除Index exceeds matrix dimension
這在GPU上執行的 代碼如下:
for i=2:length(A)
if A(i,2)==A(i-1,2),continue;end
for j=2:length(A)
if c(j,2)==A(i,2)
c(j,1)=A(j,1);
c(j,2)=A(i,2);
c(j,3)=A(j,3);
else
c(j,1)=0;
c(j,2)=0;
c(j,3)=0;
end
end
c(any(c,2)==0,:)=[];
[xmax,m]=max(c(:,1));
[xmin,n]=min(c(:,1));
D=[(xmax+xmin)/2,c(1,2),(c(m,3)+c(n,3))/2];
D=[(xmax+xmin)/2,c(1,2),(c(m,3)+c(n,3))/2];
[zmax,p]=max(c(:,3));
S=[c(p,1),c(1,2),zmax];
oz=((S(1,1)-xmin)*((S(1,1)+xmin)-2*(D(1,1)+S(1,1))/2)+(zmax+c(n,3))*(zmax-c(n,3)))/(2*(zmax-c(n,3)));
O=[(D(1,1)+S(1,1))/2,c(1,2),oz];
r=normest(O-S);
r0=[];
OC=O-c;
for k=1:length(OC)
r0(k,1)=normest(OC(k,:));
end
for k=1:length(OC)
if r-0.002<r0(k,1)&&r0(k,1)<r+0.002
c(k,:)=0;
end
end
K{i}=c;
end
我執行的結果,得到了
Error using gpuArray/subsref
Error using gpuArray/subsref
Index exceeds matrix dimension.
想請教一下 這問題出在哪?該怎麼修改
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 101.136.76.109
※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1544370146.A.E3C.html
※ 編輯: qqqq99369 (101.136.76.109), 12/09/2018 23:46:44
推
, , 1F
是把全部的length改成size嗎? 我將全部的length改成size還是一樣的問題 12/09 23:59
※ 編輯: qqqq99369 (101.136.76.109), 12/10/2018 09:20:27
※ 編輯: qqqq99369 (101.136.76.109), 12/10/2018 09:27:13
推
, , 2F
後來找到問題所在解決了,感謝大家。
12/10 14:12
※ 編輯: qqqq99369 (101.136.152.131), 12/10/2018 23:15:12
※ 編輯: qqqq99369 (101.136.152.131), 12/10/2018 23:55:21
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章