按扽 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 用hfss做微带贴片阵列天线的时候分析设置有问题
  • ¥50 我撰写的python爬虫爬不了 要爬的网址有反爬机制
  • ¥15 Centos / PETSc / PETGEM
  • ¥15 centos7.9 IPv6端口telnet和端口监控问题
  • ¥120 计算机网络的新校区组网设计
  • ¥20 完全没有学习过GAN,看了CSDN的一篇文章,里面有代码但是完全不知道如何操作
  • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
  • ¥20 海浪数据 南海地区海况数据,波浪数据
  • ¥20 软件测试决策法疑问求解答
  • ¥15 win11 23H2删除推荐的项目,支持注册表等