matlab梯形法求解微分方程和simulink对比

Posted studyer_domi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matlab梯形法求解微分方程和simulink对比相关的知识,希望对你有一定的参考价值。

1、内容简介


590-可以交流、咨询、答疑

2、内容说明

3、仿真分析

close all
clear
clc
% 基本参数
M = 10;
K = 20;
B = 10;
ft = 50;
X1_0 = 0; % 初始值
X2_0 = 1; % 初始值
%%
tstep = 0.1; % 定义步长
t = 0:tstep:20; % 定义仿真时间
X1 = zeros(1,length(t));X1(1) = X1_0; % 定义变量X1和初始化
X2 = zeros(1,length(t));X2(1) = X2_0; % 定义变量X1和初始化
for n=2:length(t)
    X1(n) = X2(n-1)*tstep + X1(n-1); % 先求解X1
    X2(n) = (-K*X1(n)-B*X2(n-1)+ft)/M*tstep + X2(n-1); % 然后根据公式求解X2
end
figure
plot(t,X1)
title X1
grid on
figure
plot(t,X2)
title X2
grid on

% sim('model.mdl')
load('X1.mat')  % 加载simulink的仿真结果数据
load('X2.mat')  % 加载simulink的仿真结果数据
figure
plot(t,X1,'r*',t,X1_s,'b-.')
title X1
grid on
legend('梯形法结果','Simulink结果')

figure
plot(t,X2,'r*',t,X2_s,'b-.')
title X2
grid on
legend('梯形法结果','Simulink结果')

 

 

4、参考论文

以上是关于matlab梯形法求解微分方程和simulink对比的主要内容,如果未能解决你的问题,请参考以下文章

matlab龙格库塔法解微分方程

Matlab常微分方程数值解法

Matlab常微分方程数值解法

数值分析:用改进欧拉法解微分方程初值问题(vf编程) 100

如何用matlab求解常微分方程?matlab解常微分方程之符号解法介绍

R语言数值积分