[已解决] 演化博弈代码错误

[复制链接]
跫音索然 发表于 2020-11-27 20:25:16
%函数

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.525*x(1))];

end

clear
%y-x
for i=0:0.1:1
    for j=0:0.1:1
        [T,Y]=ode45('differential',[0 5],[i j]);
        figure(1)
        grid on
        plot(Y(:,1),Y(:,2));
        xlabel('α');
        ylabel('β');
        hold on
        title('演化示意图')
    end
end

我按照博主的代码复制到了我的matlab2018b里,提示“错误: 文件:Untitled3.m 行:2 列:3运算符的使用无效。”就是ode45那一行,这哪里有问题啊???

最佳答案


20141303 发表于 2020-11-27 21:07:22
在我这没有问题
  1. clear
  2. %y-x
  3. for i=0:0.1:1
  4.     for j=0:0.1:1
  5.         [T,Y]=ode45(@differential,[0 5],[i j]);
  6.         figure(1)
  7.         grid on
  8.         plot(Y(:,1),Y(:,2));
  9.         xlabel('α');
  10.         ylabel('β');
  11.         hold on
  12.         title('演化示意图')
  13.     end
  14. end

  15. %函数

  16. function dxdt=differential(t,x)

  17. dxdt=[x(1)*(1-x(1))*(195.75-223.23*x(2));x(2)*(1-x(2))*(51.75-38.525*x(1))];

  18. end
复制代码

试试将红色浪线替换成空格

3 条回复


跫音索然 发表于 2020-11-27 20:39:21
报错信息如图

报错信息如图所示

报错信息如图所示

20141303 发表于 2020-11-27 21:07:22
在我这没有问题
  1. clear
  2. %y-x
  3. for i=0:0.1:1
  4.     for j=0:0.1:1
  5.         [T,Y]=ode45(@differential,[0 5],[i j]);
  6.         figure(1)
  7.         grid on
  8.         plot(Y(:,1),Y(:,2));
  9.         xlabel('α');
  10.         ylabel('β');
  11.         hold on
  12.         title('演化示意图')
  13.     end
  14. end

  15. %函数

  16. function dxdt=differential(t,x)

  17. dxdt=[x(1)*(1-x(1))*(195.75-223.23*x(2));x(2)*(1-x(2))*(51.75-38.525*x(1))];

  18. end
复制代码

试试将红色浪线替换成空格
1.PNG
回复此楼

跫音索然 发表于 2020-11-27 21:14:04
20141303 发表于 2020-11-27 21:07
在我这没有问题

试试将红色浪线替换成空格

楼主您好!我把波浪线删除后显示正常了,谢谢您!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

相关帖子
热门教程
站长推荐
快速回复 返回顶部 返回列表