I have a question about plot and for loop

Here is my code:
Ca0 = 2;
k = 0.5;
L = input('What is length of the reactor in ft? ');
for La=1:L+1
Ca(La) = Ca0*exp(-3*k*(La));
end
Ca1 = Ca0*exp(-3*k*L);
disp('The concentration of the reactor at this length in M')
disp(Ca1)
figure(1);
La = 0:L;
plot(La,Ca);
xlabel('L');
ylabel('Ca');
title('Plot of L vs Ca');
When I tried to run the command, matlab said that "Error using plot Vectors must be the same lengths.". How can I deal with that?

Answers (3)

At the end of the "for" loop over variable La, the variable La is left set to the last value it had, not to the entire list of values it had.
Your Ca was not calculated with an La of 0, so don't use it - it's deceptive. Use
La = 1 : (L + 1);
plot(La, Ca);
This will also ensure that La and Ca have the same number of elements.
John BG
John BG on 6 May 2016
Edited: John BG on 6 May 2016
I only get same error message when introducing negative lengths.
If I introduce 10ft or 100ft your script does not return any error.

This question is closed.

Asked:

on 6 May 2016

Closed:

on 20 Aug 2021

Community Treasure Hunt

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

Start Hunting!