版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第3章數(shù)值數(shù)組及向量化運算教學(xué)目標(biāo)教學(xué)重點教學(xué)內(nèi)容教學(xué)目標(biāo)掌握數(shù)組的創(chuàng)建方法掌握數(shù)組的標(biāo)識與尋訪掌握數(shù)組的運算了解“非數(shù)”NaN和“空”數(shù)組掌握關(guān)系操作和邏輯操作教學(xué)重點數(shù)組的創(chuàng)建方法數(shù)組的標(biāo)識與尋訪關(guān)系操作和邏輯操作教學(xué)內(nèi)容3.1數(shù)值計算的特點和地位3.2一、二維數(shù)值數(shù)組的創(chuàng)建和尋訪3.3數(shù)組運算和向量化編程3.4“非數(shù)”NaN和“空”數(shù)組3.5關(guān)系操作和邏輯操作3.1數(shù)值計算的特點和地位符號計算可以對包含變量字符,參數(shù)字符和數(shù)字的表達(dá)式進(jìn)行推理,運算,并給出符號結(jié)果。缺點:有很多問題無法解,有很多問題求解時間過長。symstx ft=t^2*cos(t)sx=int(ft,t,0,x)ft=t^2*cos(t)sx=x^2*sin(x)-2*sin(x)+2*x*cos(x)符號計算解法:dt=0.05;t=0:dt:15;Ft=t.^2.*cos(t);Sx=dt*cumtrapz(Ft);
plot(t,Sx,'.k','MarkerSize',12)xlabel('x'),ylabel('Sx'),gridon
數(shù)值計算解法:ezplot(sx,[0,15])例3.1-2已知求(1)符號計算解法symst;ft=exp(-sin(t));sx=int(ft,t,0,4)Warning:Explicitintegralcouldnotbefound.sx=int(1/exp(sin(t)),t=0..4)(2)數(shù)值計算解法delt=0.01;x=0:delt:4;y=exp(-sin(x));sx=delt*cumtrapz(y);plot(x,y,'r','LineWidth',6);holdon;plot(x,sx,'.b','MarkerSize',15);plot(x,ones(size(x)),'k');3.2數(shù)值數(shù)組的創(chuàng)建和尋訪3.2.1一維數(shù)組的創(chuàng)建3.2.2二維數(shù)組的創(chuàng)建3.2.3二維數(shù)組元素的標(biāo)識和尋訪3.2.4數(shù)組操作技法綜合(1)冒號生成法:
array=a:inc:b<向量>a--數(shù)組的第一個元素
inc--采樣點之間的間隔,即步長.最后一個元素不一定等于b,其大小為b’=a+inc*fix((b-a)/inc);步長可以省略,默認(rèn)為1;inc可以取正或負(fù)數(shù),但要注意當(dāng)取正時,要保證b>a,數(shù)組最后一個元素不超過b,取負(fù)時b<a,最后一個元素不小于b.特點:
等差數(shù)列3.2.1
一維數(shù)組的創(chuàng)建和尋訪
1.遞增/遞減一維數(shù)組的創(chuàng)建:abInc<0b’abinc>0b’(2)線性(或?qū)?shù))定點采樣法在設(shè)定的總點數(shù)下,均勻采樣生成一維行數(shù)組.格式為:
x=linspace(a,b,n)特點:方便對數(shù)組的元素的總個數(shù)進(jìn)行控制,最后一個元素肯定是設(shè)定之值.a(chǎn)數(shù)組初始值b數(shù)組最后值n數(shù)組總個數(shù)增量的計算inc=(b-a)/(n-1)等效于:x=a:(b-a)/(n-1):b
1.遞增/遞減一維數(shù)組的創(chuàng)建:
x=logspace(a,b,n)3.2.1
一維數(shù)組的創(chuàng)建和尋訪
2.其他類型一維數(shù)組的創(chuàng)建:(1)逐個元素輸入法:
如:array=[2,pi/2,sqrt(3),3+5i]使用場合及特點使用場合:數(shù)據(jù)元素比較少并都已知.如對少量實驗數(shù)據(jù)的處理可用此種方法.x=[1,2,3,4,5]'行向量列向量
2.其他類型一維數(shù)組的創(chuàng)建:(2)運用MATLAB函數(shù)生成法:MATLAB特殊形式數(shù)組生成函數(shù)見表3.2-1:均勻分布隨機數(shù)組rand(1,n),
全1數(shù)組ones(1,n)指令含義指令含義diag產(chǎn)生對角形數(shù)組(二維以下)rand產(chǎn)生均勻分布隨機數(shù)組eye產(chǎn)生單位數(shù)組(二維以下)randn產(chǎn)生正態(tài)分布隨機數(shù)組magic產(chǎn)生魔方數(shù)組(二維以下)zeros產(chǎn)生全0數(shù)組ones產(chǎn)生全1數(shù)組3.一維數(shù)組的子數(shù)組尋訪和賦值
x=[012345]; x(3) x([123]),x([123]') x(4:6)=x([1,2,3])%x(4:6)=[0,1,2] x(3:end)%end表示最后一個下標(biāo)
x(3:-1:1) x(find(x>2))
注意:數(shù)組的第一個元素為x(1),與C語言中第一個元素為x[0]不同3.2.2二維數(shù)組的創(chuàng)建創(chuàng)建二維數(shù)組與創(chuàng)建一維數(shù)組的方式類似。在創(chuàng)建二維數(shù)組時,整個輸入數(shù)組以方括號[]為其首尾。用逗號(,)或者空格(_)區(qū)分同一行的不同元素,用分號(;)或者回車(Enter)區(qū)分不同行。1.小規(guī)模數(shù)組的直接輸入法2.中規(guī)模數(shù)組的數(shù)組編輯器創(chuàng)建法3.中規(guī)模數(shù)組的M文件創(chuàng)建法例3.2.4利用M文件創(chuàng)建和保存數(shù)組1.編寫M文件并運行AM=[100,101,102;103,104,105;106,107,108],保存為文件名MyMatrix.m2.在命令窗中輸入MyMatrix3.2.2二維數(shù)組的創(chuàng)建4.利用MATLAB函數(shù)創(chuàng)建數(shù)組指令含義指令含義diag產(chǎn)生對角形數(shù)組(二維以下)rand產(chǎn)生均勻分布隨機數(shù)組eye產(chǎn)生單位數(shù)組(二維以下)randn產(chǎn)生正態(tài)分布隨機數(shù)組magic產(chǎn)生魔方數(shù)組(二維以下)zeros產(chǎn)生全0數(shù)組ones產(chǎn)生全1數(shù)組【例3.2-5】標(biāo)準(zhǔn)數(shù)組產(chǎn)生的演示。ones(2,4)ans=11111111
randn('state',0)randn(2,3)ans=-0.43260.1253-1.1465-1.66560.28771.1909D=eye(3)D=100010001diag(D)ans=1113.2.3二維數(shù)組元素的標(biāo)識和尋訪數(shù)組名(行下標(biāo)m,列下標(biāo)n)數(shù)組的第m行n列的元素.A=[1,2,3;4,5,6]A(2,3)=61)全下標(biāo)標(biāo)識2)單下標(biāo)標(biāo)識只用一個下標(biāo)來指定元素在數(shù)組中的位置-將數(shù)組中所有的元素按照從上到下(列),從左到右的方法從1開始編號,其編號就是單下標(biāo).A(4)=2
|1①2④3⑦|A=|4②5⑤6⑧||7③8⑥9⑨|A(:)—按單下標(biāo)方式列出全部元素,組成列向量。A(:)=[1,4,7,2,5,8,3,6,9]'A=1234563)邏輯1標(biāo)識法A=[1,2,3,4,5];L=logical([1,0,1,0,1])A(L)ans=[1,3,5]【例3.2-6】數(shù)組標(biāo)識與尋訪A=zeros(2,6) A=
000000000000A(:)=1:12A=135791124681012A(2,4) ans=8A(8)ans=8A(:,[1,3])ans=1526A(:,4:end)ans=791181012
A(2,1:2:5)=[-1,-3,-5]A=1357911
-14-38-512B=A([1,2,2,2],[1,3,5])B=159-1-3-5-1-3-5-1-3-5L=A<3L=100000101010A(L)=NaNA=
NaN357911
NaN4NaN8NaN12A([1,2,5,6]')ans=12563.2.4數(shù)組操作技法綜合【例3.2-7】數(shù)組操作函數(shù)reshape,diag,repmat的用法;空陣[]
刪除子數(shù)組的用法。a=1:8 A=reshape(a,4,2)A=reshape(A,2,4)a=12345678A=15263748A=13572468D1=repmat(B,2,4) %D1=10101010040404041010101004040404D1([1,3],:)=[]%刪除1,3行
D1=0404040404040404b=diag(A) b=14B=diag(b)B=10043.2.4數(shù)組構(gòu)作技法綜合【例3.2-8】函數(shù)flipud,fliplr,rot90對數(shù)組的操作體現(xiàn)著“矩陣變換”。A=reshape(1:9,3,3)A=147258369B=flipud(A)B=369258147C=fliplr(A) %C=741852963D=rot90(A,2)%逆時針旋轉(zhuǎn)D=9638527413.3數(shù)組運算1.函數(shù)關(guān)系數(shù)值計算模型的分類個別的,無規(guī)律的數(shù)據(jù)集所執(zhí)行的函數(shù)關(guān)系運算;一組有規(guī)律數(shù)據(jù)需要反復(fù)所執(zhí)行的函數(shù)關(guān)系運算;一組有規(guī)律數(shù)據(jù)按矩陣運算法則執(zhí)行的函數(shù)關(guān)系運算。3.3.1數(shù)組運算的由來和規(guī)則對一般編程,后兩種運算程序包含一重或多重循環(huán)體。2.提高程序執(zhí)行性能的三大措施JIT(justintime)-Accelerator;數(shù)組運算;向量或矩陣運算。3.3.1數(shù)組運算的由來和規(guī)則3.數(shù)組運算規(guī)則數(shù)組運算是指每個對應(yīng)元素之間的運算,比如對應(yīng)元素相加,相減,相乘,相除等,而矩陣運算則服從線性代數(shù)中的矩陣運算規(guī)則.?dāng)?shù)組運算符是.opr,opr運算符為+,-,*,/,\,^,
'
矩陣運算則沒有在操作符左邊加.
,matlab中矩陣的運算是按照線性代數(shù)中的定義進(jìn)行的。詳細(xì)的數(shù)組運算符意義見表3.3-1.?dāng)?shù)組的加減法數(shù)組加減法為數(shù)組元素的加減法,與矩陣加減法相同。利用運算符“+”和“-”實現(xiàn)該運算。需要注意的是相加或相減的兩個數(shù)組必須有相同的維數(shù),或者是數(shù)組與數(shù)值相加減。數(shù)組的乘除法數(shù)組乘除為元素的乘除,通過運算符“.*”和“./”來實現(xiàn)。運算時需要兩個數(shù)組有相同的維數(shù),或者數(shù)組與數(shù)值相乘除。數(shù)組的乘方數(shù)組乘方用符號“.^”實現(xiàn)。數(shù)組乘方運算以三種方式進(jìn)行。底為數(shù)組,指數(shù)為標(biāo)量的形式。這種形式的結(jié)果是將數(shù)組的每個元素進(jìn)行指數(shù)相同的乘方。返回的結(jié)果為與底維數(shù)相同的數(shù)組,結(jié)果數(shù)組的每個元素為底中相應(yīng)元素的乘方。底為標(biāo)量,指數(shù)為數(shù)組的形式。該形式返回的結(jié)果為數(shù)組,維數(shù)與指數(shù)數(shù)組相同。結(jié)果數(shù)組的每個元素以標(biāo)量為底,以指數(shù)數(shù)組相應(yīng)元素為指數(shù)做乘方的結(jié)果。底和指數(shù)都是數(shù)組的形式。此時兩個數(shù)組需要有相同的維數(shù)。返回結(jié)果為一個數(shù)組,維數(shù)與前面兩個數(shù)組相同,每個元素為底數(shù)數(shù)組和指數(shù)數(shù)組相應(yīng)元素做乘方的結(jié)果。函數(shù)f(.)的數(shù)組運算規(guī)則函數(shù)數(shù)組運算規(guī)則的定義
x11x12…x1n
x21x22…x2n
對于(m*n)數(shù)組X=
…………=[xij]mxn
xm1xm2…xmn
函數(shù)f(.)的數(shù)組運算規(guī)則是指:
f(X)=[f(xij)]mxn也就是對數(shù)組中每個元素都實施同樣的操作.名稱含義名稱含義名稱含義acos反余弦asinh反雙曲正弦csch雙曲余割acosh反雙曲余弦atan反正切sec正割acot反余切atan2四象限反正切sech雙曲正割acoth反雙曲余切atanh反雙曲正切sin正弦acsc反余割cos余弦sinh雙曲正弦acsch反雙曲余割cosh雙曲余弦tan正切asec反正割cot余切tanh雙曲正切asech反雙曲正割coth雙曲余切asin反正弦csc余割
三角函數(shù)和雙曲函數(shù)4.
數(shù)組運算符和數(shù)組運算函數(shù)
指數(shù)函數(shù)名稱含義名稱含義名稱含義exp指數(shù)(ex)log10常用對數(shù)pow22的冪log自然對數(shù)log2以2為底對數(shù)sqrt平方根
復(fù)數(shù)函數(shù)名稱含義名稱含義名稱含義abs?;蚪^對值conj復(fù)數(shù)共軛real復(fù)數(shù)實部angle相角(弧度)imag復(fù)數(shù)虛部
坐標(biāo)變換函數(shù)名稱含義名稱含義cart2sph直角坐標(biāo)變球坐標(biāo)pol2cart極坐標(biāo)變直角坐標(biāo)cart2pol直角坐標(biāo)變極坐標(biāo)sph2cart球坐標(biāo)變直角坐標(biāo)
圓整函數(shù)與求余函數(shù)名稱含義名稱含義ceil向+∞圓整函數(shù)rem求余數(shù)fix向0圓整函數(shù)round向最近整數(shù)圓整函數(shù)floor向-∞圓整函數(shù)sign符號函數(shù)-(-1),+(1)
0(0)mod模除求余clearvr=[0.89,1.20,3.09,4.27,3.62,7.71,8.99,7.92,9.70,10.41];ir=[0.028,0.040,0.100,0.145,0.118,0.258,0.299,0.257,0.308,0.345];
L=length(vr);fork=1:L
r(k)=vr(k)/ir(k);end sr=0; fork=1:L
sr=sr+r(k);endrm=sr/L非向量化程序3.3.2數(shù)組運算與向量化編程向量化編程r=vr./irrm=mean(r)
【例3.3-1】歐姆定律:,其中
r,u,i
分別是電阻(歐姆)、電壓(伏特)、電流(安培)。驗證實驗:據(jù)電阻兩端施加的電壓,測量電阻中流過的電流,然后據(jù)測得的電壓、電流計算平均電阻值。(測得具體數(shù)據(jù)見程序)。3.3.2數(shù)組運算與向量化編程clearx=-5:0.1:5;y=(-2.5:0.1:2.5)';
N=length(x);M=length(y);forii=1:Mforjj=1:NZ0(ii,jj)=sin(abs(x(jj)*y(ii)));endend非向量化程序【例3.3-2】用間距為0.1的水平線和垂直線均勻分割的矩形域,在所有水平線和垂直線交點上計算函數(shù)y=sin|xy|的值,并圖示。[X,Y]=meshgrid(x,y);Z=sin(abs(X.*Y));
向量化程序norm(Z-Z0)
ans=0比較兩個數(shù)組是否相等(2范數(shù)接近eps)surf(X,Y,Z)xlabel('x')ylabel('y')shadinginterpview([190,70])繪制二元函數(shù)圖形按IEEE規(guī)定,0/0,∞/∞,0*∞等運算都會產(chǎn)生非數(shù),在matlab中記為nan.它具有以下性質(zhì):1)nan參與運算所得結(jié)果也是nan,即具有傳遞性.2)非數(shù)沒有大小概念,不能比較兩個非數(shù)的大?。δ埽赫鎸嵱浭?/0,∞/∞,0*∞運算的后果;避免可能因以上運算而造成的程序執(zhí)行的中斷;在數(shù)據(jù)可視化中,用來裁減圖形.3.4“非數(shù)”和“空”數(shù)組3.4.1非數(shù)NaN【例3.4-1】非數(shù)的產(chǎn)生和性質(zhì)演示(1)
非數(shù)的產(chǎn)生a=0/0,b=0*log(0),c=inf-inf(2)
非數(shù)的傳遞性0*a,sin(a);(3)
非數(shù)的屬性判斷class(a),isnan(a)isnan唯一能正確判斷非數(shù)的指令3.4.2“空”數(shù)組空數(shù)組的功能:空數(shù)組沒參與運算時,計算結(jié)果中的空可以合理地解釋所得結(jié)果的含義(如在某數(shù)組中尋找滿足一定條件的數(shù)據(jù),結(jié)果沒有,得到空數(shù)組,表示沒有滿足條件的元素);a=[1,2,3];f_array=find(a<0)f_array=Emptymatrix:1-by-0運用空數(shù)組對其他非空數(shù)組賦值,可以改變數(shù)組的大小,但不能改變數(shù)組的維數(shù).A=reshape(-4:5,2,5)
A=-4-2024-3-1135
size(A)ans=25A(:,[2,4])=[]A=-404-315
size(A)ans=23ndims(A)ans=2運用空數(shù)組對其他非空數(shù)組賦值,可以改變數(shù)組的大小,但不能改變數(shù)組的維數(shù).A=rand(2,3,2,4);size(A)ans=2324ndims(A)ans=4A(:,:,[1,2],:)=[]A=Emptyarray:2-by-3-by-0-by-4size(A)ans=2304ndims(A)ans=43.4.2“空”數(shù)組(1)創(chuàng)建”空”數(shù)組的幾種方法a=[]b=ones(2,0),c=zeros(2,0),d=eye(2,0)f=rand(2,3,0,4);array3=1:-5;(2)空數(shù)組的屬性【例3.4-3】關(guān)于“空”數(shù)組的算例。class(a)isnumeric(a) isempty(a)%空數(shù)組的判斷ans=doubleans=1ans=1whichandims(a)size(a)aisavariable.ans=2ans=003.5關(guān)系操作和邏輯操作3.5.1關(guān)系操作3.5.2邏輯操作3.5.3常用邏輯函數(shù)
matlab的約定1)在所有關(guān)系表達(dá)式和邏輯表達(dá)式中,作為輸入的任何非0數(shù)都被看作邏輯真,只有0才被認(rèn)為是邏輯假.2)所有關(guān)系表達(dá)式和邏輯表達(dá)式的計算結(jié)果,即輸出,是一個由0和1作成的邏輯數(shù)組.其中1表示真,0表示假.3)邏輯數(shù)組是一種特殊的數(shù)值數(shù)組,它表示著對事物的判斷結(jié)論“真”與”假“3.5關(guān)系操作和邏輯操作3.5.1關(guān)系操作指令含義指令含義<小于>=大于等于<=小于等于==等于>大于~=不等于說明:1)標(biāo)量可以與任何維數(shù)的數(shù)組進(jìn)行比較,比較在此標(biāo)量和數(shù)組每個元素之間進(jìn)行,因此比較結(jié)果為與被比較數(shù)組同維的數(shù)組.2)數(shù)組進(jìn)行比較時,兩數(shù)組必須是同維的,結(jié)果也得到一個同維的數(shù)組.
|2,4,6||1,3,5|A=|3,5,7|B=|4,6,8||1,8,9||2,7,9||1,1,1||0,0,1|A>B=|0,0,0|A>5=|0,0,1||0,1,0||0,1,1|A=[246;357;189]find(A>5)=>ans=[6,7,8,9]'%得到數(shù)組下標(biāo),單下標(biāo)A(find(A>5))=>ans=[8,6,7,9]'A(find(A>5))=5;%A(A>5)=5A=245355155【例3.5-2】關(guān)系運算應(yīng)用。求近似極限,修補圖形缺口sin(t)/t,
t∈[-2π,2π]t=-2*pi:pi/10:2*pi;y=sin(t)./t;%在t=0處產(chǎn)生非數(shù)tt=t+(t==0)*eps;
%處理分母為0的點yy=sin(tt)./tt;subplot(2,1,1),plot(t,y);axis([-7,7,-0.5,1.2]);xlabel('t'),ylabel('y'),title('殘缺圖形');subplot(2,1,2),plot(tt,yy);axis([-7,7,-0.5,1.2]);xlabel('t'),ylabel('yy'),title('完整圖形')tt=t;tt(find(tt==0))=eps;tt(tt==0)=eps;3.5.2邏輯操作說明:1)標(biāo)量可以與任何維的數(shù)組運算.邏輯運算在標(biāo)量與數(shù)組每個元素間進(jìn)行,因此運算結(jié)果是與參與運算的數(shù)組維數(shù)相同的數(shù)組.2)數(shù)組之間也可以進(jìn)行邏輯運算,參與運算的必須維數(shù)相同.此時運算在兩數(shù)組同位置上的元素之間進(jìn)行.因此運算結(jié)果是與參與運算的數(shù)組維數(shù)相同的數(shù)組.指令
&|
~xor含義與或非異或
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025農(nóng)村離婚協(xié)議范本
- 足部皸裂病因介紹
- (分析)白玉開采項目立項申請報告
- (2024)新能源智能裝備建設(shè)項目可行性研究報告寫作模板(一)
- (2024)電子商務(wù)新城可行性研究報告申請建議書(一)
- 山東省菏澤市鄆城縣第一中學(xué)2023-2024學(xué)年七年級上學(xué)期第一次月考生物試題(原卷版)-A4
- 2023-2024學(xué)年天津市部分區(qū)高三(上)期末語文試卷
- 2023年鈹項目融資計劃書
- 2023年鞋用乳液膠粘劑項目融資計劃書
- 安全培訓(xùn)課件-安全管理
- 科研倫理與學(xué)術(shù)規(guī)范-期末考試答案
- 2024年貓咪送人協(xié)議書模板
- 部編版三上語文看拼音寫詞語
- 北京市2023-2024學(xué)年七年級上學(xué)期期末考試數(shù)學(xué)試題(含答案)3
- 紅色中國風(fēng)黎族三月三
- 《閃亮的坐標(biāo)-勞模王進(jìn)喜》教案- 2023-2024學(xué)年高教版(2023)中職語文職業(yè)模塊
- 2024陜煤集團(tuán)校園招聘3095人高頻500題難、易錯點模擬試題附帶答案詳解
- 個人球桿轉(zhuǎn)讓合同模板
- 2024-2025學(xué)年浙江省杭州市桐廬縣三上數(shù)學(xué)期末監(jiān)測模擬試題含解析
- 2021-2022學(xué)年新教材五四制道德與法治五年級上冊單元、期中、期末測試題及答案(各1套共8套)
- 《海燕》教學(xué)課件
評論
0/150
提交評論