按扽 2021-10-19 19:28 采纳率: 100%
浏览 30
已结题

利用Matlab编程,想了好久还是没出来

img

非常感谢!
想了好久
我自己算的完全不符合。

  • 写回答

1条回答 默认 最新

  • 技术专家团-Joel 2021-10-19 20:04
    关注

    你好,把A分解成A=P*D*P^(-1)就行【注意:P^(-1)是P的逆,D是对角矩阵】
    那么每次都有
    x2 = A*x1
    xn = (A*...*A)x1 【括号里n-1个A】
    所以
    xn = P*D*P^(-1) * P*D*P^(-1) * ... *P*D*P^(-1)*x1
    = P*(D*...*D)*P^(-1)*x1 【括号里n-1个D】
    所以最后就好计算了哈哈哈,求出P*(D*...*D)*P^(-1)就可以,思路大概就是这样,代码仅供参考:
    干脆全部改为符号运算:

    syms x [2,1]
    syms A [2,2]
    syms n positive integer
    A = [2,5; 1,3];
    xn = A^(n-1)*x; % 我这里把x1改成用x表示会更好
    xn = simplify(xn)
    pretty(xn)
    

    结果:

    xn =
     
     (3*x1*(5/2 - 21^(1/2)/2)^n)/2 + (3*x1*(21^(1/2)/2 + 5/2)^n)/2 - (5*x2*(5/2 - 21^(1/2)/2)^n)/2 - (5*x2*(21^(1/2)/2 + 5/2)^n)/2 + (13*21^(1/2)*x1*(5/2 - 21^(1/2)/2)^n)/42 - (13*21^(1/2)*x1*(21^(1/2)/2 + 5/2)^n)/42 - (25*21^(1/2)*x2*(5/2 - 21^(1/2)/2)^n)/42 + (25*21^(1/2)*x2*(21^(1/2)/2 + 5/2)^n)/42
                         x2*(5/2 - 21^(1/2)/2)^n - (x1*(21^(1/2)/2 + 5/2)^n)/2 - (x1*(5/2 - 21^(1/2)/2)^n)/2 + x2*(21^(1/2)/2 + 5/2)^n - (5*21^(1/2)*x1*(5/2 - 21^(1/2)/2)^n)/42 + (5*21^(1/2)*x1*(21^(1/2)/2 + 5/2)^n)/42 + (4*21^(1/2)*x2*(5/2 - 21^(1/2)/2)^n)/21 - (4*21^(1/2)*x2*(21^(1/2)/2 + 5/2)^n)/21
     
    / x1 #1 3   x1 #2 3   x2 #1 5   x2 #2 5   sqrt(21) x1 #1 13   sqrt(21) x1 #2 13   sqrt(21) x2 #1 25   sqrt(21) x2 #2 25 \
    | ------- + ------- - ------- - ------- + ----------------- - ----------------- - ----------------- + ----------------- |
    |    2         2         2         2              42                  42                  42                  42        |
    |                                                                                                                       |
    |               x1 #2   x1 #1           sqrt(21) x1 #1 5   sqrt(21) x1 #2 5   sqrt(21) x2 #1 4   sqrt(21) x2 #2 4       |
    |       x2 #1 - ----- - ----- + x2 #2 - ---------------- + ---------------- + ---------------- - ----------------       |
    \                 2       2                    42                 42                 21                 21              /
    
    where
    
             / 5   sqrt(21) \n
       #1 == | - - -------- |
             \ 2       2    /
    
             / sqrt(21)   5 \n
       #2 == | -------- + - |
             \     2      2 /
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 10月27日
  • 已采纳回答 10月19日
  • 创建了问题 10月19日

悬赏问题

  • ¥15 mmocr的训练错误,结果全为0
  • ¥15 python的qt5界面
  • ¥15 无线电能传输系统MATLAB仿真问题
  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