Running for loop on an equation
    7 vues (au cours des 30 derniers jours)
  
       Afficher commentaires plus anciens
    
Hi everyone, 
I have the equation: 
 (1)
            (1)I have:

and

I have to compute  for 0, 1, 2, ... 10.
 for 0, 1, 2, ... 10. 
 for 0, 1, 2, ... 10.
 for 0, 1, 2, ... 10. I did it this way in MATLAB:
S = [1/2, 1/3, 1/2, 1/3, 1/3, 1/2;
    1/2, 0, 0, 0, 0, 0;
    0, 1/3, 1/2, 0, 0, 0;
    0, 0, 0, 0, 1/3, 0;
    0, 1/3, 0, 1/3, 0, 0;
    0, 0, 0, 1/3, 1/3, 1/2];
u_0 = [0, 0, 1, 0, 0 ,0]';
for i = 0:10
    u_k = S.*u_i;
I am stuck here. How can I write the equation (1) in matlab? Any help will be highly appreciated. Thanks alot in advance. 
0 commentaires
Réponse acceptée
  Torsten
      
      
 le 1 Oct 2022
        
      Modifié(e) : Torsten
      
      
 le 1 Oct 2022
  
      S = [1/2, 1/3, 1/2, 1/3, 1/3, 1/2;
    1/2, 0, 0, 0, 0, 0;
    0, 1/3, 1/2, 0, 0, 0;
    0, 0, 0, 0, 1/3, 0;
    0, 1/3, 0, 1/3, 0, 0;
    0, 0, 0, 1/3, 1/3, 1/2];
u_0 = [0, 0, 1, 0, 0 ,0]';
u = zeros(6,10);
u(:,1) = u_0;
for i = 2:11
    u(:,i) = S*u(:,i-1);
end
u
%u./vecnorm(u)
%null(S-eye(6))
3 commentaires
  Torsten
      
      
 le 1 Oct 2022
				To run it for 1,2,...,10, you must run the loop from 2 to 11. Think about it.
I corrected it above in my code.
Plus de réponses (1)
  Davide Masiello
      
 le 1 Oct 2022
        
      Modifié(e) : Davide Masiello
      
 le 1 Oct 2022
  
      I suspect you want to do something like this
S   = [ 1/2, 1/3, 1/2, 1/3, 1/3, 1/2;...
        1/2, 0, 0, 0, 0, 0;...
        0, 1/3, 1/2, 0, 0, 0;...
        0, 0, 0, 0, 1/3, 0;...
        0, 1/3, 0, 1/3, 0, 0;...
        0, 0, 0, 1/3, 1/3, 1/2;...
        ];
u       = zeros(6,11);
u(:,1)  = [0, 0, 1, 0, 0 ,0]';
for col = 2:11
    u(:,col) = S*u(:,col-1);
end
u
Beware of the fact that, to call  , you must write
, you must write 
 , you must write
, you must write u(:,n+1)
This is because, unlike C, Matlab's indexing starts from 1 rather than 0.
0 commentaires
Voir également
Catégories
				En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


