How to do counter in matlab?
Mostrar comentarios más antiguos
I want to do just like the following Matlab, it returns error, how to fix it so Matlab can take it without errors?
load M.dat
t = 600;
q(1)=[1;0;0;0;0;0;0;0;0;0];
for i=1:t-1,
q(i+1) = q(i)*M;
end
I want to have qt in the end. q(1) is a matrix called q1, and I want q2 which is q(i+1) to be M*q1 , and q3 to be M*q2 and visa versa until we reach qt
4 comentarios
James Tursa
el 21 de Abr. de 2015
What is M? A matrix or a scalar?
Hello Matlab
el 21 de Abr. de 2015
James Tursa
el 21 de Abr. de 2015
Then q(i)*M is scalar*matrix, which is a matrix. How do you expect to store this into q(i+1), which is a scalar? You need to examine your equations and correct them to something that makes sense.
Hello Matlab
el 21 de Abr. de 2015
Respuestas (3)
Image Analyst
el 21 de Abr. de 2015
0 votos
You can't assign a 10-element column vector to a single element of q. Only one element can go into the first element of q, not 10.
2 comentarios
Hello Matlab
el 21 de Abr. de 2015
Image Analyst
el 21 de Abr. de 2015
Try this:
M = 100 % Whatever...
t = 600;
q = zeros(1, t);
q(1)= 1;
for i=1:t-1,
q(i+1) = q(i)*M;
end
James Tursa
el 21 de Abr. de 2015
I am still guessing here. Maybe this is what you want? (I am assuming M is square)
load M.dat
t = 600;
q = zeros(size(M,1),t);
q(1,1) = 1;
for k=2:t,
q(:,k) = M * q(:,k-1);
end
Each column of q is an intermediate answer, with q(:,t) being your final answer.
If you don't need all the intermediate answers, then simply
load M.dat
t = 600;
q1 = zeros(size(M,1),1);
q1(1) = 1;
qt = M^(t-1) * q1;
ALEX
el 21 de Abr. de 2015
Hello,
Play around with this, let me know if you have problems.
clear all M = 1.1; t = 600; q1 = zeros(10,1); q1(1)= 1;
val = q1*M;
for i=1:t-1
eval(['q' num2str(i+1) ' = val ']);
val = val*M;
end
Peace
2 comentarios
James Tursa
el 22 de Abr. de 2015
Read this link to see why creating hundreds of variables q1, q2, ... etc in a loop is generally very bad programming practice:
Read these to know why this answer will force you into writing slow, complex, buggy code:
Categorías
Más información sobre Loops and Conditional Statements en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!