Attempted to access indx(1); index out of bounds because numel(indx)=0.
Mostra commenti meno recenti
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 Commenti
Matz Johansson Bergström
il 17 Ago 2014
Do you have an example of inputs to the function that gives this error?
Hamid
il 17 Ago 2014
Risposta accettata
Più risposte (1)
Ahmet Cecen
il 17 Ago 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
Categorie
Scopri di più su Matrix Indexing in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!