error when the input is zero
古いコメントを表示
hi all, i am doing a code on MATLAB while the variable input is :
T= Temperature
G= irradiation
but I am getting an error when I have G value equal to zero. the error is :
??? Attempted to access (0); index must be a positive integer or logical.
my code is :
IL=(ISC+(mi)*(T-T1))*(G/G1);
IO1=ISC/(exp((VOC*q)/(NS*A*k*T1))-1);
IO=IO1*((T/T1)^3)*exp((q*EG/(A*k))*((1/T1)-(1/T)));
RS=((NS*A*k*T1/q)*log(((ISC-IM1)/IO1)+1)-VM1)/IM1;
h=IL/1000;
I=0:h:IL;
N=length(I);
V(N)=0; %Error is here on this line!!
for i=1:(N-1)
V(i)=(NS*A*k*T/q)*log(1+(IL-I(i))/IO)-I(i)*RS; %
end
why I am getting this error and how to overcome it ?? please help and advice. thanks
採用された回答
その他の回答 (1 件)
Babak
2012 年 8 月 27 日
0 投票
If you set G = 0, then IL will be evaluated as 0.
When IL = 0, then h = 0 and I = 0:h:IL which is I = [].
And N = length(I) is 0.
Assignment of V(N) is like V(0) is meaningless.
I recommand you not set G = 0. I don't know the reason why it ccan/should be zero.
カテゴリ
ヘルプ センター および File Exchange で MATLAB についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!