首页 > 编程语言 >matlab练习程序(线性常微分方程组矩阵解)

matlab练习程序(线性常微分方程组矩阵解)

时间:2024-05-16 23:08:25浏览次数:14  
标签:方程组 矩阵 re matlab 常微分 X0

之前有通过ode和simulink解线性常微分方程组。

除了上面两种方法,线性常微分方程组还可以通过矩阵的方法求解。

比如下面这个之前使用的方程组:

x'' = x' - x + y' -z'

y'' = y' - y - x'

z'' = z' - z + x'

可以写成下面矩阵形式:

 

设这个矩阵为A,那么解可以表示为如下形式:

可以直接通过matlab的expm函数求解。

或者对A做特征值分解[e,v]=eig(A),然后得到特征值的exp对角阵,最后通过欧拉公式求解。

matlab代码如下:

clear all;close all;clc;
X0=[3;1;-1;1;0.5;0];

fvdp = @(T,Y) [Y(4);        %x'
    Y(5);                   %y'
    Y(6);                   %z'
    Y(4)-Y(1)+Y(5)-Y(6);    %x''
    Y(5)-Y(2)-Y(4);         %y''
    Y(6)-Y(3)+Y(4)];        %z'']

[T,Y] = ode45(fvdp, [0:0.1:5],X0);

for i=1:6
    plot(T,Y(:,i),'r-o');
    hold on;
end

A = [0 0 0 1 0 0;
    0 0 0 0 1 0;
    0 0 0 0 0 1;
    -1 0 0 1 1 -1;
    0 -1 0 -1 1 0;
    0 0 -1 1 0 1];

[e,v] = eig(A);

re=[];
for t = 0:0.1:5

    M = e*(exp(real(v)*t).*(cos(imag(v)*t)+1i*sin(imag(v)*t)))*inv(e);
    %M = e*expm(v*t)*inv(e);
    %M = expm(A*t);
    Y = M*X0;

    re=[re;Y'];
end

Y = re-re(1,:);

for i=1:6
    plot(T,real(Y(:,i))+X0(i),'b*');
end
grid on;

结果和ode解法是一致的:

 

标签:方程组,矩阵,re,matlab,常微分,X0
From: https://www.cnblogs.com/tiandsp/p/18176046

相关文章

  • m基于Q-Learning强化学习的路线规划和避障策略matlab仿真
    1.算法仿真效果matlab2022a仿真结果如下:      2.算法涉及理论知识概要      Q-Learning是强化学习中的一种重要算法,它属于无模型(model-free)学习方法,能够使智能体在未知环境中学习最优策略,无需环境的具体模型。将Q-Learning应用于路线规划和避障策略中,智能......
  • 基于GWO灰狼优化的CNN-LSTM-Attention的时间序列回归预测matlab仿真
    1.算法运行效果图预览优化前    优化后     2.算法运行软件版本matlab2022a  3.算法理论概述       时间序列回归预测是数据分析的重要领域,旨在根据历史数据预测未来时刻的数值。近年来,深度学习模型如卷积神经网络(ConvolutionalNeuralN......
  • 基于肤色模型的人脸识别FPGA实现,包含tb测试文件和MATLAB辅助验证
    1.算法运行效果图预览matlab2022a的测试结果如下:   vivado2019.2的仿真结果如下:   将数据导入到matlab中,   系统的RTL结构图如下图所示:   系统包括中值滤波,RGB转换为ycbcr,人脸检测三个模块 2.算法运行软件版本vivado2019.2 matlab2022a......
  • 基于MATLAB手搓人工神经网络
    神经网络基本概念​ 神经网络,模拟生物神经网络,节点称为神经元。神经网络分层命名,直接接收输入数据的是输入层,输出结果的是输出层,输入层与输出层之间的是隐藏层。​ 前向传播:数据从输入层开始,逐层向前传播计算,直到输出层得到输出结果。​ 反向传播:将输出层输出的结果与真实值进......
  • 基于高斯混合模型的视频背景提取和人员跟踪算法matlab仿真
    1.算法运行效果图预览    2.算法运行软件版本MATLAB2013B 3.算法理论概述      基于高斯混合模型(GaussianMixtureModel,GMM)的视频背景提取和人员跟踪算法是一种广泛应用的计算机视觉方法,主要用于分离视频序列中的静态背景和动态前景(比如人物运动)。 ......
  • m基于遗传优化的LDPC码OMS译码算法最优偏移参数计算和误码率matlab仿真
    1.算法仿真效果matlab2022a仿真结果如下:   2.算法涉及理论知识概要       低密度奇偶校验码(Low-DensityParity-CheckCodes,LDPCcodes)因其优秀的纠错能力和接近香农极限的性能而广泛应用于现代通信系统中。有序统计译码(OrderedStatisticsDecoding,OSD)......
  • Matlab小白入门简易使用
    Matlab小白入门简易使用前言:Matlab是matrix和laboratory的组合,意为“矩阵工厂”,是目前数一数二的数学分析软件。在数据分析、无线通信、深度学习、图像处理与计算机视觉、信号处理、量化金融等领域都有非常广泛的应用。主要面对科学计算、可视化以及交互式程序设计的高科技计......
  • MATLAB用深度学习长短期记忆 (LSTM) 神经网络对智能手机传感器时间序列数据进行分类|
    原文链接:http://tecdat.cn/?p=26318原文出处:拓端数据部落公众号 最近我们被客户要求撰写关于长短期记忆(LSTM)神经网络的研究报告,包括一些图形和统计输出。此示例说明如何使用长短期记忆(LSTM)网络对序列数据的每个时间步长进行分类。要训​​练深度神经网络对序列数据......
  • 基于harris角点和RANSAC算法的图像拼接matlab仿真
    1.算法运行效果图预览   2.算法运行软件版本MATLAB2022a 3.算法理论概述      Harris角点检测是一种局部特征检测方法,它寻找图像中具有显著局部曲率变化的位置,即边缘转折点或角点。主要通过计算图像窗口内的自相关矩阵M,并对其特征值进行评估。Harris响应函......
  • m基于遗传优化的LDPC码NMS译码算法最优归一化参数计算和误码率matlab仿真
    1.算法仿真效果matlab2022a仿真结果如下: 遗传优化迭代过程:   误码率对比:     2.算法涉及理论知识概要       低密度奇偶校验码(Low-DensityParity-CheckCode,LDPC码)因其优越的纠错性能和近似香农极限的潜力,在现代通信系统中扮演着重要角色。......