Matrix Multiplication Using For Loop

I am trying to multiply a 4x4 matrix to a 4x1 vector. The code is supposed to calculate population after t number of years. I keep getting an error message saying that x1 is undefined. If possible, I would also like to declare it as a function and write another file that will call that function with any t that I input. Here is what I have..
function P = Population(t)
y(1) = 6250;
for i = 1:t
x = [x1; x2; x3; x4];
m = [0 0 0 9.55;
0.4 0 0 0;
0 0.15 0 0;
0 0 0.95 0];
P = m * x;
y(i) = sum(P)
end

Respuestas (1)

James Tursa
James Tursa el 25 de Mzo. de 2017
Editada: James Tursa el 25 de Mzo. de 2017

1 voto

The error message is pretty clear. You are attempting to build the x variable out of four other variables named x1, x2, x3, x4. None of these four other variable are defined. Where are they supposed to come from? The only variables that are defined at that point in your code are t, y, and i. Also I would point out that you are building up a y vector but not returning it as an output of your function, so y is thrown away.

2 comentarios

Jonathan Lee
Jonathan Lee el 25 de Mzo. de 2017
Editada: Jonathan Lee el 25 de Mzo. de 2017
Thank you for the help!
These four variables are dependent on each other. x1 = # of polar bear cubs born x2 = # of cubs that survive 1st year x3 = # of cubs that survive 2nd year x4 = # of adult female cubs
I just defined x1,x2,x3 = 0 and x4 = 6250 The code now runs but I cannot tell if the answer is correct without seeing a graph.
I tried j = 0:5:t; k = 0:5:y;
plot(j,k)
but I am getting an error message for the 'k' variable. Did I set the parameters incorrectly?
James Tursa
James Tursa el 25 de Mzo. de 2017
Please post your current complete code for us to see.

Iniciar sesión para comentar.

Categorías

Más información sobre Loops and Conditional Statements en Centro de ayuda y File Exchange.

Etiquetas

Preguntada:

el 25 de Mzo. de 2017

Comentada:

el 25 de Mzo. de 2017

Community Treasure Hunt

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

Start Hunting!

Translated by