getting error in for loop
Show older comments
Array indices must be positive integers or logical values.
Error in Untitled4 (line 27)
Idsat(i)=r1*(Vgs-(r2)+Vds(i));
for i=0:length(Vds)
Idsat(i)=r1*(Vgs-(r2)+Vds(i));
end
1 Comment
Sam Chak
on 30 May 2022
Have you checked if your array indices are positive integers or logical values?
Answers (2)
Loop indices don't start at 0, but at 1 in MATLAB:
for i=1:length(Vds)
Idsat(i)=r1*(Vgs-(r2)+Vds(i));
end
instead of
for i=0:length(Vds)
Idsat(i)=r1*(Vgs-(r2)+Vds(i));
end
Nudrat Sufiyan
on 30 May 2022
0 votes
7 Comments
Nudrat Sufiyan
on 30 May 2022
Torsten
on 30 May 2022
The code works fine for me.
Nudrat Sufiyan
on 30 May 2022
Torsten
on 30 May 2022
r1 = 5.420307692307692e-26
Vgs = -2
r2 = -7.731499999999999e+18
Thus Vds won't change anything if you have in mind how large r2 is.
Nudrat Sufiyan
on 30 May 2022
Torsten
on 30 May 2022
@Nudrat Sufiyan comment moved here
It means I should change the value of r2
Categories
Find more on Logical in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!