基于R软件的数学实验在大学数学教学中的应用初探

2018-04-09 02:59:20沈新娣
卫生职业教育 2018年6期
关键词:矩阵软件函数

沈新娣

(上海健康医学院,上海201318)

高等数学、概率论与数理统计、线性代数等数学类课程是对医学类院校绝大多数专业开设的基础性必修课程,高等数学以函数作为主要研究对象,研究求最优值、相对或绝对变化率、平面图形面积等的方法,可用于解决实际生活、生产问题。线性代数作为一种解决离散变量线性关系问题的重要计算和分析工具,已在控制与决策、经济管理等领域得到广泛应用。概率论与数理统计的理论和方法应用于生物、医学、金融以及管理等领域,可解决各种问题,这些课程对学生思维素质的培养和后续专业课程的学习起着重要的作用。对于非数学类专业来说,大学数学的课程内容抽象,理论讲述枯燥乏味,理论与实践分离,导致在学生数学应用能力的提高方面收效甚微。专业课程学时多,数学等文化基础类课程开设门数和学时少,给教师的教学带来了诸多不便。另外,数学教师缺乏对相关专业技术的了解,教学中缺乏生动的案例,易使学生产生“学数学课无用”的错误认识。

在大数据时代的背景下,随着生命科学大数据的迅猛发展,客观上要求学生具备一定理性思维与创新意识。大学数学教学内容也应该尝试着逐渐从传统的理论教学向实践和应用过渡,我们希望学生具备理性的思维,让数学成为学生学习和科研的工具,并且能利用这个工具分析和解决一些实际问题,激发学生不可估量的创新潜力[1]。所以,我们有必要重新审视数学课程,对其教学内容和知识体系进行优化整合,改进教学方法及教学手段,提高学生综合素质,促进学生终身发展。

1 数学实验课的优势

目前计算机的应用已经非常普及,Matlab、Mathematica、Maple、SPSS和SAS等逐渐成为大学数学类课程学习、教学和研究的有效工具。数学实验就是在计算机系统的帮助下,利用常用数学软件工具解决数学问题的一种教学手段,引导学生借助软件理解抽象的数学理论,自主探索和研究数学问题,促进学生应用能力的提高,是将数学科学转化为数学技术的主要途径。它要求从问题出发,强调以学生自己动手、动脑为主,在教师的指导下用学到的数学知识和数学的软件来分析解决一些应用问题。其意义不仅仅在于使学生掌握必要的数学知识,更重要的在于学生的独立参与,从而提高学生学习数学的积极性,培养学生的动手能力、独立思考问题的能力。事实上,我们的学生通过数学实验课的学习,大部分能较为熟练地使用数学软件,还有的在大学生数学建模比赛和全国数据挖掘挑战赛中脱颖而出。

2 R软件引入数学实验的优势

R软件是套完整的数据处理、计算和制图软件系统,它是一套开源的数据分析解决方案,由一个庞大而活跃的全球性社区维护。其功能包括:数据存储和处理系统;数组运算工具(其向量、矩阵运算方面功能尤其强大);完整连贯的统计分析工具;优秀的统计制图功能;简便而强大的编程语言,可操纵数据的输入和输出,可实现分支、循环,用户可自定义功能。除了R软件之外,现在很多人使用Matlab、Mathematica、SPSS、SAS,但大都用的是盗版软件。免费是R软件流行的一个主要因素。不过R软件的最大优点是出色的可视化图形、丰富的统计及高效的更新速度[2]。其主要特点如下。

(1)R软件的使用入门很容易,界面简洁易懂,有专门的论坛和资料能够给予帮助,易于使用。R软件采用命令行的方式,输入和输出结果,对计算机编程能力要求不高。在遇到困难的时候,自带详细的帮助文档,网上也有很丰富的资料便于使用者查询。非常适于作为学生数学实验活动的平台,让学生在数学实验活动中自行发现问题、解决问题,提升能力。

(2)R软件几乎兼容全平台,占用资源少,对电脑配置要求低。相比动辄3G-4G的商业软件,R软件可谓非常节省,软件安装文件仅三十几兆,甚至还可以在iPhone等移动设备上安装R程序,所以适于作为大范围开展数学实验活动的平台。

(3)R软件包可以自由下载与加载,作为一个开源软件,R软件具备丰富的扩展包,可以自由加载其他开发者提供的函数和数据包,直接利用可以节省很多重新编写算法的精力。而且扩展包的更新也非常快,更新速度以周来计算,涵盖基础统计学、社会学、经济管理、金融、生态、生物信息等多个方面[3],学生可以对一些科学前沿的新方法进行学习和利用。

(4)R软件具有高效的数据处理和保存机制,完整的数组和矩阵操作运算符以及完整的数据分析工具,在数据处理和可视化方面的优势非常明显,适合学生分析处理数据与建立模型,对学习和科研的帮助非常大。

3 R软件用于大学数学教学的一些案例

案例1:导数计算,比如要计算在x=1和x=2时的导数值。用R软件来实现这个运算,程序如下:

dx<-deriv(y~x^3,"x");dx#生成导数公式

x<-1:2#给自变量x赋值

eval(dx)#运行求导计算

