I have a question about plot and for loop
Info
This question is closed. Reopen it to edit or answer.
Show older comments
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)
Walter Roberson
on 6 May 2016
0 votes
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.
Image Analyst
on 6 May 2016
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.
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.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!