我是靠谱客的博主 清爽棒球,最近开发中收集的这篇文章主要介绍双方博弈复制动态方程(y-x,x=0.3,x=0.5,x=0.7)与matlab数值仿真——matlab2016a版本,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
双方博弈复制动态方程(y-x,x=0.3,x=0.5,x=0.7)与matlab数值仿真——matlab2016a版本
注明:源于对《基于演化博弈的装配式建筑应用研究》-金倩-4.4.1.1的政府与开发商的复制动态方程的matlab仿真
1.输入常微分方程组
%政府与开发商复制动态方程
%F(x)=x(1-x)(70y-45)
%F(y)=y(1-y)(97.97x-42.26)
function dxdt=differential5(t,x)
dxdt=[x(1)*(1-x(1))*(70*x(2)-45);x(2)*(1-x(2))*(97.97*x(1)-42.26)]; %F(x(1)函数表示F(x),F(x(2))函数表示F(y)
end
保存为differential5.m文件
2.主函数
%y与x的坐标图
for i=0:0.1:1 %循环步长为0.1,(条件要有x,y,其初始值均为0,如何添加)
for j=0:0.1:1 % %循环步长为0.1
[T,Y]=ode45('differential5',[0 1],[i j]); %常微分方程中常用ODE45()函数,其调用格式为[T,Y]=ode45('求解的函数名',[T自变量区间],初始值向量,...)
figure(1) %图1
grid on %显示坐标轴网格线
plot(Y(:,1),Y(:,2)) %(逗号前是行,逗号前是列,冒号表示从第一行到最后一行;(Y(:,1)表示第一列的所有元素,相当于dx/dt,Y(:,2))表示第二列的所有元素相当于dy/dt
xlabel('x'); %x轴名称
ylabel('y') %y轴名称
% legend('ODE45 解','解析解') 曲线名称
hold on
axis([0,1,0,1])
end
end
%dy/dt与t的坐标图,当x=0.3时
i=0.3
for j=0:0.05:1
[T,Y]=ode45('differential5',[0 0.5],[i j]);
figure(2) %图3
grid on
plot(T,Y(:,2))
xlabel('t'); %x轴名称
ylabel('y') %y轴名称
hold on
axis([0,0.5,0,1])
end
%dy/dt与t的坐标图,当x=0.5时
i=0.5
for j=0:0.05:1
[T,Y]=ode45('differential5',[0 0.5],[i j]);
figure(3) %图3
grid on
plot(T,Y(:,2))
xlabel('t'); %x轴名称
ylabel('y') %y轴名称
hold on
axis([0,0.5,0,1])
end
%dy/dt与t的坐标图,当x=0.7时
i=0.7
for j=0:0.05:1
[T,Y]=ode45('differential5',[0 0.5],[i j]);
figure(4) %图4
grid on
plot(T,Y(:,2))
xlabel('t'); %x轴名称
ylabel('y') %y轴名称
hold on
axis([0,0.5,0,1])
end
保存为for5.m文件
3.run结果
最后
以上就是清爽棒球为你收集整理的双方博弈复制动态方程(y-x,x=0.3,x=0.5,x=0.7)与matlab数值仿真——matlab2016a版本的全部内容,希望文章能够帮你解决双方博弈复制动态方程(y-x,x=0.3,x=0.5,x=0.7)与matlab数值仿真——matlab2016a版本所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复