MATLAB: How to iterate a matrix for multiple times

matrix iterates with time periods

Hi
I have a matrix, let's say, a random 5×5 matrix. In time period 1, it is a 5×5 random matrix, in time period 2, all element in the matrix are multiplied by 2 (a number), then in time period 3, all elements in time period 2 multiplied by 2 agian, so on and so forth until time period 30.
Actually this is a small part of my research, but i just begin working on Matlab so i am so confused with this step. Thank you so much for answering this question for me!

Best Answer

  • E.g., here is a possible outline
    n = 30; % the number of iterations

    M = rand(5,5); % some initial matrix

    for k=1:n
    M = 2*M; % or some other function involving M
    end
    If you need to save all the intermediate results, then something like this:
    n = 30; % the number of iterations
    M = zeros(5,5,n+1);
    M(:,:,1) = rand(5,5); % some initial matrix
    for k=2:n+1
    M(:,:,k) = 2*M(:,:,k-1); % or some other function involving M(:,:,k-1)
    end