[1]1 8#原函数的计算结果

attr(,"gradient")#使用梯度下降法,计算导数的结果x

[1,]3

[2,]12

学生练习:计算正弦函数在x=pi和x=4pi时的导数值(pi=圆周率),程序:

dx<-deriv(y~sin(x),"x",func=TRUE);dx#生成导数公式dx(c(pi,4*pi))

[1]1.224606e-16-4.898425e-16

attr(,"gradient")

x

[1,]-1

[2,]1#计算结果

课后思考:如何用R软件实现高阶求导、偏导数等计算?

案例2:定积分的计算,例如计算y=x3在[0,10]上的定积分。用R软件来实现这个运算,程序如下:

f1<-function(x)x^3#定义函数

integrate(f1,0,10)#计算积分

2500 with absolute error<2.8e-11#计算结果

案例3:绘制函数图像,比如用R绘制函数y=x3-5x在[-4,4]上的图像。

方法:可以使用curve()函数绘制图像,使用时需要向其传递一个关于变量x的表达式(见图1):

程序:curve(x^3-5*x,from=-4,to=4)

图1 x3-5x在[-4,4]上的图像

再如:绘制三维图形,在R中一般用persp()函数来绘制,

x<-seq(-10,10,length=30)#x的范围

y<-x

f<-function(x,y){r<-sqr(tx^2+y^2);10*sin(r)/r}

#二元函数

z<-oute(rx,y,f)

z[is.na(z)]<-1

oP<-pa(rbg="white")

persp(x,y,z,theta=30,phi=30,expand=0.5,col="lightblue")#参数设置

案例4:在线性代数中可以用R进行矩阵的相关运算:

matrix(c(1,2,3,4,5,6,7,8,9),nrow=3)#创建一个3行3列的矩阵

图2 函数

[,1][,2][,3]

[1,]147

[2,]258

[3,]369

>x<-matrix(c(1,2,3,4,5,6,7,8,9),nrow=3)#使用+,-可以在矩阵之间进行加法与减法运算

>x+x

[,1][,2][,3]

[1,]2814

[2,]41016

[3,]61218

>x-x

[,1][,2][,3]

[1,]000

[2,]000

[3,]000

>x%*%x#使用%*%运算符可以求矩阵的乘积

[,1][,2][,3]

[1,]3066 102

[2,]3681 126

[3,]4296 150

>t(x)#使用t()函数,求矩阵的转置矩阵

[,1][,2][,3]

[1,]123

[2,]456

[3,]789

>x<-matrix(c(1,2,3,4),ncol=2)#solve(x)使用solve()函数,可以求矩阵的逆矩阵

>solve(x)

[,1][,2]

[1,]-2 1.5

[2,]1-0.5

案例5:在概率论与数理统计的教学中,利用R软件做可视化的辅助教学,学生更容易理解教学内容,提高教学效果。如在给学生讲概率分布的时候,本文以二项分布为例,为了让学生观察二项概率的分布特征,教师用R软件画出n=5,P分别取0.1,0.2,0.3……0.9时候的二项分布Binomial(5,b)的图。学生很容易可以看出,当P=0.5时,概率分布对称的;当P=0.1时,概率分布右偏;当P=0.9时,概率分布左偏。

程序(见图3):

k=seq(.1,.9,.1)

par(mfrow=c(3,3))

for(i in 1:9)

barplot(dbinom(0:5,5,k[i]),xlab="x",ylab="p",ylim=c(0,.6),

main=substitute(B(5,b),list(b=k[i])))

笔者利用R软件在概率论与数理统计课程中做可视化的教学尝试,大大提高了学生的学习积极性,降低了学习的难度,提高了他们利用数学知识和软件解决实际问题的能力,这也是大学数学教学的最终目标。

4 结语

基于R软件的实验教学方法需要不断探索与实践,并且在教师的教学过程中要及时与实际问题、医学专业问题、国内或者国际建模大赛、数据挖掘比赛等相结合,渗透数学实验和数学文化的思想,让学生在教师的指导下在计算机上自己动手、动眼、动脑,通过软件编程实验,学习解决实际问题常用的数学方法,并在此基础上分析,促成数学教学的良性循环,让学生看到相关理论知识的应用前景,努力把学生培养成实践能力强的应用型人才。

图3 二项分布Binomial(5,b)的图像

参考文献:

[1]侯丽英.理实融合教学模式在应用型医学本科院校数学教学中的应用研究[J].卫生职业教育,2017,35(17):51-53.

[2]赵军,杨琳.R软件在大学数学教学中的应用探讨[J].高教学刊,2016(7):93-95.

[3]贾俊平.统计学——基于R[M].北京:中国人民大学出版社,2014.■

猜你喜欢
矩阵软件函数
二次函数
禅宗软件
英语文摘(2021年10期)2021-11-22 08:02:26
第3讲 “函数”复习精讲
二次函数
函数备考精讲
软件对对碰
初等行变换与初等列变换并用求逆矩阵
矩阵
南都周刊(2015年1期)2015-09-10 07:22:44
矩阵
南都周刊(2015年3期)2015-09-10 07:22:44
矩阵
南都周刊(2015年4期)2015-09-10 07:22:44