matlab數(shù)學(xué)手冊02_第1頁
matlab數(shù)學(xué)手冊02_第2頁
matlab數(shù)學(xué)手冊02_第3頁
matlab數(shù)學(xué)手冊02_第4頁
matlab數(shù)學(xué)手冊02_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、第2章 數(shù)值計算與數(shù)據(jù)分析第2章 數(shù)值計算與數(shù)據(jù)分析2.1 基本數(shù)學(xué)函數(shù)2.1.1 三角函數(shù)與雙曲函數(shù)函數(shù) sin、sinh功能 正弦函數(shù)與雙曲正弦函數(shù)格式 Y = sin(X) %計算參量X(可以是向量、矩陣,元素可以是復(fù)數(shù))中每一個角度分量的正弦值Y,所有分量的角度單位為弧度。Y = sinh(X) %計算參量X的雙曲正弦值Y注意:sin(pi)并不是零,而是與浮點精度有關(guān)的無窮小量eps,因為pi僅僅是精確值浮點近似的表示值而已;對于復(fù)數(shù)Z= x+iy,函數(shù)的定義為:sin(x+iy) = sin(x)*cos(y) + i*cos(x)*sin(y),例2-1x = -pi:0.01:

2、pi; plot(x,sin(x)x = -5:0.01:5; plot(x,sinh(x)圖形結(jié)果為圖2-1。 圖2-1 正弦函數(shù)與雙曲正弦函數(shù)圖函數(shù) asin、asinh功能 反正弦函數(shù)與反雙曲正弦函數(shù)格式 Y = asin(X) %返回參量X(可以是向量、矩陣)中每一個元素的反正弦函數(shù)值Y。若X中有的分量處于-1,1之間,則Y = asin(X)對應(yīng)的分量處于-/2,/2之間,若X中有分量在區(qū)間-1,1之外,則Y= asin(X)對應(yīng)的分量為復(fù)數(shù)。Y = asinh(X) %返回參量X中每一個元素的反雙曲正弦函數(shù)值Y說明 反正弦函數(shù)與反雙曲正弦函數(shù)的定義為:,例2-2x = -1:.01

3、:1; plot(x,asin(x)x = -5:.01:5; plot(x,asinh(x)圖形結(jié)果為圖2-2。 圖2-2 反正弦函數(shù)與反雙曲正弦函數(shù)圖函數(shù) cos、cosh功能 余弦函數(shù)與雙曲余弦函數(shù)格式 Y = cos(X) %計算參量X(可以是向量、矩陣,元素可以是復(fù)數(shù))中每一個角度分量的余弦值Y,所有角度分量的單位為弧度。我們要指出的是,cos(pi/2)并不是精確的零,而是與浮點精度有關(guān)的無窮小量eps,因為pi僅僅是精確值浮點近似的表示值而已。Y = sinh(X) %計算參量X的雙曲余弦值Y說明 若X為復(fù)數(shù)z= x+iy,則函數(shù)定義為:cos(x+iy) = cos(x)*co

4、s(y) + i*sin(x)*sin(y),例2-3x = -pi:0.01:pi; plot(x,cos(x)x = -5:0.01:5; plot(x,cosh(x)圖形結(jié)果為圖2-3。 圖2-3 余弦函數(shù)與雙曲余弦函數(shù)圖函數(shù) acos、acosh功能 反余弦函數(shù)與反雙曲余弦函數(shù)格式 Y = acos(X) %返回參量X(可以是向量、矩陣)中每一個元素的反余弦函數(shù)值Y。若X中有的分量處于-1,1之間,則Y = acos(X)對應(yīng)的分量處于0,之間,若X中有分量在區(qū)間-1,1之外,則Y = acos(X)對應(yīng)的分量為復(fù)數(shù)。Y = asinh(X) %返回參量X中每一個元素的反雙曲余弦函數(shù)Y

5、說明 反余弦函數(shù)與反雙曲余弦函數(shù)定義為:,例2-4x = -1:.01:1; plot(x,acos(x)x = -5:.01:5; plot(x,acosh(x)圖形結(jié)果為圖2-4。 圖2-4 反余弦函數(shù)與反雙曲余弦函數(shù)圖函數(shù) tan、tanh功能 正切函數(shù)與雙曲正切函數(shù)格式 Y = tan(X) %計算參量X(可以是向量、矩陣,元素可以是復(fù)數(shù))中每一個角度分量的正切值Y,所有角度分量的單位為弧度。我們要指出的是,tan(pi/2)并不是精確的零,而是與浮點精度有關(guān)的無窮小量eps,因為pi僅僅是精確值浮點近似的表示值而已。Y = tanh(X) %返回參量X中每一個元素的雙曲正切函數(shù)值Y例

6、2-5x = (-pi/2)+0.01:0.01:(pi/2)-0.01; % 稍微縮小定義域plot(x,tan(x)x = -5:0.01:5; plot(x,tanh(x)圖形結(jié)果為圖2-5。 圖2-5 正切函數(shù)與雙曲正切函數(shù)圖函數(shù) atan、atanh功能 反正切函數(shù)與反雙曲正切函數(shù)格式 Y = atan(X) %返回參量X(可以是向量、矩陣)中每一個元素的反正切函數(shù)值Y。若X中有的分量為實數(shù),則Y = atan(X)對應(yīng)的分量處于-/2,/2之間。Y = atanh(X) %返回參量X中每一個元素的反雙曲正切函數(shù)值Y。說明 反正切函數(shù)與反雙曲正切函數(shù)定義為:,例2-6x = -20:

7、0.01:20; plot(x,atan(x)x = -0.99:0.01:0.99; plot(x,atanh(x)圖形結(jié)果為圖2-6。 圖2-6 反正切函數(shù)與反雙曲正切函數(shù)圖函數(shù) cot、coth功能 余切函數(shù)與雙曲余切函數(shù)格式 Y = cot(X) %計算參量X(可以是向量、矩陣,元素可以是復(fù)數(shù))中每一個角度分量的余切值Y,所有角度分量的單位為弧度。Y = coth(X) %返回參量X中每一個元素的雙曲余切函數(shù)值Y例2-7x1 = -pi+0.01:0.01:-0.01; % 去掉奇點x = 0x2 = 0.01:0.01:pi-0.01; % 做法同上plot(x1,cot(x1),x

8、2,cot(x2)plot(x1,coth(x1),x2,coth(x2)圖形結(jié)果為圖2-7。 圖2-7 余切函數(shù)與雙曲余切函數(shù)圖函數(shù) acot、acoth功能 反余切函數(shù)與反雙曲余切函數(shù)格式 Y = acot(X) %返回參量X(可以是向量、矩陣)中每一個元素的反余切函數(shù)YY = acoth(X) %返回參量X中每一個元素的反雙曲余切函數(shù)值Y例2-8x1 = -2*pi:pi/30:-0.1; x2 = 0.1:pi/30:2*pi; % 去掉奇異點x = 0plot(x1,acot(x1),x2,acot(x2)x1 = -30:0.1:-1.1; x2 = 1.1:0.1:30;plot

9、(x1,acoth(x1),x2,acoth(x2)圖形結(jié)果為圖2-8。 圖2-8 反余切函數(shù)與反雙曲余切函數(shù)圖函數(shù) sec、sech功能 正割函數(shù)與雙曲正割函數(shù)格式 Y = sec(X) %計算參量X(可以是向量、矩陣,元素可以是復(fù)數(shù))中每一個角度分量的正割函數(shù)值Y,所有角度分量的單位為弧度。我們要指出的是,sec(pi/2)并不是無窮大,而是與浮點精度有關(guān)的無窮小量eps的倒數(shù),因為pi僅僅是精確值浮點近似的表示值而已。Y = sech(X) %返回參量X中每一個元素的雙曲正割函數(shù)值Y例2-9x1 = -pi/2+0.01:0.01:pi/2-0.01; % 去掉奇異點x = pi/2x2

10、 = pi/2+0.01:0.01:(3*pi/2)-0.01;plot(x1,sec(x1),x2,sec(x2)x = -2*pi:0.01:2*pi;plot(x,sech(x)圖形結(jié)果為圖2-9。 圖2-9 正割函數(shù)與雙曲正割函數(shù)圖函數(shù) asec、asech功能 反正割函數(shù)與反雙曲正割函數(shù)格式 Y = asec(X) %返回參量X(可以是向量、矩陣)中每一個元素的反正割函數(shù)值YY = asech(X) %返回參量X中每一個元素的反雙曲正割函數(shù)值Y例2-10x1 = -5:0.01:-1; x2 = 1:0.01:5; plot(x1,asec(x1),x2,asec(x2)x = 0.

11、01:0.001:1; plot(x,asech(x)圖形結(jié)果為圖2-10。 圖2-10 反正割函數(shù)與反雙曲正割函數(shù)圖函數(shù) csc、csch功能 余割函數(shù)與雙曲余割函數(shù)格式 Y = csc(X) %計算參量X(可以是向量、矩陣,元素可以是復(fù)數(shù))中每一個角度分量的余割函數(shù)值Y,所有角度分量的單位為弧度。Y = csch(X) %返回參量X中每一個元素的雙曲余割函數(shù)值Y例2-11x1 = -pi+0.01:0.01:-0.01; x2 = 0.01:0.01:pi-0.01; % 去掉奇異點x=0plot(x1,csc(x1),x2,csc(x2)plot(x1,csch(x1),x2,csch(

12、x2)圖形結(jié)果為圖2-11。 圖2-11 余割函數(shù)與雙曲余割函數(shù)圖函數(shù) acsc、acsch功能 反余割函數(shù)與反雙曲余割函數(shù)。格式 Y = asec(X) %返回參量X(可以是向量、矩陣)中每一個元素的反余割函數(shù)值YY = asech(X) %返回參量X中每一個元素的反雙曲余割函數(shù)值Y例2-12x1 = -10:0.01:-1.01; x2 = 1.01:0.01:10; % 去掉奇異點x = 1plot(x1,acsc(x1),x2,acsc(x2)x1 = -20:0.01:-1; x2 = 1:0.01:20; plot(x1,acsch(x1),x2,acsch(x2)圖形結(jié)果為圖2-

13、12。 圖2-12 反余割函數(shù)與反雙曲余割函數(shù)圖函數(shù) atan2功能 四象限的反正切函數(shù)格式 P = atan2(Y,X) %返回一與參量X和Y同型的、與X和Y元素的實數(shù)部分對應(yīng)的、元素對元素的四象限的反正切函數(shù)陣列P,其中X和Y的虛數(shù)部分將忽略。陣列P中的元素分布在閉區(qū)間-pi,pi上。特定的象限將取決于sign(Y)與sign(X)。例2-13z=1+2i;r = abs(z);theta = atan2(imag(z),real(z) z = r *exp(i *theta)feather(z);hold ont=0:0.1:2*pi;x=1+sqrt(5)*cos(t);y=sqrt(

14、5)*sin(t);plot(x,y);axis equal; hold off計算結(jié)果為:theta =1.1071z =1.0000 + 2.0000i圖形結(jié)果為圖2-13。圖2-13 四象限的反正切函數(shù)圖2.1.2 其他常用函數(shù)函數(shù) fix功能 朝零方向取整格式 B = fix(A) %對A的每一個元素朝零的方向取整數(shù)部分,返回與A同維的數(shù)組。對于復(fù)數(shù)參量A,則返回一復(fù)數(shù),其分量的實數(shù)與虛數(shù)部分分別取原復(fù)數(shù)的、朝零方向的整數(shù)部分。例2-14 >>A = -1.9, -0.2, 3.1415926, 5.6, 7.0, 2.4+3.6i; >>B = fix(A)計

15、算結(jié)果為: B = Columns 1 through 4 -1.0000 0 3.0000 5.0000 Columns 5 through 6 7.0000 2.0000 + 3.0000i函數(shù) roud功能 朝最近的方向取整。格式 Y = round(X) %對X的每一個元素朝最近的方向取整數(shù)部分,返回與X同維的數(shù)組。對于復(fù)數(shù)參量X,則返回一復(fù)數(shù),其分量的實數(shù)與虛數(shù)部分分別取原復(fù)數(shù)的、朝最近方向的整數(shù)部分。例2-15>>A = -1.9, -0.2, 3.1415926, 5.6, 7.0, 2.4+3.6i;>>Y = round(A)計算結(jié)果為:Y = Col

16、umns 1 through 4 -2.0000 0 3.0000 6.0000 Columns 5 through 6 7.0000 2.0000 + 4.0000i函數(shù) floor功能 朝負無窮大方向取整格式 B = floor(A) %對A的每一個元素朝負無窮大的方向取整數(shù)部分,返回與A同維的數(shù)組。對于復(fù)數(shù)參量A,則返回一復(fù)數(shù),其分量的實數(shù)與虛數(shù)部分分別取原復(fù)數(shù)的、朝負無窮大方向的整數(shù)部分。例2-16>>A = -1.9, -0.2, 3.1415926, 5.6, 7.0, 2.4+3.6i;>>F = floor(A)計算結(jié)果為:F = Columns 1 t

17、hrough 4 -2.0000 -1.0000 3.0000 5.0000 Columns 5 through 6 7.0000 2.0000 + 3.0000i函數(shù) rem功能 求作除法后的剩余數(shù)格式 R = rem(X,Y) %返回結(jié)果X - fix(X./Y).*Y,其中X、Y應(yīng)為正數(shù)。若X、Y為浮點數(shù),由于計算機對浮點數(shù)的表示的不精確性,則結(jié)果將可能是不可意料的。fix(X./Y)為商數(shù)X./Y朝零方向取的整數(shù)部分。若X與Y為同符號的,則rem(X,Y)返回的結(jié)果與mod(X,Y)相同,不然,若X為正數(shù),則rem(-X,Y) = mod(-X,Y) - Y。該命令返回的結(jié)果在區(qū)間0,

18、sign(X)*abs(Y),若Y中有零分量,則相應(yīng)地返回NaN。例2-17 >>X = 12 23 34 45; >>Y = 3 7 2 6; >>R = rem(X,Y) 計算結(jié)果為: R = 0 2 0 3函數(shù) ceil功能 朝正無窮大方向取整格式 B = floor(A) % 對A的每一個元素朝正無窮大的方向取整數(shù)部分,返回與A同維的數(shù)組。對于復(fù)數(shù)參量A,則返回一復(fù)數(shù),其分量的實數(shù)與虛數(shù)部分分別取原復(fù)數(shù)的、朝正無窮大方向的整數(shù)部分。例2-18>>A = -1.9, -0.2, 3.1415926, 5.6, 7.0, 2.4+3.6i;&

19、gt;>B = ceil(A)計算結(jié)果為:B = Columns 1 through 4 -1.0000 0 4.0000 6.0000 Columns 5 through 6 7.0000 3.0000 + 4.0000i函數(shù) exp功能 以e為底數(shù)的指數(shù)函數(shù)格式 Y = exp(X) %對參量X的每一分量,求以e為底數(shù)的指數(shù)函數(shù)Y。X中的分量可以為復(fù)數(shù)。對于復(fù)數(shù)分量如,z = x +i*y,則相應(yīng)地計算:ez = ex*(cos(y) + i*sin(y)。例2-19>>A = -1.9, -0.2, 3.1415926, 5.6, 7.0, 2.4+3.6i;>&

20、gt;Y = exp(A)計算結(jié)果為: Y = 1.0e+003 * Columns 1 through 4 0.0001 0.0008 0.0231 0.2704 Columns 5 through 6 1.0966 -0.0099 - 0.0049i函數(shù) expm功能 求矩陣的以e為底數(shù)的指數(shù)函數(shù)格式 Y = expm(X) %計算以e為底數(shù)、x的每一個元素為指數(shù)的指數(shù)函數(shù)值。若矩陣x有小于等于零的特征值,則返回復(fù)數(shù)的結(jié)果。說明 該函數(shù)為一內(nèi)建函數(shù),它有三種計算算法:(1)使用文件expm1.m中的用比例法與二次冪算法得到的Pad近似值;(2)使用Taylor級數(shù)近似展開式計算,這種計算在

21、文件expm2.m中。但這種一般計算方法是不可取的,通常計算是緩慢且不精確的;(3)在文件expm3.m中,先是將矩陣對角線化,再把函數(shù)計算出相應(yīng)的的特征向量,最后轉(zhuǎn)換過來。但當輸入的矩陣沒有與矩陣階數(shù)相同的特征向量個數(shù)時,就會出現(xiàn)錯誤。例2-20>>A=hilb(4);>>Y = expm(A)計算結(jié)果為:Y = 3.2506 1.2068 0.8355 0.6417 1.2068 1.7403 0.5417 0.4288 0.8355 0.5417 1.4100 0.3318 0.6417 0.4288 0.3318 1.2729函數(shù) log功能 自然對數(shù),即以e為

22、底數(shù)的對數(shù)。格式 Y = log(X) %對參量X中的每一個元素計算自然對數(shù)。其中X中的元素可以是復(fù)數(shù)與負數(shù),但由此可能得到意想不到的結(jié)果。若z = x + i*y,則log對復(fù)數(shù)的計算如下:log (z) = log (abs (z) + i*atan2(y,x)例2-21 下面的語句可以得到無理數(shù)的近似值:>>Pi = abs(log(-1)計算結(jié)果為:Pi = 3.1416函數(shù) log10功能 常用對數(shù),即以10為底數(shù)的對數(shù)。格式 Y = log10(X) %計算X中的每一個元素的常用對數(shù),若X中出現(xiàn)復(fù)數(shù),則可能得到意想不到的結(jié)果。例2-22>>L1 = log1

23、0(realmax) % 由此可得特殊變量realmax的近似值>>L2 = log10(eps) % 由此可得特殊變量eps的近似值>>M = magic(4);>>L3 = log10(M)計算結(jié)果為:L1 = 308.2547L2 = -15.6536L3 = 1.2041 0.3010 0.4771 1.1139 0.6990 1.0414 1.0000 0.9031 0.9542 0.8451 0.7782 1.0792 0.6021 1.1461 1.1761 0函數(shù) sort功能 把輸入?yún)⒘恐械脑匕磸男〉酱蟮姆较蛑匦屡帕懈袷?B = sort

24、(A) %沿著輸入?yún)⒘緼的不同維的方向、從小到大重新排列A中的元素。A可以是字符串的、實數(shù)的、復(fù)數(shù)的單元數(shù)組。對于A中完全相同的元素,則按它們在A中的先后位置排列在一塊;若A為復(fù)數(shù)的,則按元素幅值的從小到大排列,若有幅值相同的復(fù)數(shù)元素,則再按它們在區(qū)間-,的幅角從小到大排列;若A中有元素為NaN,則將它們排到最后。若A為向量,則返回從小到大的向量,若A為二維矩陣,則按列的方向進行排列;若A為多維數(shù)組,sort(A)把沿著第一非單元集的元素象向量一樣進行處理。B = sort(A,dim) %沿著矩陣A(向量的、矩陣的或多維的)中指定維數(shù)dim方向重新排列A中的元素。B,INDEX = sort

25、(A,) %輸出參量B的結(jié)果如同上面的情形,輸出INDEX是一等于size(A)的數(shù)組,它的每一列是與A中列向量的元素相對應(yīng)的置換向量。若A中有重復(fù)出現(xiàn)的相同的值,則返回保存原來相對位置的索引。例2-23>>A = -1.9, -0.2, 3.1415926, 5.6, 7.0, 2.4+3.6i;>>B1,INDEX = sort(A)>>M = magic(4);>>B2 = sort(M)計算結(jié)果為: B1 = Columns 1 through 4 -0.2000 -1.9000 3.1416 2.4000 + 3.6000i Colum

26、ns 5 through 6 5.6000 7.0000 INDEX = 2 1 3 6 4 5 B2 = 4 2 3 1 5 7 6 8 9 11 10 12 16 14 15 13函數(shù) abs功能 數(shù)值的絕對值與復(fù)數(shù)的幅值格式 Y = abs(X) %返回參量X的每一個分量的絕對值;若X為復(fù)數(shù)的,則返回每一分量的幅值:abs(X) = sqrt(real(X).2+imag(X).2)。例2-24>>A = -1.9, -0.2, 3.1415926, 5.6, 7.0, 2.4+3.6i;>>Y = abs(A)計算結(jié)果為:Y = 1.9000 0.2000 3.

27、1416 5.6000 7.0000 4.3267函數(shù) conj功能 復(fù)數(shù)的共軛值格式 ZC = conj(Z) %返回參量Z的每一個分量的共軛復(fù)數(shù):conj(Z) = real(Z) - i*imag(Z) 函數(shù) imag功能 復(fù)數(shù)的虛數(shù)部分格式 Y = imag(Z) %返回輸入?yún)⒘縕的每一個分量的虛數(shù)部分。例2-25>>imag(2+3i)計算結(jié)果為:ans = 3函數(shù) real功能 復(fù)數(shù)的實數(shù)部分。格式 Y = real(Z) %返回輸入?yún)⒘縕的每一個分量的實數(shù)部分。例2-26>>real(2+3i)計算結(jié)果為:ans = 2函數(shù) angle功能 復(fù)數(shù)的相角格式

28、 P = angle(Z) %返回輸入?yún)⒘縕的每一復(fù)數(shù)元素的、單位為弧度的相角,其值在區(qū)間-,上。說明 angle(z) = imag (log(z) = atan2 (imag(z),real(z)例2-27>>Z =1-i, 2+i, 3-i, 4+i;>>1+2i,2-2i,3+2i,4-2i;>>1-3i,2+3i,3-3i,4+3i;>>1+4i,2-4i,3+4i,4-4i;>>P = angle(Z)計算結(jié)果為: P = -0.7854 0.4636 -0.3218 0.2450 1.1071 -0.7854 0.588

29、0 -0.4636 -1.2490 0.9828 -0.7854 0.6435 1.3258 -1.1071 0.9273 -0.7854函數(shù) complex功能 用實數(shù)與虛數(shù)部分創(chuàng)建復(fù)數(shù)格式 c = complex(a,b) %用兩個實數(shù)a,b創(chuàng)建復(fù)數(shù)c=a+bi。輸出參量c與a、b同型(同為向量、矩陣、或多維陣列)。該命令比下列形式的復(fù)數(shù)輸入更有用:a + i*b 或a + j*b因為i和j可能被用做其他的變量(不等于sqrt(-1),或者a和b不是雙精度的。 c = complex(a) %輸入?yún)⒘縜作為輸出復(fù)數(shù)c的實部,其虛部為0:c = a+0*i。例2-28>>a =

30、uint8(1;2;3;4);>>b = uint8(4;3;2;1);>>c = complex(a,b)計算結(jié)果為:c = 1.0000 + 4.0000i 2.0000 + 3.0000i 3.0000 + 2.0000i 4.0000 + 1.0000i函數(shù) mod功能 模數(shù)(帶符號的除法余數(shù))用法 M = mod(X,Y) %輸入?yún)⒘縓、Y應(yīng)為整數(shù),此時返回余數(shù)X -Y.*floor(X./Y),若Y0,或者是X。若運算數(shù)x與y有相同的符號,則mod(X,Y)等于rem(X,Y)??傊瑢τ谡麛?shù)x,y,有:mod(-x,y) = rem(-x,y)+y。若輸入

31、為實數(shù)或復(fù)數(shù),由于浮點數(shù)在計算機上的不精確表示,該操作將導(dǎo)致不可預(yù)測的結(jié)果。例2-29>>M1 = mod(13,5) >>M2 = mod(1:5,3) >>M3 = mod(magic(3),3)計算結(jié)果為:M1 = 3M2 = 1 2 0 1 2M3 = 2 1 0 0 2 1 1 0 2函數(shù) nchoosek功能 二項式系數(shù)或所有的組合數(shù)。該命令只有對n<15時有用。函數(shù) C = nchoosek(n,k) %參量n,k為非負整數(shù),返回n! / ( (n-k)! k!),即一次從n個物體中取出k個的組合數(shù)。C = nchoosek(v,k) %

32、參量v為n維向量,返回一矩陣,其行向量的分量為一次性從v個物體中取k個物體的組合數(shù)。矩陣 C包含=n! / ( (n-k)! k!)行與k列。例2-30>>C = nchoosek(2:2:10,4)計算結(jié)果為: C = 2 4 6 8 2 4 6 10 2 4 8 10 2 6 8 10 4 6 8 10函數(shù) rand功能 生成元素均勻分布于(0,1)上的數(shù)值與陣列用法 Y = rand(n) %返回n*n階的方陣Y,其元素均勻分布于區(qū)間(0,1)。若n不是一標量,在顯示一出錯信息。Y = rand(m,n)、Y = rand(m n) %返回階數(shù)為m*n的,元素均勻分

33、布于區(qū)間(0,1)上矩陣Y。Y = rand(m,n,p,)、Y = rand(m n p) %生成階數(shù)m*n*p*的,元素服從均勻分布的多維隨機陣列Y。Y = rand(size(A) %生成一與陣列A同型的隨機均勻陣列Yrand %該命令在每次單獨使用時,都返回一隨機數(shù)(服從均勻分布)。s = rand('state') %返回一有35元素的列向量s,其中包含均勻分布生成器的當前狀態(tài)。該改變生成器的當前的狀態(tài),見表2-1。表2-1命 令含 義Rand(state,s)設(shè)置狀態(tài)為sRand(state,0)設(shè)置生成器為初始狀態(tài)Rand(state,k)設(shè)置生成器第k個狀態(tài)(k

34、為整數(shù))Rand(state,sum(100*clock)設(shè)置生成器在每次使用時的狀態(tài)都不同(因為clock每次都不同)例:>>R1 = rand(4,5)>>a = 10; b = 50;>>R2 = a + (b-a) * rand(5) % 生成元素均勻分布于(10,50)上的矩陣計算結(jié)果可能為:R1 = 0.6655 0.0563 0.2656 0.5371 0.6797 0.3278 0.4402 0.9293 0.5457 0.6129 0.6325 0.4412 0.9343 0.9394 0.3940 0.5395 0.6501 0.5648

35、 0.7084 0.2206R2 = 33.6835 19.8216 36.9436 49.6289 46.4679 18.5164 34.2597 15.3663 31.0549 49.0377 19.0026 37.1006 33.6046 39.5361 13.9336 12.4641 12.9804 35.5420 23.2916 46.8304 28.5238 48.7418 49.0843 13.0512 10.9265函數(shù) randn功能 生成元素服從正態(tài)分布(N(0,1))的數(shù)值與陣列格式 Y = randn(n) %返回n*n階的方陣Y,其元素服從正態(tài)分布N(0,1)。若n不

36、是一標量,則顯示一出錯信息。Y = randn(m,n)、Y = randn(m n) %返回階數(shù)為m*n的,元素均勻分布于區(qū)間(0,1)上矩陣Y。Y = randn(m,n,p,)、Y = randn(m n p) %生成階數(shù)m*n*p*的,元素服從正態(tài)分布的多維隨機陣列Y。Y = randn(size(A) %生成一與陣列A同型的隨機正態(tài)陣列Yrandn %該命令在每次單獨使用時,都返回一隨機數(shù)(服從正態(tài)分布)。s = randn('state') %返回一有2元素的向量s,其中包含正態(tài)分布生成器的當前狀態(tài)。該改變生成器的當前狀態(tài),見表2-2。表2-2命 令含 義randn

37、(state,s)設(shè)置狀態(tài)為srandn(state,0)設(shè)置生成器為初始狀態(tài)rand(state,k)設(shè)置生成器第k個狀態(tài)(k為整數(shù))rand(state,sum(100*clock)設(shè)置生成器在每次使用時的狀態(tài)都不同(因為clock每次都不同)例:>>R1 = rand(4,5)>>R2 = 0.6 + sqrt(0.1) * randn(5)計算結(jié)果可能為:R1 = 0.2778 0.2681 0.5552 0.5167 0.8821 0.2745 0.3710 0.1916 0.3385 0.5823 0.9124 0.5129 0.4164 0.2993 0.

38、0550 0.4125 0.2697 0.1508 0.9370 0.5878R2 = 0.4632 0.9766 0.5410 0.6360 0.6931 0.0733 0.9760 0.8295 0.9373 0.1775 0.6396 0.5881 0.4140 0.6187 0.8259 0.6910 0.7035 1.2904 0.5698 1.1134 0.2375 0.6552 0.5569 0.3368 0.38122.2 插值、擬合與查表插值法是實用的數(shù)值方法,是函數(shù)逼近的重要方法。在生產(chǎn)和科學(xué)實驗中,自變量x與因變量y的函數(shù)y = f(x)的關(guān)系式有時不能直接寫出表達式,而

39、只能得到函數(shù)在若干個點的函數(shù)值或?qū)?shù)值。當要求知道觀測點之外的函數(shù)值時,需要估計函數(shù)值在該點的值。如何根據(jù)觀測點的值,構(gòu)造一個比較簡單的函數(shù)y=(x),使函數(shù)在觀測點的值等于已知的數(shù)值或?qū)?shù)值。用簡單函數(shù)y=(x)在點x處的值來估計未知函數(shù)y=f(x)在x點的值。尋找這樣的函數(shù)(x),辦法是很多的。(x)可以是一個代數(shù)多項式,或是三角多項式,也可以是有理分式;(x)可以是任意光滑(任意階導(dǎo)數(shù)連續(xù))的函數(shù)或是分段函數(shù)。函數(shù)類的不同,自然地有不同的逼近效果。在許多應(yīng)用中,通常要用一個解析函數(shù)(一、二元函數(shù))來描述觀測數(shù)據(jù)。根據(jù)測量數(shù)據(jù)的類型:1測量值是準確的,沒有誤差。2測量值與真實值有誤差。這時

40、對應(yīng)地有兩種處理觀測數(shù)據(jù)方法:1插值或曲線擬合。2回歸分析(假定數(shù)據(jù)測量是精確時,一般用插值法,否則用曲線擬合)。MATLAB中提供了眾多的數(shù)據(jù)處理命令。有插值命令,有擬合命令,有查表命令。2.2.1 插值命令命令1 interp1功能 一維數(shù)據(jù)插值(表格查找)。該命令對數(shù)據(jù)點之間計算內(nèi)插值。它找出一元函數(shù)f(x)在中間點的數(shù)值。其中函數(shù)f(x)由所給數(shù)據(jù)決定。各個參量之間的關(guān)系示意圖為圖2-14。圖2-14 數(shù)據(jù)點與插值點關(guān)系示意圖格式 yi = interp1(x,Y,xi) %返回插值向量yi,每一元素對應(yīng)于參量xi,同時由向量x與Y的內(nèi)插值決定。參量x指定數(shù)據(jù)Y的點。若Y為一矩陣,則按

41、Y的每列計算。yi是階數(shù)為length(xi)*size(Y,2)的輸出矩陣。yi = interp1(Y,xi) %假定x=1:N,其中N為向量Y的長度,或者為矩陣Y的行數(shù)。yi = interp1(x,Y,xi,method) %用指定的算法計算插值:nearest:最近鄰點插值,直接完成計算;linear:線性插值(缺省方式),直接完成計算;spline:三次樣條函數(shù)插值。對于該方法,命令interp1調(diào)用函數(shù)spline、ppval、mkpp、umkpp。這些命令生成一系列用于分段多項式操作的函數(shù)。命令spline用它們執(zhí)行三次樣條函數(shù)插值;pchip:分段三次Hermite插值。對于

42、該方法,命令interp1調(diào)用函數(shù)pchip,用于對向量x與y執(zhí)行分段三次內(nèi)插值。該方法保留單調(diào)性與數(shù)據(jù)的外形;cubic:與pchip操作相同;v5cubic:在MATLAB 5.0中的三次插值。對于超出x范圍的xi的分量,使用方法nearest、linear、v5cubic的插值算法,相應(yīng)地將返回NaN。對其他的方法,interp1將對超出的分量執(zhí)行外插值算法。yi = interp1(x,Y,xi,method,'extrap') %對于超出x范圍的xi中的分量將執(zhí)行特殊的外插值法extrap。yi = interp1(x,Y,xi,method,extrapval) %

43、確定超出x范圍的xi中的分量的外插值extrapval,其值通常取NaN或0。例2-31>>x = 0:10; y = x.*sin(x); >>xx = 0:.25:10; yy = interp1(x,y,xx); >>plot(x,y,'kd',xx,yy)插值圖形為圖2-15。例2-32>> year = 1900:10:2010;>> product = 75.995 91.972 105.711 123.203 131.669 150.697 179.323 203.212 226.505 249.633

44、256.344 267.893 ;>>p1995 = interp1(year,product,1995)>>x = 1900:1:2010;>>y = interp1(year,product,x,'pchip');>>plot(year,product,'o',x,y)插值結(jié)果為:p1995 = 252.9885插值圖形為圖2-16。 圖2-15 一元函數(shù)插值圖形 圖2-16 離散數(shù)據(jù)的一維插值圖命令2 interp2功能 二維數(shù)據(jù)內(nèi)插值(表格查找)格式 ZI = interp2(X,Y,Z,XI,YI) %返

45、回矩陣ZI,其元素包含對應(yīng)于參量XI與YI(可以是向量、或同型矩陣)的元素,即Zi(i,j)Xi(i,j),yi(i,j)。用戶可以輸入行向量和列向量Xi與Yi,此時,輸出向量Zi與矩陣meshgrid(xi,yi)是同型的。同時取決于由輸入矩陣X、Y與Z確定的二維函數(shù)Z=f(X,Y)。參量X與Y必須是單調(diào)的,且相同的劃分格式,就像由命令meshgrid生成的一樣。若Xi與Yi中有在X與Y范圍之外的點,則相應(yīng)地返回nan(Not a Number)。ZI = interp2(Z,XI,YI) %缺省地,X=1:n、Y=1:m,其中m,n=size(Z)。再按第一種情形進行計算。ZI = int

46、erp2(Z,n) %作n次遞歸計算,在Z的每兩個元素之間插入它們的二維插值,這樣,Z的階數(shù)將不斷增加。interp2(Z)等價于interp2(z,1)。ZI = interp2(X,Y,Z,XI,YI,method) %用指定的算法method計算二維插值:linear:雙線性插值算法(缺省算法);nearest:最臨近插值;spline:三次樣條插值;cubic:雙三次插值。圖2-17 二維插值圖例2-33:>>X,Y = meshgrid(-3:.25:3);>>Z = peaks(X,Y);>>XI,YI = meshgrid(-3:.125:3)

47、;>>ZZ = interp2(X,Y,Z,XI,YI);>>surfl(X,Y,Z);hold on;>>surfl(XI,YI,ZZ+15)>>axis(-3 3 -3 3 -5 20);shading flat>>hold off插值圖形為圖2-17。例2-34>>years = 1950:10:1990;>>service = 10:10:30;>>wage = 150.697 199.592 187.625 179.323 195.072 250.287 203.212 179.092 3

48、22.767 226.505 153.706 426.730 249.633 120.281 598.243;>>w = interp2(service,years,wage,15,1975)插值結(jié)果為:w =190.6288命令3 interp3功能 三維數(shù)據(jù)插值(查表)格式 VI = interp3(X,Y,Z,V,XI,YI,ZI) %找出由參量X,Y,Z決定的三元函數(shù)V=V(X,Y,Z)在點(XI,YI,ZI)的值。參量XI,YI,ZI是同型陣列或向量。若向量參量XI,YI,ZI是不同長度,不同方向(行或列)的向量,這時輸出參量VI與Y1,Y2,Y3為同型矩陣。其中Y1,Y

49、2,Y3為用命令meshgrid(XI,YI,ZI)生成的同型陣列。若插值點(XI,YI,ZI)中有位于點(X,Y,Z)之外的點,則相應(yīng)地返回特殊變量值NaN。VI = interp3(V,XI,YI,ZI) %缺省地,X=1:N,Y=1:M,Z=1:P,其中,M,N,P=size(V),再按上面的情形計算。VI = interp3(V,n) %作n次遞歸計算,在V的每兩個元素之間插入它們的三維插值。這樣,V的階數(shù)將不斷增加。interp3(V)等價于interp3(V,1)。VI = interp3(,method) %用指定的算法method作插值計算: linear:線性插值(缺省算法)

50、; cubic:三次插值; spline:三次樣條插值; nearest:最鄰近插值。說明 在所有的算法中,都要求X,Y,Z是單調(diào)且有相同的格點形式。當X,Y,Z是等距且單調(diào)時,用算法*linear,*cubic,*nearest,可得到快速插值。例2-35>>x,y,z,v = flow(20); >>xx,yy,zz = meshgrid(.1:.25:10, -3:.25:3, -3:.25:3);>>vv = interp3(x,y,z,v,xx,yy,zz); >>slice(xx,yy,zz,vv,6 9.5,1 2,-2 .2);

51、shading interp;colormap cool插值圖形為圖2-18。圖2-18 三維插值圖命令4 interpft功能 用快速Fourier算法作一維插值格式 y = interpft(x,n) %返回包含周期函數(shù)x在重采樣的n個等距的點的插值y。若length(x)=m,且x有采樣間隔dx,則新的y的采樣間隔dy=dx*m/n。注意的是必須nm。若x為一矩陣,則按x的列進行計算。返回的矩陣y有與x相同的列數(shù),但有n行。y = interpft(x,n,dim) %沿著指定的方向dim進行計算命令5 griddata功能 數(shù)據(jù)格點格式 ZI = griddata(x,y,z,XI,YI) %用二元函數(shù)z=f(x,y)的曲面擬合有不規(guī)則的數(shù)據(jù)向量x,y,z

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論