資源描述:
《matlab應用 matlab數(shù)據(jù)及運算》由會員上傳分享,免費在線閱讀,更多相關內容在學術論文-天天文庫。
1、第2章MATLAB數(shù)據(jù)及運算2.1變量及其操作一、變量命名規(guī)則1.變量名、函數(shù)名對字母大小寫是敏感的myfile與MyFile表示不同的變量sin是MATLAB定義的正弦函數(shù)名,但SIN、Sin都不是2.變量名的第一個字符必須是英文字母3.變量名最多可包含63個字符(英文、數(shù)字和下劃線)4.變量名中不能包含空格、標點my_exemple12是合法的變量名,12exemple、_exemple12、myexemple12、my.exemple12是非法變量名二、MATLAB默認的預定義變量每當MATLAB啟動時,不經定義和賦值就會產生一些變量,稱為MATLAB默認的預定義變量這些變量都可
2、以重新賦值。但最好不要對這些變量名重新賦值預定義變量含義預定義變量含義ans計算結果的缺省變量名nargin函數(shù)輸入?yún)?shù)個數(shù)eps機器零閾值(機器的浮點運算誤差限)narout函數(shù)輸出參數(shù)個數(shù)Inf或inf無窮大,如1/0realmax最大正浮點數(shù)i或j虛數(shù)單位realmin最小正浮點數(shù)pi圓周率plasterr存放最新的錯誤信息NaN或nan不是一個數(shù)(NotaNumber),如0/0,∞/∞lastwarn存放最新的警告信息例1用鍵盤在MATLAB指令窗中輸入以下內容epseps——機器的浮點運算誤差限。PC機上eps的默認值為2.2204×10-16,若某個量的絕對值小于eps,
3、則可以認為這個量為0。例2用鍵盤在MATLAB指令窗中輸入以下內容1/0,1.e1000,log(0)Inf——無窮大量+∞的MATLAB表示,也可以寫成inf。同樣地,-∞可以表示為-Inf。在MATLAB程序執(zhí)行時,即使遇到了以0為除數(shù)的運算,也不會終止程序的運行,而只給出一個“除0”警告,并將結果賦成Inf,這樣的定義方式符合IEEE的標準。從數(shù)值運算編程角度看,這樣的實現(xiàn)形式明顯優(yōu)于C語言。例3用鍵盤在MATLAB指令窗中輸入以下內容0/0,inf/inf,inf*0注意31在MATLAB中,即使遇到以0為除數(shù)的運算,程序也不會終止運行。這時只給出一個警告,并將結果賦給inf或
4、NaNNaN——不定式(notanumber),通常由0/0運算、Inf/Inf及其他可能的運算得出。NaN是一個很奇特的量,如NaN與Inf的乘積仍為NaN。例4用鍵盤在MATLAB指令窗中輸入以下內容n=realmax,n=1.7977e+309例5用鍵盤在MATLAB指令窗中輸入以下內容m=realmin,m=2.2251e-309i和j——若i或j量不被改寫,則它們表示純虛數(shù)量j。但在MATLAB程序編寫過程中經常事先改寫這兩個變量的值,比如在循環(huán)過程中常用這兩個變量來表示循環(huán)變量。如果想恢復該變量,則可以用語句i=sqrt(-1)設置,即對-1求平方根。三、MATLAB運算符
5、和表達式運算符操作數(shù)學表達式MATLAB運算符MATLAB表達式加a+b+a+b減a-b-a-b乘a′b*a*b除a?b/或a/b或ba冪ab^a^b注意所有運算都定義在復數(shù)域上例1用鍵盤在MATLAB指令窗中輸入以下內容u=sqrt(-4)注意對于方根,運算只給出處于第1象限的解例2用左除()和右除(/)計算表達式的值用鍵盤在MATLAB指令窗中輸入以下內容(5+cos(47*pi/180))/(1+sqrt(7)-2*i)、(1+sqrt(7)-2*i)(5+cos(18047*pi))注意對于標量,左除()或右除(/)所得到的結果是一樣的對于矩陣,左除()和右除(/
6、)所得到的結果是不一樣的AX=B→A-1AX=A-1B→X=A-1B=AB,XA=B→XAA-1=BA-1→X=BA-1=B/A表達式表達式由變量名、運算符、函數(shù)名組成表達式按優(yōu)先級和自左向右的順序運算31優(yōu)先級從高向低的排序是:指數(shù)運算、乘除運算、加減運算括號可以改變運算的順序賦值符“=”和運算符的兩側允許有空格復數(shù)和復數(shù)矩陣MATLAB把復數(shù)看成一個整體來處理(不像其它程序,把實部和虛部分開處理)虛數(shù)單位用預定義變量i或j表示復數(shù)z=a+bi=reiq直角坐標表示與極坐標表示之間的轉換real(z):給出復數(shù)z的實部a=rcosqimag(z):給出復數(shù)z的虛部b=rsinqab
7、s(z):給出復數(shù)z的模r=sqrt(a2+b2)angle(z):以弧度為單位給出復數(shù)z的相角q=arctg(b/a)例1寫出復數(shù)表達式,計算用鍵盤在MATLAB指令窗中輸入以下內容z1=3+4i%書寫格式1z2=1+2*i%書寫格式2z3=2*exp(i*pi/6)%書寫格式2z=z1*z2/z3注意%是注釋號,在它后面及回車之前的輸入部分是非執(zhí)行的注釋在格式1中,4i表示一個完整的虛數(shù),4和i之間不能有空格在格式2中,i被看作一個預定義變