《MATLAB基础与应用》通识课程案例教学法探索
来源:用户上传
作者:武文佳
摘要:文章以作者所讲授的《MATLAB基础与应用》通识课程为基础,探讨了MATLAB在优化问题、信号处理及经济金融等领域中的应用,根据不同专业背景的学生,对本课程开展分组案例教学探索,以提高学生对MATLAB的应用能力。
关键词:《MATLAB基础与应用》;优化问题;信号处理;金融领域
中图分类号:G642.0 文献标志码:A 文章编号:1674-9324(2020)10-0270-02
一、引言
MATLAB是在自然科学领域内广泛应用的工程计算软件,能够掌握MATLAB的基本应用是大学生需要掌握的基本技能。在笔者所在院校,《MATLAB基础与应用》作为通识选修课,每学期在全校学生范围内开设,受到学生的普遍欢迎。MATLAB功能强大,命令与数学中的符号和公式非常接近,可读性强,容易掌握。MATLAB根据专门领域的需要而设计了各种工具箱,可以解决多个学科领域的问题。为了更好地让学生掌握MATLAB在专业中的应用,笔者根据不同专业背景的学生开展了案例教学法,让学生按照专业分组进行案例学习。本文对MATLAB在不同专业领域的应用案例进行了研究。
二、MATLAB在优化问题中的应用
在自然科学和实际应用领域中,经常遇到优化问题的最优化方法就是研究如何从多个方案中合理的选取最优方案。如在库存管理问题中,经常需要在保证销量的前提下使库存成本最小,在运送物资时设计运输线路使得运费最少,等等,使得最优化问题的应用和研究深入自然科学的各个领域。MATLAB提供了优化工具箱,可以求解线性规划、非线性规划和多目标规划等问题。下面对MATLAB用于非线性规划给出一个案例。
案例1:设某人有200万资金,要求3年内用完。若每年使用资金x(万元),可得收益(万元),若当年不用的资金可存入银行,年利率为8%。制订资金的使用计划,使得3年收益总和最大。
求解:此问题为非线性规划问题,用MATLAB解决非线性规划问题的步骤是先定义目标函数和约束条件,设置优化参数,最后调用优化工具箱求解,MATLAB求解非线性规划问题的函数是fmincon。
解决方案:先定义目标函数,设自变量为x,i=1,2,3,表示第i年使用的资金,则因变量y=++,题目所述问题则化为自变量x,i=1,2,3取何值时,目标函数y最大的问题,由于目标函数为非线性函数,因此属于优化问题中的非线性规划,其次研究约束条件,本题的约束条件为:(1)x≤200;(2)1.08x+x≤216;(3)1.1664x+1.08x+x≤233.28;(4)x≥0,i=1,2,3。
用MATLAB求解本题过程如下:
step1:定义目标函数function myfun=youhua(x)
myfun=-(sqrt(x(1))+sqrt(x(2))+sqrt(x(3)))
step2:主程序:youhuawenti.m
x0=[1;1;1];
A=[1 0 0;1.08 1 0;1.1664 1.08 1];
B=[200;216;233.28]
[x,fval]=fmincon(@youhua,x0,A,B)
程序运行结果如下:
x=
61.6067
71.8581
83.8152
fval=
-25.4810
结果表明用MATLAB可以很容易解决上述优化问题,第一年使用资金61.6067万元,第二年71.8581万元,第三年83.8152万元时效益之和最大,最大效益为25.481万元。
在授课中向学生讲解MATLAB在优化问题中的应用,可以让学生认识到MATLAB在实际生活中的应用,以提高学生学习的积极性以及分析解决问题的能力,这对学生专业课的学习和创新极其重要。
三、MATLAB在信号处理中的应用
信号处理是很多工科专业必学的专业基础课,MATLAB在数字信号处理中也有广泛的应用。数字信号处理把实际问题中的信号用符号表示成序列,通过信号处理设备,用数字数值计算方法处理,提取有用信息用于实际应用中。数字信号处理在图像处理、通信工程、网络工程等领域内都有广泛的应用。MATLAB提供了信号处理的工具箱,包括信号处理工具箱、小波分析工具箱、通信工具箱等,可以满足学生在实际专业课中的需求。信号处理工具箱提供了信号处理的基本函数,如square、sawtooth、tripuls、gauspuls等函数,也提供了信号变换函数和滤波器的设计函数,如fft、dct、FIR、IIR等,可以方便地解决信号变换和滤波器的设计分析等问题。下面给出一个实例:
案例2:模拟信号x(t)=2sin(3πt)-sin(6πt),求其幅度谱和相位谱。
求解:问题2是典型的信号处理问题。首先对模拟信号进行抽样,然后将离散时间信号截为有限长序列,利用快速傅里叶变换fft函数得到频域值,则可获得其幅度谱和相位谱。程序和图像如下。
ff=100;N=128;n=0:N-1;
xn=2*sin(3*pi*n/ff)-sin(6*pi*n/ff);xk=fft(xn,N);
f=(0:N-1)*fs/N;xfupin=abs(xk);xxiangpin=angle(xk);
subplot(2,1,1);plot(f,xfupin);title('幅頻相应')
subplot(2,1,2);plot(f,xxiangpin);title('相频相应') 从图像中可以看出信号中存在1.5HZ和3Hz两个频率。
MATLAB在数字信号处理中还有很多其他应用,通过案例教学引发学生的学习兴趣,学生可将MATLAB应用在专业中,达到学以致用、解决问题的目的。
四、MATLAB在经济和金融领域中的应用
MATLAB在经济和金融方面提供的工具箱包括经济工具箱、金融工具箱、固定收益工具箱等,全面提供了财务分析、投资组合、商品评价、风险管理以及经济模型建立的工具。其中经济工具箱提供了经济审计数学建模的函数,金融工具箱提供了财务分析等方向的函数,固定收益工具箱提供了经济证券固定收益建模分析的函数等。在授课中面向经管学院經济与金融专业的学生讲解相应工具箱是极其必要的,也是学生在实际学习和工作中迫切需求的。下面举一个实际应用中的简单实例。
案例3:设投资者有两种资产,总价值2亿元,资产权重为35%和65%,资产的日波动均值为0.003和0.005,标准差为0.03和0.01,两种资产的相关系数为0.7,置信度为0.98,求该资产在30天的投资组合风险值。
求解:本问题为一个典型的金融问题,可以利用金融工具箱中计算投资组合风险值函数portvrisk来求解。在授课时,可以先让学生通过MATLAB强大的帮助功能分组自学,通过help portvrisk首先自学此函数,然后教师讲解本函数的调用方式,其调用格式为:ValueAtRisk=portvrisk(PortReturn,PortRisk,RiskThreshold,PortValue)将问题中的数值作为上述函数的输入参数,简单计算可得该资产的投资组合风险值为0.123亿元。
五、总结
本文根据笔者所在学校应用型本科院校的培养目标和学生的实际情况,从《MATLAB基础与应用》课程的案例教学内容上进行了探讨。对于本课程开展案例教学,可以增强学生对MATLAB的应用能力,提高学生对本课程的学习兴趣,并会将所学内容运用到自身专业中和后续的工作中。
参考文献:
[1]蔡旭晖,刘卫国,蔡立燕.MATLAB基础与应用教程[M].北京:人民邮电出版社,2016.
[2]张志涌,杨祖樱,等.MATLAB教程[M].北京:北京航空航天大学出版社,2015.
[3]卓金武,魏永生,秦健,李必文.MATLAB在数学建模中的应用[M].北京:北京航空航天大学出版社,2011.
转载注明来源:https://www.xzbu.com/9/view-15142981.htm