MATLAB在经济类线性代数中的应用

207 篇文章 51 订阅

 

0  引言

 

现代的经济理论一般借助于数学推理导出经济行为的本质规律,以满足定性到定量思维分析的要求,这使得数学作为经济学科的专业基础课受到广泛的关注和重视。而目前传统教学内容与经济学科的发展脱节,虽然学生学习了线性代数的数学理论,但由于经济数据的繁杂使得运算困难,在专业课的实际问题中仍难以得出结果,这就产生了将计算软件引人到计算中来的需要。

 

matlab具有丰富的经济计算函数,能轻松解决利用线性代数知识解决的许多实际经济问题,适合引入课程教学。目前matlab在教学中的应用讨论主要集中在高等数学的微积分求解问题,在仿真绘图上的优势体现较少,经济类学生重点掌握的应用实例涉及更少,本文针对以上两种问题举例说明matlab的应用,以期表明软件教学可提高经济学科学生的应用能力,从而提高教学质量。

 

1  matlab在线性代数计算中的应用

 

经济变量之间关系的确定,常常需要从一组样本观测数据中找到自变量与因变量之间的关系,再用一个近似函数来表示,在数学上,近似函数的产生可用拟合的方法。多项式曲线拟合是对给定的试验数据点(xi,yi)(i=1,2,…,n),构造m次多项式p(x)=a0+a1x+…+amxm,使得■■a■x■■-y■■取得极小值,即计算线性方程组的解:

 

c■   c■   …   c■c■   c■   …   c■┆  ┆   ┆    ┆c■  c■  …  c■a■a■┆a■=b■b■┆b■,

 

其中c■=■x■■,(k=0,1,…,2m)b■=■y■x■■,(k=0,1,…,m)

 

这样的方程组单纯纸笔解出很困难,进一步用图形显示拟合效果更不易,但借助 matlab的polyfit函数就可轻易做出不同次数的拟合图形。以下以样本为16个时点上测得的数据为例图示说明。

 

>>x=0:0.1:1.5;y=[-0.44,1.89,3.28,6.56,7.18,7.56,

 

7.88,9.64,9.30,11.21,11.34,11.87,12.04,11.56,11.88,

 

13.31];xi=linspace(0,1.5);

 

三次拟合:>>a3=polyfit(x,y,3);yi3=polyval(a3,xi);plot(x,y,’*’,xi,yi3,’r’)

 

六次拟合:>>a6=polyfit(x,y,6);yi6=polyval(a6,xi);plot(x,y,’*’,xi,yi6,’r’)

 

九次拟合:>>a9=polyfit(x,y,9);yi9=polyval(a9,xi);plot(x,y,’*’,xi,yi9,’r’)

 

若再进行更高次拟合,只需更改变量中的次数。显然,这样的计算函数及图形函数简单而直观,易于学生理解和应用。

 

2  matlab在经济模型中的应用

 

经济系统常处于非均衡状态,故在现代西方经济学中,大量运用了动态分析方法,如蛛网模型就是对市场均衡进行动态分析的基本模型,下面讨论两个相关市场的蛛网模型:谷物-牛市场。

 

谷物市场的需求和供给方程分别为:dc(k)=24-5pc(k),sc(k)=-4+2pc(k-1),牛市场的需求和供给方程为:dh(k)=20-5ph(k),sh(k)=2.5+2.5ph(k-1)-2pc(k-1)。故描述谷物-牛市场的状态方程分别为:pc(k+1)=-0.4pc(k)+5.6,ph(k+1)=0.4pc(k)-0.5ph(k)+3.5。利用matlab求解均衡价格如下:

 

>>a=[1.4 0;-0.4 1.5];b=[5.6;3.5];c=inv(a)*b

 

c=4.0 3.4

 

可知两市场可回到均衡状态,均衡价格pc=4,ph=3.4。更进一步,还可从系统角度利用线性代数的特征值来判定系统的稳定性。令x1(k)=pc(k)-pc,x2(k)=ph(k)-ph则有

 

x■(k+1)x■(k+1)=-0.4     0 0.4    -0.5x■(k)x■(k)

 

可知矩阵的特征值为-0.4和-0.5,故此系统渐进稳定,表明如果谷物和牛的价格即使偏离了均衡状态,也能逐渐返回均衡状态。为使结果直观化,可赋初始条件,再利用matlab画出价格运动轨迹来观察均衡价格。如初始条件为pc(0)=6,ph(0)=4.5,则得x1(k)=2,x2(k)=1.1,编程如下:

 

>> t=1;a=[-0.4 0;0.4 -0.5];b=[2;1.1];c=[1 0];d=0;

 

g=ss(a,b,c,d,t);dd=[0:t:14];u=0*ones(size(dd));x0=[2;1.1];

 

>> [x1g,t]=lsim(g,u,[],x0);plot(t,x1g,’*’),grid,hold on

 

以上可得x1(k)变化轨迹,类似将c=[1 0]改为;c=[0 1],[x1g,t]改为[x2g,t]得x2(k)变化轨迹,如图2、图3。

 

3  结语

 

以上实例初步可见matlab的图形工具能帮助学生理解线性代数里抽象的概念,计算工具能将学生从枯燥的运算中解脱出来,利于学生将理论和实践的应用相互融合。目前,matlab越来越多的被引入教学,如美国的atlast计划,我们在教学中也应开设适当课时的“matlab实践课”,介绍入门知识及简单应用,提高学生兴趣和理论应用能力,以提高线性代数的教学质量。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fpga和matlab

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值