涂金基+譚宇柱
【摘要】利用MATLAB開(kāi)展高職數(shù)學(xué)教學(xué),發(fā)揮其在矩陣生成和微分方程數(shù)值計(jì)算中的優(yōu)勢(shì),依托其圖形可視化的功能,提高學(xué)生學(xué)習(xí)高職數(shù)學(xué)的興趣,進(jìn)一步培養(yǎng)應(yīng)用數(shù)學(xué)方法解決問(wèn)題的能力,讓學(xué)生直觀體驗(yàn)高等數(shù)學(xué)在實(shí)際中的應(yīng)用.
【關(guān)鍵詞】MATLAB;矩陣;微分方程
【基金項(xiàng)目】本文受江門(mén)職業(yè)技術(shù)學(xué)院2015級(jí)校級(jí)教改項(xiàng)目——MATLAB在高職數(shù)學(xué)教學(xué)中的應(yīng)用研究資助.
高職數(shù)學(xué)是高職教育不可分割的一部分,教學(xué)質(zhì)量的好壞與學(xué)生良好學(xué)習(xí)習(xí)慣的形成,對(duì)他們后期專(zhuān)業(yè)的學(xué)習(xí)有著非常重要的影響.停留在直觀教學(xué)階段的傳統(tǒng)數(shù)學(xué)教學(xué)方法、教學(xué)手段,利用黑板、粉筆、板書(shū)教學(xué),已經(jīng)難以滿(mǎn)足現(xiàn)代教育技術(shù)的發(fā)展和要求,又或者即使使用了多媒體技術(shù),但并沒(méi)有真正地發(fā)揮電子教學(xué)媒體交互式的功能,依舊是數(shù)學(xué)教師一人唱獨(dú)角戲,導(dǎo)致的結(jié)果就是學(xué)生在高職數(shù)學(xué)學(xué)習(xí)過(guò)程中出現(xiàn)了厭學(xué)、畏學(xué)情緒,教學(xué)質(zhì)量受到了較為嚴(yán)重的影響.如何提高高職數(shù)學(xué)的教學(xué)質(zhì)量,特別是如何使學(xué)生在教育媒介大變革下喜歡高職數(shù)學(xué),MATLAB可以發(fā)揮良好的切入作用,依靠其強(qiáng)大的數(shù)據(jù)計(jì)算和圖形可視化的功能,在目前強(qiáng)交互和云平臺(tái)這種迅猛發(fā)展的教育媒體背景下,提高學(xué)生的學(xué)習(xí)興趣和學(xué)習(xí)效率.
一、MATLAB在矩陣教學(xué)中的應(yīng)用
矩陣教學(xué)過(guò)程中,學(xué)生對(duì)于行列較少的矩陣的建立、分塊都能夠處理,并可以開(kāi)展逆運(yùn)算,但對(duì)于對(duì)角矩陣和行列較多的矩陣,特別是大型矩陣的學(xué)習(xí),在傳統(tǒng)教學(xué)中由于教學(xué)條件的限制,沒(méi)有辦法迅速地生成大型矩陣.利用MATLAB,可以建立大型矩陣、特殊矩陣.
(一)MATLAB中矩陣建立的方法
1.直接輸入法:將矩陣的元素用方括號(hào)括起來(lái),按矩陣行的順序輸入各元素,同一行的各元素之間用空格或逗號(hào)分隔,不同行的元素之間用分號(hào)分隔.
2.M文件法:對(duì)于大矩陣或者復(fù)雜矩陣,可以為它專(zhuān)門(mén)建立一個(gè)M文件.下面通過(guò)一個(gè)簡(jiǎn)單例子來(lái)說(shuō)明如何利用M文件創(chuàng)建矩陣.
利用M文件建立mymathe矩陣.
(1)啟動(dòng)MATLAB文本編輯器,并輸入待建矩陣.
(2)以純文本方式存盤(pán)(設(shè)文件名為mymathe.m).
(3)在MATLAB命令窗口中輸入mymathe,即運(yùn)行該M文件,就會(huì)自動(dòng)建立一個(gè)名為mymathe的矩陣,可供以后使用.
3.利用冒號(hào)表達(dá)式建立一個(gè)向量,冒號(hào)表達(dá)式可以產(chǎn)生一個(gè)行向量,一般格式是e1:e2:e3,其中e1為初始值,e2為步長(zhǎng),e3為終止值.還可以用linspace函數(shù)產(chǎn)生行向量.其調(diào)用格式為linspace(a,b,n),其中a和b是生成向量的第一個(gè)和最后一個(gè)元素,n是元素總數(shù).
(二)MATLAB中矩陣拆分的方法
1.矩陣元素法:通過(guò)下標(biāo)引用矩陣的元素,例如,A(3,2)=200,采用矩陣元素的序號(hào)來(lái)引用矩陣元素.矩陣元素的序號(hào)就是相應(yīng)元素在內(nèi)存中的排列順序.在MATLAB中,矩陣元素按列存儲(chǔ),先第一列,再第二列,依次類(lèi)推.例如,
A=[1,2,3;4,5,6];
A(3)
ans=
2
顯然,序號(hào)(Index)與下標(biāo)(Subscript)是一一對(duì)應(yīng)的,以m×n矩陣A為例,矩陣元素A(i,j)的序號(hào)為(j-1)*m+i.其相互轉(zhuǎn)換關(guān)系也可利用sub2ind和ind2sub函數(shù)求得.
2.矩陣拆分
(1)利用冒號(hào)表達(dá)式獲得子矩陣
① A(:,j)表示取A矩陣的第j列全部元素;A(i,:)表示A矩陣第i行的全部元素;A(i,j)表示取A矩陣第i行、第j列的元素.
② A(i:i+m,:)表示取A矩陣第i~i+m行的全部元素;A(:,k:k+m)表示取A矩陣第k~k+m列的全部元素,A(i:i+m,k:k+m)表示取A矩陣第i~i+m行內(nèi),并在第k~k+m列中的所有元素.
(2)利用空矩陣刪除矩陣的元素
在MATLAB中,定義[ ]為空矩陣.給變量X賦空矩陣的語(yǔ)句為X=[ ].注意,X=[ ]與clear X不同,clear是將X從工作空間中刪除,而空矩陣則存在于工作空間中,只是維數(shù)為0.
(三)MATLAB中特殊矩陣的建立方法
1.通用的特殊矩陣
zeros:產(chǎn)生全0矩陣(零矩陣).
ones:產(chǎn)生全1矩陣(幺矩陣).
eye:產(chǎn)生單位矩陣.
rand:產(chǎn)生0~1間均勻分布的隨機(jī)矩陣.
randn:產(chǎn)生均值為0,方差為1的標(biāo)準(zhǔn)正態(tài)分布隨機(jī)矩陣.
1.1分別建立3×3、3×2和與矩陣A同樣大小的零矩陣.
(1)建立一個(gè)3×3零矩陣.
zeros(3)
(2)建立一個(gè)3×2零矩陣.
zeros(3,2)
(3)設(shè)A為2×3矩陣,則可以用zeros(size(A))建立一個(gè)與矩陣A同樣大小零矩陣.
A=[1 2 3;4 5 6];%產(chǎn)生一個(gè)2×3階矩陣A.
zeros(size(A)) %產(chǎn)生一個(gè)與矩陣A同樣大小的零矩陣.
1.2建立隨機(jī)矩陣,例如,建立均值為0.5、方差為0.1的11階正態(tài)分布隨機(jī)矩陣.
命令如下:
y=0.5+sqrt(0.1)*randn(11)
此外,常用的函數(shù)還有reshape(A,m,n),它在矩陣總元素保持不變的前提下,將矩陣A重新排成m×n的二維矩陣.
二、MATLAB在微分方程教學(xué)中的應(yīng)用
在學(xué)習(xí)過(guò)程中,學(xué)生對(duì)于復(fù)雜的微分方程往往覺(jué)得較難處理,因?yàn)檫@類(lèi)方程較為復(fù)雜而且大多無(wú)法求出通解.而對(duì)初值問(wèn)題要有一個(gè)透徹的理解,就必須要求得到解在若干個(gè)點(diǎn)上滿(mǎn)足規(guī)定精確度的近似值,或者得到一個(gè)滿(mǎn)足精確度要求的便于計(jì)算的表達(dá)式.
因此,研究常微分方程的數(shù)值解法是十分必要的.
利用MATLAB將高階微分方程等價(jià)地變換成一階微分方程組的方法:
MATLAB應(yīng)用于高職數(shù)學(xué)矩陣和微分方程的教學(xué),符合高職院校培養(yǎng)高素質(zhì)技能型人才的思路:立足高職特色,能力與應(yīng)用并重.我們要不斷探索如何突破傳統(tǒng)的數(shù)學(xué)理論灌輸,把復(fù)雜的數(shù)學(xué)運(yùn)算借助計(jì)算機(jī)來(lái)完成,從強(qiáng)調(diào)定理的推導(dǎo)和復(fù)雜的數(shù)學(xué)計(jì)算提升到培養(yǎng)數(shù)學(xué)思想和推理能力,真正提升學(xué)生的核心基本素質(zhì).
【參考文獻(xiàn)】:
[1]張志涌.精通MATLAB6.5版教程[M].北京:北京航空航天大學(xué)出版社,2003.
[2]薛定宇,陳陽(yáng)泉.高等應(yīng)用數(shù)學(xué)問(wèn)題的MATLAB求解[M].北京:清華大學(xué)出版社,2004.
[3]崔秋珍,王淑玉.幾何圖形在高等數(shù)學(xué)中的作用及在MATLAB的實(shí)現(xiàn)[J].洛陽(yáng)師范學(xué)院學(xué)報(bào),2003(5):91-93.