Attempted to access indx(1); index out of bounds because numel(indx)=0.
Mostrar comentarios más antiguos
Dear all, WHAT IS THE HELL OF THIS ERROR??????
what can I do??
function [Ex,Ey,Ez]=coordxtr(Edof,Coord,Dof,nen)
%[Ex,Ey,Ez]=coordxtr(Edof,Coord,Dof,nen)
[nel,dum]=size(Edof);
ned=dum-1;
[n,nsd]=size(Coord);
[n,nd]=size(Dof);
nend=ned/nen;
%
for i = 1:nel
nodnum=zeros(1,nen);
for j = 1:nen
check=Dof(:,1:nend)-ones(n,1)*Edof(i,(j-1)*nend+2:j*nend+1);
[indx,dum]=find(check==0);
nodnum(j)=indx(1);
end
%
Ex(i,:)=Coord(nodnum,1)';
if nsd>1
Ey(i,:)=Coord(nodnum,2)';
end
if nsd>2
Ez(i,:)=Coord(nodnum,3)';
end
end
%--------------------------end--------------------------------
2 comentarios
Matz Johansson Bergström
el 17 de Ag. de 2014
Do you have an example of inputs to the function that gives this error?
Hamid
el 17 de Ag. de 2014
Respuesta aceptada
Más respuestas (1)
Ahmet Cecen
el 17 de Ag. de 2014
That means check sometimes don't have any 0 elements when you do
[indx,dum]=find(check==0);
Try instead:
if length(indx)>0
nodnum(j)=indx(1);
else
nodnum(j)=0;
end
Categorías
Más información sobre Matrix Indexing en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!