کلیدستان

نسخه‌ی کامل: علت خطای Index exceeds the number of array elements
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
می خواهم معادله زیر را یا روش نیوتون رافسون حل کنم اما متلب خطای 
Index exceeds the number of array elements را نشون میده. چرا؟؟؟؟ Confused  Sad /
کد:
E=0.1;
D=15.*10^(-9);
d=35.*10^(-9);
L=0.8.*10^(-6);
landa=373.*10^(-9);
Snw=L.*d.*(((pi.*d)./landa).^2);
Sspot=(pi.*D.^2)./4;
E1=Snw./Sspot;
F=67;
tr=265*10^(-12);
A=F./tr;
Y=1./(9.2.*10^(-15));
B=0.5;
n0=10^17;
T=1.48;
tph=0.26*10^(-12);
pth=65*10^(6);
nth=E.*E1.*pth.*A;
g0=1./(T.*tph.*(nth-n0));
n00=10^(15);
N=1601;
error=0.01;
for p = 0:10000:1600*10^(6)
     syms n;
   f= (E.*E1.*p -(g0.*T.*A.*B.*n.*(n-n0))./(Y-T.*g0.*(n-n0)))./A;
   dif=diff(f);
   while i<=N
       n1= n00-(f(n00)./dif(n00));
       err=abs((n1-n00)./n1);
       if err<error
        printf('exciton density',double(n1))
       return
       end
       i=i+1;
       n00=n1;
   end

end