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?

Respuestas (3)

Walter Roberson
Walter Roberson el 6 de Mayo de 2016

0 votos

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
Image Analyst el 6 de Mayo de 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.
John BG
John BG el 6 de Mayo de 2016
Editada: John BG el 6 de Mayo de 2016

0 votos

I only get same error message when introducing negative lengths.
If I introduce 10ft or 100ft your script does not return any error.

La pregunta está cerrada.

Etiquetas

Preguntada:

el 6 de Mayo de 2016

Cerrada:

el 20 de Ag. de 2021

Community Treasure Hunt

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

Start Hunting!

Translated by