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);
%即为我们得到的答案

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

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

得到:

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

谢谢大家的支持啦~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/682618.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

多目标优化-NSGA-II

文章目录 一、前置知识NSGA-II帕累托前沿 二、算法流程1.NSGA2.NSGA-II 一、前置知识 1.NSGA(非支配排序遗传算法):旨在同时优化多个冲突的目标函数,寻找帕累托前沿上的解集。 什么是多个冲突的目标: 比如你看上了一辆车,你既想要它便宜,又…

一个思维狂赚20万+?揭秘电商平台隐藏的流量认知!

你想要的流量,资源,人脉,都已经有人为你准备,你只需要找到拥有这些资源的人。对于流量和信息,也是一样,你想找的客户和产品,都已经有人为你准备在淘宝、拼多多等电商平台,你只需要找…

掌握Postman,轻松调试POST与GET接口:详细安装与实战教程,让你的API测试更高效

0.前言 在确保数据接口的稳定性和可访问性方面,使用专业的接口测试工具至关重要。这些工具不仅简化了测试流程,还提供了无需编写额外代码即可轻松调用和调试接口的能力,从而大大提高了测试效率和准确性。 0.1 Postman 背景介绍 用户在开发或…

遭遇Device Association Service占用CPU和内存过高异常

1.异常描述 在蓝牙设备搜索和配对过后,系统界面卡住了,查找了下任务管理器,发现有一个主机服务占用了过多的CPU和内存,且不断的在增长。截图如下: 百度查了下,Device Association Service是一个Win10系统服…

HCIP-Datacom-ARST自选题库_10_多种协议多选【24道题】

1.如图所示,PE1和PE2之间通过LoopbackO接口建立MP-BGP邻居关系,在配完成之后,发现CE1和CE2之间无法互相学习路由,下列哪些选项会造成该问题的出现? PE1或PE2未在BGP-VPNV4单播地址族视图使能邻居A PE1或PE2上的VPN实例参数配置错…

JVM的内存结构

JVM 内存结构 方法区: 方法区主要用于存储虚拟机加载的类信息、常量、静态变量,以及编译器编译后的代码等数据。 程序计数器 由于在JVM中,多线程是通过线程轮流切换来获得CPU执行时间的,因此,在任一具体时刻,一个CP…

2.1.3 采用接口方式使用MyBatis

实战概述:使用MyBatis的接口方式进行数据库操作 环境准备 确保项目中已经集成了MyBatis框架。 创建用户映射器接口 在net.huawei.mybatis.mapper包中创建UserMapper接口。定义方法findById(int id)用于按编号查询用户。定义方法findAll()用于查询全部用户。定义方法…

[沫忘录]MySQL InnoDB引擎

[沫忘录]MySQL InnoDB引擎 逻辑存储结构 InnoDB采用 “表、段,区, 页、行” 这样的层级结构进行存储。 **表空间(tablespace)**ibd文件,主要用于存储记录、索引等数据,一个mysql实例可有多个表空间,甚至能通过innodb…

代理IP科普:IP黑名单与IP白名单的机制与作用

在IP代理使用中,我们经常听到黑名单与白名单两个名词,它们不仅提供了强大的防御机制,还可以灵活应对不同的安全威胁。本文将详细探讨IP黑名单和白名单在网络安全中的双重屏障作用。 一、IP黑名单和白名单定义 IP黑名单与IP白名单是网络安全中…

WPF中Window的外观实现及常用属性

文章目录 1. 概要2. Window的外观2.1 Window的外观组成2.2 Window的实现2.3 Window外观配置2.4 Window 的其他常用属性1. AllowsTransparency 2. WindowStartupLocation3. ShowInTaskbar4. ShowActivated5. SizeToContent6. Topmost7. WindowStyle 1. 概要 和 Android 类似, W…

C语言笔记第13篇:自定义类型(联合union和枚举enum)

1、联合体 1.1 联合体类型的声明 像结构体一样,联合体也是由一个或多个成员构成,这些成员可以是不同的类型。 但是编译器只为最大的成员分配足够的内存空间,联合体的特点是所有成员共用一块内存空间,所以联合体也叫&#xff1a…

计算机发展史 | 从起源到现代技术的演进

computer | Evolution from origins to modern technology 今天没有参考资料哈哈 PPT:(评论区?) 早期计算工具 算盘 -算盘是一种手动操作的计算辅助工具,起源于中国,迄今已有2600多年的历史,是…

【Python】常见的第三方库及实例

各位大佬好 ,这里是阿川的博客 , 祝您变得更强 个人主页:在线OJ的阿川 大佬的支持和鼓励,将是我成长路上最大的动力 阿川水平有限,如有错误,欢迎大佬指正 库介绍 Python是通过模块来体现库&#xff0…

数据结构--双向链表

目录 一.链表的分类 二.双向链表的结构 三.双向链表的实现 1.初始化 2.尾插与头插 3.尾删与头删 4.在指定位置之后插入数据 查找函数 5.删除指定节点 6,销毁链表 四.完整代码 List.h List.c 一.链表的分类 链表的结构⾮常多样,以下情况组合起…

C++第三方库【httplib】断点续传

什么是断点续传 上图是我们平时在浏览器下载文件的场景,下载的本质是数据的传输。当出现网络异常,浏览器异常,或者文件源的服务器异常,下载都可能会终止。而当异常解除后,重新下载文件,我们希望从上一次下载…

python-01

第一个程序 import randomcomputer random.randint(1, 3) print(电脑出的是:, computer) i int(input(你要出什么?1代表石头,2代表剪刀,3代表布\n)) if i computer:print(平局) elif (computer 1 and i 3) or (computer 2 …

React@16.x(20)渲染流程-首次渲染

目录 1,渲染的前置知识点1.1,React 元素1.2,React 节点1.3,节点类型1.4,真实DOM 2,首次渲染2.1,根据参数创建节点2.2,不同节点,有不同处理2.3,生成虚拟DOM树2…

LabVIEW FPGA开发NI sbRIO-9607高精度数字滤波器

使用NI sbRIO-9607硬件平台,通过LabVIEW FPGA模块实现一个高精度数字滤波器。该应用不需要额外的实时操作系统 (RT),所有控制与数据处理均在sbRIO-9607的FPGA上完成,充分利用其并行处理能力,实现低延迟、高性能的数据滤波。这种滤…

Linux系统--vi/vim编辑器

目录 vi\vim编辑器介绍 vi\vim编辑器的三种工作模式 命令模式(command mode): 输入模式 (insert mode): 底线命令模式(Last line mode): 命令的选项 查看命令帮助和…

kali配置静态ip

kali配置静态ip 因为一些环境需要,本地linux主机需要搭建一个桥接模式的网络,那么直接就在kali中配置了, 打开vim /etc/network/interfaces 这里就需要自己配置一下ip,网关,路由等内容 这里参考:参考链接 …