博弈模型求解与分析—mathematica实现

1 求导与解方程

在求解博弈模型时,经常要用到函数求导和方程求解。求导可以用求导函数D[],方程求解可以用Solve[]函数。二者的基本用法如下:

D[f(x), x],将函数f(x)对变量x求导;

Solve[equation, variable],equation为要求解的等式,variable为要求解的变量。

下边是一个具体例子:

例1:联立求解\partial f_1/ \partial x =0\partial f_2/ \partial y =0

f_1=ax^2+bx+c\\ f_2=ay^2+py+q

(*定义函数*)
f1 = a*x^2 + b*x + c;
f2 = a*y^2 + p*y + q;

(*联立求解*)
Solve[{D[f1, x] == 0, D[f2, y] == 0}, {x, y}]

输出结果: 

2 一维曲线图

在观察均衡解的性质和做数值实验的过程中都需要绘制一些函数曲线,这就需要用到Plot[]函数。Plot[]函数的基本语法为:Plot[f[x], {x, a, b}],f[x]表示需要绘制的函数,{x, a, b}表示变量x的取值范围。如果需要对函数图像进行美化,还需要加入其他一些属性,函数图像美化将在后续文章中详细介绍。以下是一个具体应用的例子:

 例2:将 f1 和 f2 的函数图像绘制在同一张图中。

f_1=x^2\\ f_2=x

(*定义函数*)
f1 = x^2;
f2 = x;

(*绘制图像*)
Plot[
{f1,f2},(*要绘制的函数*)
{x,0,2},(*x的取值范围*)
PlotStyle->{Directive[Black,Dashed],Directive[Red,DotDashed] },(*线的颜色和线形*)
PlotLegends->Placed[{f1,f2},Right],(*图例和要放置的位置*)
FrameLabel->{x,y},(*横纵坐标名称*)
Frame->True,(*图像边框*)
AspectRatio->1,(*宽高比*)
ImageSize->300(*图像尺寸*)
]

绘图结果如下:

3 二维不等式区域图

有时候在比较两个或多个均衡解的时候,需要同时对两个参数进行分析,这就需要用到RegionPlot[]函数来绘制区域图。下边是一个具体的例子:

例3:比较三个函数f1、f2、f3的大小,并绘制成一个二维区域图。

f_1=3x+y\\ f_2=x+3y\\ f_3=x^2+y^3

(*定义函数*)
f1=3*x+y;
f2=x+3*y;
f3=x^2+y^3;

(*绘制区域*)
RegionPlot[
 {f1 >= f2 && f1 >= f3, f2 >= f3 && f2 >= f1, f3 >= f2 && f3 >= f1},(* 定义3个区域,&&相当于“且” *)
 {x, 0, 4}, {y, 0, 4},(*定义x和y的取值范围*)
 FrameLabel -> {"x", "y"},(*定义横纵坐标名称*)
 PlotLabels -> Placed[{"f1", "f2", "f3"}, Center],(*定义3个区域的名称,分别为f1、f2、f3*)
 BoundaryStyle -> Directive[Black, Thickness[0.001]],(*定义区域边界线的样式*)
 AspectRatio -> 1,(*宽高比*)
 ImageSize -> 300(*图像尺寸*)
]

绘图结果如下:

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值