【摘 要】MATLAB在高等數學中有很廣泛的應用,比如:求極限、導數、微分、積分、函數的極值、泰勒展開式、無窮級數和微分方程求解等。本文研究的主要內容是如何定義符號表達式以及如何求表達式的數值。
【關鍵詞】MATLAB 符號表達式 表達式數值
【中圖分類號】G642 【文獻標識碼】A 【文章編號】1674-4810(2015)11-0081-02
隨著科學技術和計算機的飛速發(fā)展,各類數學軟件不斷涌現,這為解決各類復雜的實際問題提供了高效的工具。MATLAB軟件是當今很流行的科學計算軟件,國內已經有一些工科院校把高等數學實驗引入課堂,作為數學公共課教學改革的核心內容。高等數學實驗課不但可以提高學生的實踐創(chuàng)新能力,還可以讓學生真正地做到“學數學,用數學”,充分調動學生學習數學的興趣和積極性,有利于教學質量的提高。本文主要研究符號表達式的定義以及如何利用M-函數文件、內聯函數、匿名函數、subs函數和eval函數等求符號表達式的數值。
一 符號表達式
MATLAB有強大的符號運算功能,MATLAB的符號數學工具箱可以完成幾乎所有的符號運算功能。作為符號對象的符號常量、符號變量以及符號表達式等可以用sym和syms加以規(guī)定和創(chuàng)建。這兩個函數的用法有所不同,sym函數用來建立單個符號變量,一般的調用格式是:符號變量=sym(‘符號字符串’),該函數可以建立一個符號變量,符號字符串可以是常量、變量或者表達式,而syms函數依次可以定義多個符號變量。MATLAB中符號表達式是由符號常量、符號變量、符號函數運算符以及專用函數連接起來的符號對象。其中符號常量是一種符號對象,數值常數如果作為函數命令sym的輸入參量時,就建立了一個符號對象成為符號變量,雖然看上去是一個數值量,但是已經是一個符號對象;符號變量是內容可變的符號對象,符號變量通常是指一個或者幾個特定的字符,不是指符號表達式,但是可以把一個符號表達式賦值給一個符號變量,符號變量有時也稱為自由變量;基本符號函數運算符“+”“-”“*”“/”“^”分別實現加、減、乘、右除和冪運算;基本的連接符號“=”表示等號。
二 求符號表達式的數值
高等數學中的求極限、導數、微分、積分、函數的極值、泰勒展開式、無窮級數和微分方程求解等都可以用MATLAB程序實現,但是得到的都是符號表達式,如何對符號表達式中的變量進行賦值且得到相應的函數值,是一個很有意義的研究課題。MATLAB中可以利用M-函數文件、內聯函數、匿名函數、subs函數和eval函數求符號表達式的數值。
例3,求符號表達式 在點(2,3)處的值。
1.M函數文件
M函數文件猶如一個“黑箱”。從外界只能看到輸入的變量和輸出的計算結果,而內部的運作是藏而不見的,需要編寫一個m文件,然后調用。M函數文件的優(yōu)點是對于重復出現的符號表達式運算只需要編寫一個程序然后調用即可,而不需要每次都要輸入相同的表達式。
2.內聯函數
為了計算某個數學函數的數值,可以用inline函數來直接編寫該函數,形式相當于M-函數,但無編寫一個真正的MATLAB文件,就可以描述出某種數學關系。由于使用內聯函數其對象不需要另外建立m文件,因此使用比較方便。內聯函數的調用格式為:
3.匿名函數
對于一些簡單的函數,可以利用匿名函數求其數值。匿名函數與內聯函數類似,不像一般的M-函數要通過m文件編寫,匿名函數是面向命令行代碼的函數形式,它通常只有一句簡單的聲明語句組成。與一般M-函數一樣的是,匿名函數也可以接受多個輸入和輸出參數。匿名函數的調用格式為f=@(自變量列表)自變量表達式,其中@是MATLAB中創(chuàng)建函數句柄的操作符,表示創(chuàng)建由輸入自變量列表和自變量表達式確定的函數句柄,并把這個函數句柄返回給變量f,然后就可以調用函數f。匿名函數的調用格式為:
4.subs函數
MATLAB提供了一個在符號表達式中進行變量替換的函數即subs函數,如果把符號表達式中的符號變量替換成一個符號常數,就可以將符號表達式簡化為一個符號值。subs函數的調用格式為z=subs(自變量表達式,舊變量,新變量)
5.eval函數
三 結束語
高等數學的教學引入基于MATLAB的數學實驗課,提高了教學和學習的效率,培養(yǎng)了學生的實踐能力,極大地促進了學生學習的積極性。結合教學過程中遇到的問題,本文著重分析了幾種求符號表達式數值的方法。通過學習這些函數,讓學生進一步明確這些函數的相似和不同之處,使學生對MATLAB編程有初步的了解,為今后科研和工作打下堅實的基礎。
參考文獻
[1]王正林、劉明編著.精通MATLAB 7[M].北京:電子工業(yè)出版社,2006
[2]王沫然編著.Matlab與科學計算(第2版)[M].北京:電子工業(yè)出版社,2003
〔責任編輯:林勁〕