袁朱紅
(河北農(nóng)業(yè)大學(xué)理學(xué)院數(shù)學(xué)系 071000)
隨著社會(huì)的快速發(fā)展以及信息技術(shù)的廣泛應(yīng)用,數(shù)學(xué)發(fā)揮著越來越大的作用.在強(qiáng)調(diào)數(shù)學(xué)定義、定理的證明以及推理計(jì)算過程的同時(shí),不能忽略數(shù)學(xué)在解決現(xiàn)實(shí)問題中的應(yīng)用性.如果在數(shù)學(xué)學(xué)習(xí)中引入MATLAB,不僅能夠?qū)崿F(xiàn)計(jì)算的精準(zhǔn)性,而且還能高效地解決數(shù)學(xué)中的實(shí)際應(yīng)用問題.
在傳統(tǒng)學(xué)習(xí)中,學(xué)生都是通過肉眼觀察比較數(shù)據(jù)求其最值,筆算各種數(shù)據(jù)進(jìn)行統(tǒng)計(jì)分析.針對(duì)數(shù)據(jù)量少的情況,學(xué)生可以完成.但是一旦數(shù)據(jù)量增大,學(xué)生將很難快速準(zhǔn)確計(jì)算出相應(yīng)結(jié)果.而在實(shí)際應(yīng)用中,經(jīng)常需要對(duì)大量數(shù)據(jù)進(jìn)行統(tǒng)計(jì)處理,對(duì)此MATLAB能提供相關(guān)函數(shù)簡(jiǎn)單化地實(shí)現(xiàn).
>>A=[1,-1,2,3;5,1,-4,2;3,0,5,2;11,15,10,9]%建立矩陣A.
>>max(max(A))%求數(shù)據(jù)矩陣的最大值.
ans=15
>>min(min(A))%求數(shù)據(jù)矩陣的最小值.
ans=-4
>>sum(sum(A,2))%數(shù)據(jù)矩陣求和.
ans=64
>>prod(prod(A,2))%數(shù)據(jù)矩陣求積.
ans=0
>>mean(mean(A,2))%求數(shù)據(jù)矩陣的算術(shù)平方根.
ans=4
>>median(median(A,2))%求數(shù)據(jù)矩陣的中值.
ans=2
>>cumsum(A,dim)%當(dāng)dim為1時(shí),返回一個(gè)矩陣,其第i列是A的第i列的累加和向量;當(dāng)dim為2時(shí),返回一個(gè)矩陣,其第i行是A的第i行的累加和向量(矩陣?yán)鄢朔e函數(shù)cumprod與之用法相同).
>>std(A,flag,dim)%當(dāng)dim為1時(shí),求各列元素的標(biāo)準(zhǔn)差;當(dāng)dim為2時(shí),求各行元素的標(biāo)準(zhǔn)差.
>>var(A,flag,dim)%當(dāng)dim為1時(shí),求各列元素的方差;當(dāng)dim為2時(shí),求各行元素的方差.
>>corrcoef(A)%矩陣A形成的一個(gè)相關(guān)系數(shù)矩陣.
眾所周知,只有一些典型的常微分方程,才能求出它們的解析解并用初始條件確定表達(dá)式中的任意常數(shù).然而在實(shí)際問題中遇到的常微分方程往往很復(fù)雜,在許多情況下得不出解析解,這就需要使用數(shù)值解法.
考慮常微分方程的初值問題:y′=f(x,y),y(x0)=y0,所謂其數(shù)值解法,就是在x0 1.歐拉法 MATLAB命令如下: >>x1(1)=0;y1(1)=1;y2(1)=1;h=0.1; fork=1:10 x1(k+1)=x1(k)+h; y1(k+1)=(1-h)*y1(k)+h*x1(k)+h; y2(k+1)=(y2(k)+h*x1(k+1)+h)/(1+h); end x1,y1,y2,%y1是向前歐拉解,y2是向后歐拉解. 2.龍格—庫(kù)塔法 MATLAB提供了多個(gè)求常微分方程初值問題數(shù)值解函數(shù),一般調(diào)用格式如下: [t,y]=solver(filename,ts,y0) 其中,t和y分別是自變量值和函數(shù)值;solver為求常微分方程數(shù)值解的函數(shù),如下表1列出了常用函數(shù)采用的方法和適用的場(chǎng)合;filename是由待解方程寫成的函數(shù)文件;ts表示求解區(qū)間[t0,tf],t0、tf分別為自變量的初值與終值;y0是函數(shù)的初值. 表1 求常微分方程數(shù)值解的常用函數(shù) 首先在MATLAB中建立函數(shù)文件funt.m. function yp=funt(t,y), yp=y2-t-2; 求解微分方程,取t0=0,tf=10,輸入命令: [t,y]=ode23(‘funt’,[0,10],2)%求數(shù)值解. 在數(shù)學(xué)學(xué)習(xí)中引入MATLAB,不僅可以解決手算無(wú)法處理的問題,還能增強(qiáng)解決數(shù)學(xué)實(shí)際問題的應(yīng)用能力.數(shù)學(xué)理論學(xué)習(xí)與實(shí)踐應(yīng)用一直都是相輔相成的關(guān)系,而MATLAB軟件的應(yīng)用作為數(shù)學(xué)實(shí)踐不可忽視的一部分,能夠有效提高學(xué)生學(xué)習(xí)的興趣和主觀能動(dòng)性,對(duì)培養(yǎng)創(chuàng)新應(yīng)用型人才具有重大的意義.