End-of-array value entry

2 views (last 30 days)
Maroulator
Maroulator on 11 Aug 2014
Commented: Star Strider on 11 Aug 2014
I have the following code which achieves what I need. However, when I tried to make it a bit more sophisticated and perform the substitution I note in the for statement below, I get no results. Cold someone please venture a guess as to why this is the case?
Io=2; K=1.38*(10^(-23)); q=1.602*(10^(-19)); id=-1:0.1:0.6;
for i=1:17 -----> substitute with for i=1:id(end)
T=75;
Vd(i)=((id(i)./Io)+1).*(exp(K*T)/q);
end

Accepted Answer

Star Strider
Star Strider on 11 Aug 2014
Your id array has a maximum of 0.6. In your loop, i=1:0.6 would not execute because the value of the counter at the start, i=1 is already greater than the termination value, 0.6.

More Answers (1)

Hikaru
Hikaru on 11 Aug 2014
Instead of substituting with
i=1:id(end)
Use:
i=1:length(id)
You also might want to preallocate Vd since it changes size in every iteration.
  2 Comments
Star Strider
Star Strider on 11 Aug 2014
@Maroulator — You can give him a vote (2 points).

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!