How do I store values from a function in an array within a for loop?

for i=119:0.1:125
Shift_Vm= GHK(Nai,Ki,Cli,i,Ko,Clo,P_RestNa,P_RestK,P_RestCl);
x(i)=Shift_Vm
end
plot(x)
I am getting the error:Array indices must be positive integers or logical values.
Error in Nicole_HW2 (line 31)
x(i)=Shift_Vm
How do I store each value of Shift_Vm to an array so I can plot it

 Accepted Answer

something = 119:0.1:125; %give this variable a better name, a name that actually describes what the variable contain
x = zeros(size(something)); %preallocate the output for efficiency
for i = 1:numel(something)
x(i) = GHK(Nai,Ki,Cli,something(i),Ko,Clo,P_RestNa,P_RestK,P_RestCl);
end

2 Comments

Thank you, it worked. One quick thing, How can I plot my results as the steps being the x axis and the values from the function being the y axis. I tried it but I keep getting the wrong graph as a result
plot(something, x);
Naming the result something else than x may make more sense.

Sign in to comment.

More Answers (0)

Categories

Find more on Loops and Conditional Statements 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!