【问题标题】:How can I implement u^k = M^k u_0?如何实现 u^k = M^k u_0?
【发布时间】:2020-11-19 22:02:33
【问题描述】:

M := Matrix([[0.94, 0.09], [0.06, 0.91]]);u[0] = Vector([0.8, 0.2]);。我可以使用什么命令来获取 u^k = M^k u_0 for k=5, 10, ..., 50?

【问题讨论】:

    标签: maple


    【解决方案1】:

    我猜你打错了,你想将M^k . u[0] 的结果称为u[k] 而不是(如你所写的)u^k

    restart;
    with(LinearAlgebra):
    M := Matrix([[0.94, 0.09], [0.06, 0.91]]):
    u[0] := Vector([0.8, 0.2]):
    
    # One (inefficient) way
    seq(M^k . u[0],k=5..50,5);
    
    # Another way
    M5 := M^5:
    for k from 5 to 50 by 5 do
      u[k] := M5 . u[k-5];
    end do;
    
    # Another way
    (evals,evecs) := simplify([Eigenvectors(M)])[]:
    seq(evecs . DiagonalMatrix(map(`^`,evals,k))
        . evecs^(-1).u[0],
        k=5..50,5);
    

    【讨论】:

      猜你喜欢
      • 2013-02-21
      • 1970-01-01
      • 1970-01-01
      • 2019-07-05
      • 1970-01-01
      • 1970-01-01
      • 2021-05-04
      • 1970-01-01
      • 2011-07-24
      相关资源
      最近更新 更多