微分方程是
x(1-x)(550y-1000α+200)与y(1-y)(400x-200)
α=0.2,0.4,0.6,0.8,1. i=0.3 j=0.8 x∈[0,1]步长为0.1 t∈[0 0.06],求x与t的仿真图以及原始代码。
2条回答 默认 最新
- 关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
MatlabFans_Mfun 2021-07-27 21:44最佳回答 专家已采纳我想题主的意思应该是求解下面的微分方程:
dx/dt = x(1-x)(550y-1000α+200)
dy/dt= y(1-y)(400x-200)
可使用ode45来求解这个常微分方程组,代码如下x0 = [0.3;0.8]; alpha = 0.2; dfun = @(t,X) [X(1)*(1-X(1))*(550*X(2)-1000*alpha+200); X(2)*(1-X(2))*(400*X(1)-200) ]; [T1,X1] = ode45( dfun,[0 0.06],x0); alpha = 0.4; dfun = @(t,X) [X(1)*(1-X(1))*(550*X(2)-1000*alpha+200); X(2)*(1-X(2))*(400*X(1)-200) ]; [T2,X2] = ode45( dfun,[0 0.06],x0); alpha = 0.6; dfun = @(t,X) [X(1)*(1-X(1))*(550*X(2)-1000*alpha+200); X(2)*(1-X(2))*(400*X(1)-200) ]; [T3,X3] = ode45( dfun,[0 0.06],x0); alpha = 0.8; dfun = @(t,X) [X(1)*(1-X(1))*(550*X(2)-1000*alpha+200); X(2)*(1-X(2))*(400*X(1)-200) ]; [T4,X4] = ode45( dfun,[0 0.06],x0); alpha = 1.0; dfun = @(t,X) [X(1)*(1-X(1))*(550*X(2)-1000*alpha+200); X(2)*(1-X(2))*(400*X(1)-200) ]; [T5,X5] = ode45( dfun,[0 0.06],x0); figure subplot(211) hold on plot(T1,X1(:,1)); plot(T2,X2(:,1)); plot(T3,X3(:,1)); plot(T4,X4(:,1)); plot(T5,X5(:,1)); xlabel('Time /s') ylabel('x') legend({'\alpha = 0.2','\alpha = 0.4','\alpha = 0.6','\alpha = 0.8','\alpha = 1.0'}) subplot(212) hold on plot(T1,X1(:,2)); plot(T2,X2(:,2)); plot(T3,X3(:,2)); plot(T4,X4(:,2)); plot(T5,X5(:,2)); xlabel('Time /s') ylabel('y') legend({'\alpha = 0.2','\alpha = 0.4','\alpha = 0.6','\alpha = 0.8','\alpha = 1.0'})
结果图:
采纳该答案 已采纳该答案 专家已采纳评论解决 无用打赏举报微信扫一扫
分享评论登录 后可回复...
查看更多回答(1条)
报告相同问题?
提交
相关推荐 更多相似问题
- 2021-07-26 20:34回答 2 已采纳 我想题主的意思应该是求解下面的微分方程:dx/dt = x(1-x)(550y-1000α+200)dy/dt= y(1-y)(400x-200)可使用ode45来求解这个常微分方程组,代码如下
- 2021-10-19 21:54回答 1 已采纳 你好,鉴于你是初学者,我这里给你示范一下数值方法和符号方法分别怎么求解:(1)数值方法:定义ode->给定初值和时间范围->ode函数求解->画图 % 定义ode odefun =
- 2021-10-14 10:44回答 1 已采纳 你好!代码供参考 function main %主函数 odefun = @(t,y) y^2 + t; y0 = 1; tspan = [0, 0.5]; [t,y] = euler(odefun,
- 2020-11-05 14:49第五章 控制系统仿真 5.2 微分方程求解方法 以一个自由振动系统实例为例进行讨论如下图 1 所示弹簧 - 阻尼系统参数如下 M=5 kg, b=1 N.s/m, k=2 N/m, F=1N x b M F k 图 1 弹簧-阻尼系统 假设初始条件为 t0 0 时将 m...
- 2021-06-24 20:50常微分方程是高等数学课程重要内容之一,常微分方程的求解和解的性态分析是这部分教学的主要内容。通过相应问题的具体代码,给出运用MATLAB平台求解常微分方程解析解、数值解以及定性分析仿真的方法。
- 2020-06-29 22:56微分方程电路求解仿真是信号与系统中的较为重要的知识点,本实验使学生能够掌握微分方程的电路仿真方法和线性连续系统的时域分析方法,并将所学的MATLAB和信号与系统课程融合到一起,对信号与系统有一个更为直观的认识,...
- 2021-09-11 21:57回答 1 已采纳 同学,你好!我已经找到出问题的原因了,并且帮你更正了。 clear tspan=[0,100]; y0=[9000,100,0,0,10000,100]; beta=0.375; gamma=0.07
- 2021-10-22 09:13回答 1 已采纳 你好,代码供参考: function eulerMain %主函数 odefun = @(t,y) [y^2+t];% 构建微分方程 y0 = [1]; % 设置初值y(0)=1 tspan = [
- 2021-10-21 22:59回答 1 已采纳 解析 syms y z x; [y z]=dsolve('Dy-z=sin(x)','Dz+y=1+x','y(0)=2','z(0)=7','x'); vpa(y) vpa(z) 数值 %
- 2021-10-16 09:17yajunxuexi000的博客 已知系统微分方程为x2’=x1,5x1’=10(u(t)-x1)-0.12x2,系统初始值均为5, 输入u为单位阶跃输入u(t)=1(t),以x2作为系统输出量。首先转换成simulink模型 并仿真,查看输出响应;再利用函数命令将以上在SIMULINK环境...
- 2021-06-18 16:39精通matlab复杂的微分方程求解
- 2021-04-18 04:53weixin_28726871的博客 《MATLAB微分方程几种求解方法及程序》由会员分享,可在线阅读,更多相关《MATLAB微分方程几种求解方法及程序(3页珍藏版)》请在人人文库网上搜索。1、第五章 控制系统仿真5.2 微分方程求解方法 以一个自由振动系统...
- 2022-04-14 10:14回答 1 已采纳 用subs就可以了,如果有用请采纳! clear all syms t y; y=abs(sin(t)); g=diff(y,t) subs(g,t,pi/2) subs(g,t,0)
- 2021-07-16 16:21回答 1 已采纳 参考一下:https://blog.csdn.net/your_answer/article/details/79234275https://blog.csdn.net/linshen1213/art
- 2021-10-07 12:24回答 1 已采纳 你好,既然你知道了y和x那么数值求到了dy/dt和dx/dt,自然就可以通过插值方法得到与x和y等长的dy/dt和dx/dt,然后直接进行拟合就好了啊,lsqcurvefit也好,最小二乘法加上fmi
- 2021-05-23 20:48Patrick_HL的博客 下面介绍如何用 Matlab 来计算微分方程(组)的数值解。 Euler折线法 微分方程的基本数值解法——Euler折线法。 步骤: 分割求解区间,差商代替微商,解代数方程 例子: 解: 等距剖分:a=x0<x1<x2<⋯&l
- 2021-04-23 17:17寄你颜笑的博客 对于老师说的Euler算法的不同步长的精度不一样,编写了一个M函数文件来实现这个精度的比较,把函数附上:function[x,y]= Euler(varargin)%这里使用可变输出输入函数的%varargin{1}为求解常微分方程的表达式%varargin...
- 2021-06-23 09:55一只infp码农的博客 计算机仿真编程求解偏微分方程求解偏微分方程除了上节介绍的直接使用偏微分方程工具箱外,还可以用编写程序(对于MATLAB仿真,可以编写M文件)的方法求解偏微分方程。22.2.1双曲型:波动方程的求解1.求解双曲型方程...
- 2021-10-17 16:23回答 1 已采纳 你好,这个边值问题的方程建议用中心差分法来求解,代码供参考 L = 1;%L大小 nx = 100;%100段 x = linspace(0,L,nx+1); dx = L/nx; afun = @(
- 2019-08-27 19:46matlab开发-随机微分方程解算。用于求LSDE前两个矩的函数
- 没有解决我的问题, 去提问