??? Attempted to access G(2); index out of bounds because numel(G)=1.
Afficher commentaires plus anciens
Hello, I am trying to do the below calculation and I keep getting this error. I need it to compare the difference of subsuquent calculations and repeat the loop until their difference is less than 0.0001. clear all; R=2.4; P=.1; eta= 10e-19; k=1; G(k)= R* eta /.1 Q=.5 k=k+1 while(G(k) - G(k- 1) > .0001) G(k) = G(k+1)*{1-(G(k)+1)/(G(k+1)+G(k))}+ Q k=k+1;
end
??? Attempted to access G(2); index out of bounds because numel(G)=1.
Error in ==> homework4 at 9 while(G(k) - G(k- 1) > .0001)
Réponse acceptée
Plus de réponses (2)
Sven Schoeberichts
le 8 Déc 2011
You are trying to access G(k+1) before it exists
clear all;
R = 2.4;
P = 0.1;
eta = 10e-19;
k = 1;
G( k ) = R * eta / 0.1;
Q = 0.5;
k = k + 1;
while( G(k) - G(k-1) > 0.0001 )
G(k) = G(k+1)*{1-(G(k)+1) / (G(k+1)+G(k))}+ Q;
k = k + 1;
end
1 commentaire
Bennie
le 8 Déc 2011
Wayne King
le 8 Déc 2011
Hi, You should format your code so that people can read it.
Your problem is that you have G as a scalar:
R=2.4; P=.1; eta= 10e-19;
k=1; G(k)= R* eta /.1;
Then you try to access G(2) in your while statement
k = k+1;
while(G(k)-G(k-1)>0.0001)
but you have never provided a value for G(2). You increment k up to 2 with k = k+1, so your while statement attempts to evaluate G(2)
1 commentaire
Bennie
le 8 Déc 2011
Catégories
En savoir plus sur Control Flow dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!