انجمن سایت کلیدستان



علت خطای Index exceeds the number of array elementsزمان کنونی: ۱۳۹۸/۱۲/۰۶، ۰۴:۵۷ ب.ظ
کاربران در حال بازدید این موضوع: 1 مهمان
نویسنده: don-nn
آخرین ارسال: don-nn
پاسخ 1
بازدید 167

رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
علت خطای Index exceeds the number of array elements

علت خطای Index exceeds the number of array elements

#1
Sad 
می خواهم معادله زیر را یا روش نیوتون رافسون حل کنم اما متلب خطای 
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
پاسخ


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان