Running for loop on an equation
    7 views (last 30 days)
  
       Show older comments
    
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 Comments
Accepted Answer
  Torsten
      
      
 on 1 Oct 2022
        
      Edited: Torsten
      
      
 on 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 Comments
  Torsten
      
      
 on 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.
More Answers (1)
  Davide Masiello
      
 on 1 Oct 2022
        
      Edited: Davide Masiello
      
 on 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 Comments
See Also
Categories
				Find more on Loops and Conditional Statements in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

