Running for loop on an equation
    조회 수: 7 (최근 30일)
  
       이전 댓글 표시
    
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
채택된 답변
  Torsten
      
      
 2022년 10월 1일
        
      편집: Torsten
      
      
 2022년 10월 1일
  
      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
  Torsten
      
      
 2022년 10월 1일
				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.
추가 답변 (1개)
  Davide Masiello
      
 2022년 10월 1일
        
      편집: Davide Masiello
      
 2022년 10월 1일
  
      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
참고 항목
카테고리
				Help Center 및 File Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


