Matlab解决矩阵微分方程建模(代码开源)

#用matlab解决施密特正交规范化矩阵之后,我又想到矩阵的微分方程计算量真的太大了,来回转化让我头大,于是我尝试了一下用matlab建立模型来解决这类问题。

代码部分如下:注解还挺清晰的:

%%
    %解微分方程组
    %eg:x1t'=3*x1t+x2t
    %    x2t'=x1t+2*x2t+x3t
    %    x3t'=x2t+3*x3t
    
    
    %1.首先设出xt
    syms x1t;syms x2t; syms x3t;
    syms x1t_;syms x2t_; syms x3t_;
    xt1=[x1t;x2t;x3t];
    xt_1=[x1t_;x2t_;x3t_];%用_代表一撇(导数)
    %正常带入进去
   %我们有:xt_=[x1t_;x2t_;x3t_]
    %         =[3*x1t+x2t;x1t+2*x2t+x3t;x2t+3*x3t]
    %         =[3 1 0;1 2 1;0 1 3]*[x1t;x2t;x3t]
    %         =[3 1 0;1 2 1;0 1 3]*xt
    

    A=[3 1 0;1 2 1;0 1 3];

    %2.对A进行对角化

    %2.1求A的特征值
    syms t;
    %法1:因式分解
    f=t*A-eye(3);%是多少写多少
    fa=det(f);%求行列式
    fac=factor(fa);
   
    
    %法2:直接求解
    [v,D]=eig(A);%v为特征向量,D为特征值
    disp('特征值:');
    disp(diag(D)');
    disp('特征向量:');
    disp(v);

    %我们可知:p-1*A*p=D;
    %       有A=p*D*p-1

    %我们接着带入得:xt'=P*D*P-1*xt;

    %移项凑形式:    p-1*xt'=D*p-1*xt;

    %引入变量   Yt=p-1*xt=[y1t;y2t;y3t]
    %有 yt'=D*yt

    %可得:[y1t';y2t';y3t']=D*[y1t;y2t;y3t]=[y1t;3*y2t;4*y3t];
    syms y1t;
    syms y2t;
    syms y3t;
    syms y1t_;
    syms y2t_;
    syms y3t_;
    yt1=[y1t;y2t;y3t];
    y1t_1=[y1t_;y2t_;y3t_];
    %截图:


    %微积分知识求解微分方程
    %代入方程得到:
    [y1t,y2t,y3t]=dsolve('Dy1t=y1t','Dy2t=3*y2t','Dy3t=4*y3t','t');
    yt=[y1t;y2t;y3t];

    %又知:xt=p*yt


        xt=v*yt;
        disp(xt);
%即为我们得到的答案

我们带入例题验证一下结论:

我们直接带入我们的代码:

得到:

结果是正确的,遇到类似题目可以直接带入模型进行求解,大大节约了我们的时间!

谢谢大家的支持啦~

相关推荐

最近更新

  1. TCP协议是安全的吗?

    2024-06-06 09:14:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-06 09:14:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-06 09:14:01       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-06 09:14:01       20 阅读

热门阅读

  1. 达梦数据库

    2024-06-06 09:14:01       10 阅读
  2. 深度学习中无监督学习

    2024-06-06 09:14:01       9 阅读
  3. 正则表达式二

    2024-06-06 09:14:01       6 阅读
  4. 自动化-selenium-元素/窗口常用方法

    2024-06-06 09:14:01       8 阅读
  5. SpringBoot集成:搭建kafka集群 + zookeeper集群

    2024-06-06 09:14:01       10 阅读
  6. 【设计模式】观察者模式(行为型)⭐⭐⭐

    2024-06-06 09:14:01       7 阅读
  7. 基于openssl实现AES ECB加解密

    2024-06-06 09:14:01       9 阅读
  8. Shell 编程之正则表达式与文本处理器

    2024-06-06 09:14:01       9 阅读
  9. Linux之关机重启

    2024-06-06 09:14:01       6 阅读
  10. 【3d】Real-Time Rendering 3rd 笔记1:图形渲染管线

    2024-06-06 09:14:01       7 阅读