袁朱紅
(河北農業大學理學院數學系 071000)
隨著社會的快速發展以及信息技術的廣泛應用,數學發揮著越來越大的作用.在強調數學定義、定理的證明以及推理計算過程的同時,不能忽略數學在解決現實問題中的應用性.如果在數學學習中引入MATLAB,不僅能夠實現計算的精準性,而且還能高效地解決數學中的實際應用問題.
在傳統學習中,學生都是通過肉眼觀察比較數據求其最值,筆算各種數據進行統計分析.針對數據量少的情況,學生可以完成.但是一旦數據量增大,學生將很難快速準確計算出相應結果.而在實際應用中,經常需要對大量數據進行統計處理,對此MATLAB能提供相關函數簡單化地實現.

>>A=[1,-1,2,3;5,1,-4,2;3,0,5,2;11,15,10,9]%建立矩陣A.
>>max(max(A))%求數據矩陣的最大值.
ans=15
>>min(min(A))%求數據矩陣的最小值.
ans=-4
>>sum(sum(A,2))%數據矩陣求和.
ans=64
>>prod(prod(A,2))%數據矩陣求積.
ans=0
>>mean(mean(A,2))%求數據矩陣的算術平方根.
ans=4
>>median(median(A,2))%求數據矩陣的中值.
ans=2
>>cumsum(A,dim)%當dim為1時,返回一個矩陣,其第i列是A的第i列的累加和向量;當dim為2時,返回一個矩陣,其第i行是A的第i行的累加和向量(矩陣累乘積函數cumprod與之用法相同).
>>std(A,flag,dim)%當dim為1時,求各列元素的標準差;當dim為2時,求各行元素的標準差.
>>var(A,flag,dim)%當dim為1時,求各列元素的方差;當dim為2時,求各行元素的方差.
>>corrcoef(A)%矩陣A形成的一個相關系數矩陣.
眾所周知,只有一些典型的常微分方程,才能求出它們的解析解并用初始條件確定表達式中的任意常數.然而在實際問題中遇到的常微分方程往往很復雜,在許多情況下得不出解析解,這就需要使用數值解法.
考慮常微分方程的初值問題:y′=f(x,y),y(x0)=y0,所謂其數值解法,就是在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.龍格—庫塔法 MATLAB提供了多個求常微分方程初值問題數值解函數,一般調用格式如下: [t,y]=solver(filename,ts,y0) 其中,t和y分別是自變量值和函數值;solver為求常微分方程數值解的函數,如下表1列出了常用函數采用的方法和適用的場合;filename是由待解方程寫成的函數文件;ts表示求解區間[t0,tf],t0、tf分別為自變量的初值與終值;y0是函數的初值. 表1 求常微分方程數值解的常用函數 首先在MATLAB中建立函數文件funt.m. function yp=funt(t,y), yp=y2-t-2; 求解微分方程,取t0=0,tf=10,輸入命令: [t,y]=ode23(‘funt’,[0,10],2)%求數值解. 在數學學習中引入MATLAB,不僅可以解決手算無法處理的問題,還能增強解決數學實際問題的應用能力.數學理論學習與實踐應用一直都是相輔相成的關系,而MATLAB軟件的應用作為數學實踐不可忽視的一部分,能夠有效提高學生學習的興趣和主觀能動性,對培養創新應用型人才具有重大的意義.
