查看: 952|回复: 3|关注: 0

[已答复] matlab演化博弈解常微分方程时,最终结果出现问题?

[复制链接]

新手

5 麦片

财富积分


050


2

主题

9

帖子

0

最佳答案
发表于 2020-2-12 11:37:53 | 显示全部楼层 |阅读模式
函数:
%函数
function dxdt=differential(t,x)
dxdt=[x(1)*(1-x(1))*(195.75-223.23*x(2));x(2)*(1-x(2))*(51.75-38.53*x(1))];
end

主程序:
clear
%y-x
for i=0:0.1:1
    for j=0:0.1:1
        [T,Y]=ode45('differential',[0 10],[i j]);
        figure(1)
        grid on
        plot(Y(:,1),Y(:,2));
        xlabel('α');
        ylabel('β');
        hold on
        title('演化示意图')
    end
end
执行过程中的图是对的,但是最后结果的图不对,能不能解释一下是什么原因?
或者大概讲一下ode45解方程后是如何做这个图的?
谢谢各位大神

过程中

过程中

结果

结果


回复主题 已获打赏: 0 积分

举报

新手

5 麦片

财富积分


050


2

主题

9

帖子

0

最佳答案
 楼主| 发表于 2020-2-12 15:24:47 | 显示全部楼层
尝试发现当
for i=0.7
    for j=0.2结果如图3

图3

图3


for i=0.9
    for j=0.2
结果如图4

图4

图4



回复此楼 已获打赏: 0 积分

举报

新手

5 麦片

财富积分


050


2

主题

9

帖子

0

最佳答案
 楼主| 发表于 2020-2-12 22:15:18 | 显示全部楼层
人工置顶

新手

8 麦片

财富积分


050


3

主题

10

帖子

0

最佳答案
发表于 2020-4-12 18:41:40 | 显示全部楼层
想请问楼主,为什么我和你一样的操作,却显示这样的错误?
differential4
错误: 文件:differential4.m 行:8 列:1
该语句不在任何函数内。
(它在终止函数 "differential" 定义的 END 之后。)
回复此楼 已获打赏: 0 积分

举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /4 下一条

快速回复 返回顶部 返回列表