例6.1 求矩陣A的每行及每列的最大和最小元素,并求整個(gè)矩陣的最_第1頁
例6.1 求矩陣A的每行及每列的最大和最小元素,并求整個(gè)矩陣的最_第2頁
例6.1 求矩陣A的每行及每列的最大和最小元素,并求整個(gè)矩陣的最_第3頁
例6.1 求矩陣A的每行及每列的最大和最小元素,并求整個(gè)矩陣的最_第4頁
例6.1 求矩陣A的每行及每列的最大和最小元素,并求整個(gè)矩陣的最_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、例6.1 求矩陣A的每行及每列的最大和最小元素,并求整個(gè)矩陣的最大和最小元素。A=13,-56,78;25,63,-235;78,25,563;1,0,-1;max(A,2) %求每行最大元素min(A,2) %求每行最小元素max(A) %求每列最大元素min(A) %求每列最小元素max(max(A) %求整個(gè)矩陣的最大元素。也可使用命令:max(A(:)min(min(A) %求整個(gè)矩陣的最小元素。也可使用命令:min(A(:)例6.2 求矩陣A的每行元素的乘積和全部元素的乘積。A=1,2,3,4;5,6,7,8;9,10,11,12;S=prod(A,2)prod(S) %求A的全部元

2、素的乘積。也可以使用命令prod(A(:)例6.3 求向量X=(1!,2!,3!,10!)。X=cumprod(1:10)例6.4 對(duì)二維矩陣x,從不同維方向求出其標(biāo)準(zhǔn)方差。x=4,5,6;1,4,8 % 產(chǎn)生一個(gè)二維矩陣xy1=std(x,0,1)y2=std(x,1,1)y3=std(x,0,2)y4=std(x,1,2)例6.5 生成滿足正態(tài)分布的100005隨機(jī)矩陣,然后求各列元素的均值和標(biāo)準(zhǔn)方差,再求這5列隨機(jī)數(shù)據(jù)的相關(guān)系數(shù)矩陣。X=randn(10000,5);M=mean(X)D=std(X)R=corrcoef(X)例6.6 對(duì)下列矩陣做各種排序。A=1,-8,5;4,12,6

3、;13,7,-13;sort(A) %對(duì)A的每列按升序排序-sort(-A,2) %對(duì)A的每行按降序排序 X,I=sort(A) %對(duì)A按列排序,并將每個(gè)元素所在行號(hào)送矩陣I例6.7 給出概率積分的數(shù)據(jù)表如表6.1所示,用不同的插值方法計(jì)算f(0.472)。表6.1 概率積分?jǐn)?shù)據(jù)表x0.460.470.480.49f(x)0.48465550.49375420.50274980.5116683x=0.46:0.01:0.49; %給出x,f(x)f=0.4846555,0.4937542,0.5027498,0.5116683;format longinterp1(x,f,0.472) %用默

4、認(rèn)方法,即線性插值方法計(jì)算f(x)interp1(x,f,0.472,nearest) %用最近點(diǎn)插值方法計(jì)算f(x)interp1(x,f,0.472,spline) %用3次樣條插值方法計(jì)算f(x)interp1(x,f,0.472,cubic) %用3次多項(xiàng)式插值方法計(jì)算f(x)format short例6.8 某檢測參數(shù)f隨時(shí)間t的采樣結(jié)果如表5.1,用數(shù)據(jù)插值法計(jì)算t=2,7,12,17,22,17,32,37,42,47,52,57時(shí)的f值。表5.1 檢測參數(shù)f隨時(shí)間t的采樣結(jié)果t051015202530f3.10252.256879.51835.92968.84136.25237

5、.9t35404550556065f6152.76725.36848.36403.56824.77328.57857.6T=0:5:65;X=2:5:57;F=3.2015,2.2560,879.5,1835.9,2968.8,4136.2,5237.9,6152.7,.6725.3,6848.3,6403.5,6824.7,7328.5,7857.6;F1=interp1(T,F,X) %用線性插值方法插值F1=interp1(T,F,X,nearest) %用最近點(diǎn)插值方法插值F1=interp1(T,F,X,spline) %用3次樣條插值方法插值F1=interp1(T,F,X,cub

6、ic) %用3次多項(xiàng)式插值方法插值例6.9 設(shè)z=x2+y2,對(duì)z函數(shù)在0,10,2區(qū)域內(nèi)進(jìn)行插值。x=0:0.1:1;y=0:0.2:2;X,Y=meshgrid(x,y); %產(chǎn)生自變量網(wǎng)格坐標(biāo)Z=X.2+Y.2; %求對(duì)應(yīng)的函數(shù)值interp2(x,y,Z,0.5,0.5) %在(0.5,0.5)點(diǎn)插值interp2(x,y,Z,0.5 0.6,0.4) %在(0.5,0.4)點(diǎn)和(0.6,0.4)點(diǎn)插值interp2(x,y,Z,0.5 0.6,0.4 0.5)%在(0.5,0.4)點(diǎn)和(0.6,0.5)點(diǎn)插值%下一命令在(0.5,0.4),(0.6,0.4),(0.5,0.5)和(0

7、.6,0.5)各點(diǎn)插值interp2(x,y,Z,0.5 0.6,0.4 0.5)例6.10 某實(shí)驗(yàn)對(duì)一根長10米的鋼軌進(jìn)行熱源的溫度傳播測試。用x表示測量點(diǎn)(米),用h表示測量時(shí)間(秒),用T表示測得各點(diǎn)的溫度(),測量結(jié)果如表6.2所示。表6.2 鋼軌各點(diǎn)溫度測量值 T xh0 2.5 5 7.5 10095 14 0 0 03088 48 32 12 66067 64 54 48 41試用用3次多項(xiàng)式插值求出在一分鐘內(nèi)每隔10秒、鋼軌每隔0.5米處的溫度。x=0:2.5:10;h=0:30:60;T=95,14,0,0,0;88,48,32,12,6;67,64,54,48,41;xi=

8、0:0.5:10;hi=0:10:60;temps=interp2(x,h,T,xi,hi,cubic);mesh(xi,hi,temps);例6.11 用一個(gè)3次多項(xiàng)式在區(qū)間0,2內(nèi)逼近函數(shù)。X=linspace(0,2*pi,50);Y=sin(X);P=polyfit(X,Y,3) %得到3次多項(xiàng)式的系數(shù)和誤差X=linspace(0,2*pi,20);Y=sin(X);Y1=polyval(P,X)plot(X,Y,:o,X,Y1,-*)例6.12 設(shè)(1)求f(x)+g(x)、f(x)-g(x)。(2)求f(x)g(x)、f(x)/g(x)。f=3,-5,2,-7,5,6;g=3,5

9、,-3;g1=0,0,0,g;f+g1 %求f(x)+g(x)f-g1 %求f(x)-g(x)conv(f,g) %求f(x)*g(x) Q,r=deconv(f,g) %求f(x)/g(x),商式送Q,余式送r。例6.13 求有理分式的導(dǎo)數(shù)。P=3,5,0,-8,1,-5;Q=10,5,0,0,6,0,0,7,-1,0,-100;p,q=polyder(P,Q)例6.14 已知多項(xiàng)式x4+8x3-10,分別取x=1.2和一個(gè)23矩陣為自變量計(jì)算該多項(xiàng)式的值。A=1,8,0,0,-10; % 4次多項(xiàng)式系數(shù)x=1.2; % 取自變量為一數(shù)值y1=polyval(A,x)x=-1,1.2,-1.

10、4;2,-1.8,1.6 % 給出一個(gè)矩陣xy2=polyval(A,x) % 分別計(jì)算矩陣x中各元素為自變量的多項(xiàng)式之值例6.15 仍以多項(xiàng)式x4+8x3-10為例,取一個(gè)22矩陣為自變量分別用polyval和polyvalm計(jì)算該多項(xiàng)式的值。A=1,8,0,0,-10; % 多項(xiàng)式系數(shù)x=-1,1.2;2,-1.8 % 給出一個(gè)矩陣xy1=polyval(A,x) % 計(jì)算代數(shù)多項(xiàng)式的值y2=polyvalm(A,x) % 計(jì)算矩陣多項(xiàng)式的值例6.16 求多項(xiàng)式x4+8x3-10的根。A=1,8,0,0,-10;x=roots(A)例6.17 已知 (1) 計(jì)算f(x)=0 的全部根。(2

11、) 由方程f(x)=0的根構(gòu)造一個(gè)多項(xiàng)式g(x),并與f(x)進(jìn)行對(duì)比。P=3,0,4,-5,-7.2,5;X=roots(P) %求方程f(x)=0的根G=poly(X) %求多項(xiàng)式g(x)例6.18 設(shè)x由0,2間均勻分布的10個(gè)點(diǎn)組成,求的13階差分。X=linspace(0,2*pi,10);Y=sin(X);DY=diff(Y); %計(jì)算Y的一階差分D2Y=diff(Y,2); %計(jì)算Y的二階差分,也可用命令diff(DY)計(jì)算D3Y=diff(Y,3); %計(jì)算Y的三階差分,也可用diff(D2Y)或diff(DY,2)例6.19 設(shè)用不同的方法求函數(shù)f(x)的數(shù)值導(dǎo)數(shù),并在同一個(gè)

12、坐標(biāo)系中做出f(x)的圖像。f=inline(sqrt(x.3+2*x.2-x+12)+(x+5).(1/6)+5*x+2);g=inline(3*x.2+4*x-1)./sqrt(x.3+2*x.2-x+12)/2+1/6./(x+5).(5/6)+5);x=-3:0.01:3;p=polyfit(x,f(x),5); %用5次多項(xiàng)式p擬合f(x)dp=polyder(p); %對(duì)擬合多項(xiàng)式p求導(dǎo)數(shù)dpdpx=polyval(dp,x); %求dp在假設(shè)點(diǎn)的函數(shù)值dx=diff(f(x,3.01)/0.01; %直接對(duì)f(x)求數(shù)值導(dǎo)數(shù)gx=g(x); %求函數(shù)f的導(dǎo)函數(shù)g在假設(shè)點(diǎn)的導(dǎo)數(shù)pl

13、ot(x,dpx,x,dx,.,x,gx,-); %作圖例6.20 用兩種不同的方法求:先建立一個(gè)函數(shù)文件ex.m:function ex=ex(x)ex=exp(-x.2);然后在MATLAB命令窗口,輸入命令:format longI=quad(ex,0,1) %注意函數(shù)名應(yīng)加字符引號(hào)I=quadl(ex,0,1)例6.21 用trapz函數(shù)計(jì)算:X=0:0.01:1;Y=exp(-X.2);trapz(X,Y)例6.22 計(jì)算二重定積分(1) 建立一個(gè)函數(shù)文件fxy.m:function f=fxy(x,y)global ki;ki=ki+1; %ki用于統(tǒng)計(jì)被積函數(shù)的調(diào)用次數(shù)f=exp

14、(-x.2/2).*sin(x.2+y);(2) 調(diào)用dblquad函數(shù)求解。global ki;ki=0;I=dblquad(fxy,-2,2,-1,1)ki例6.23 給定數(shù)學(xué)函數(shù)x(t)=12sin(210t+/4)+5cos(240t)取N=128,試對(duì)t從01秒采樣,用FFT作快速傅立葉變換,繪制相應(yīng)的振幅-頻率圖。N=128; % 采樣點(diǎn)數(shù)T=1; % 采樣時(shí)間終點(diǎn)t=linspace(0,T,N); % 給出N個(gè)采樣時(shí)間ti(i=1:N)x=12*sin(2*pi*10*t+pi/4)+5*cos(2*pi*40*t); % 求各采樣點(diǎn)樣本值xdt=t(2)-t(1); % 采樣

15、周期f=1/dt; % 采樣頻率(Hz)X=fft(x); % 計(jì)算x的快速傅立葉變換XF=X(1:N/2+1); % F(k)=X(k)(k=1:N/2+1)f=f*(0:N/2)/N; % 使頻率軸f從零開始plot(f,abs(F),-*) % 繪制振幅-頻率圖xlabel(Frequency);ylabel(|F(k)|)例6.24 用直接解法求解下列線性方程組。A=2,1,-5,1;1,-5,0,7;0,2,1,-1;1,6,-1,-4;b=13,-9,6,0;x=Ab例6.25 用LU分解求解例6.24中的線性方程組。A=2,1,-5,1;1,-5,0,7;0,2,1,-1;1,6

16、,-1,-4;b=13,-9,6,0;L,U=lu(A);x=U(Lb)L,U ,P=lu(A);x=U(LP*b)例6.26 用QR分解求解例6.24中的線性方程組。A=2,1,-5,1;1,-5,0,7;0,2,1,-1;1,6,-1,-4;b=13,-9,6,0;Q,R=qr(A);x=R(Qb)Q,R,E=qr(A);x=E*(R(Qb)例6.27 用Cholesky分解求解例6.24中的線性方程組。A=2,1,-5,1;1,-5,0,7;0,2,1,-1;1,6,-1,-4;b=13,-9,6,0;R=chol(A)? Error using = cholMatrix must be

17、 positive definiteJacobi迭代法的MATLAB函數(shù)文件Jacobi.m如下:function y,n=jacobi(A,b,x0,eps)if nargin=3 eps=1.0e-6;elseif nargin=eps x0=y; y=B*x0+f; n=n+1;end例6.28 用Jacobi迭代法求解下列線性方程組。設(shè)迭代初值為0,迭代精度為10-6。在命令中調(diào)用函數(shù)文件Jacobi.m,命令如下:A=10,-1,0;-1,10,-2;0,-2,10;b=9,7,6;x,n=jacobi(A,b,0,0,0,1.0e-6)Gauss-Serdel迭代法的MATLAB函

18、數(shù)文件gauseidel.m如下:function y,n=gauseidel(A,b,x0,eps)if nargin=3 eps=1.0e-6;elseif nargin=eps x0=y; y=G*x0+f; n=n+1;end例6.29 用Gauss-Serdel迭代法求解下列線性方程組。設(shè)迭代初值為0,迭代精度為10-6。在命令中調(diào)用函數(shù)文件gauseidel.m,命令如下:A=10,-1,0;-1,10,-2;0,-2,10;b=9,7,6;x,n=gauseidel(A,b,0,0,0,1.0e-6)例6.30 分別用Jacobi迭代和Gauss-Serdel迭代法求解下列線性方

19、程組,看是否收斂。a=1,2,-2;1,1,1;2,2,1;b=9;7;6;x,n=jacobi(a,b,0;0;0)x,n=gauseidel(a,b,0;0;0)有了上面這些討論,下面設(shè)計(jì)一個(gè)求解線性方程組的函數(shù)文件line_solution.m。function x,y=line_solution(A,b)m,n=size(A);y=;if norm(b)0 %非齊次方程組if rank(A)=rank(A,b)if rank(A)=n %有惟一解disp(原方程組有惟一解x);x=Ab;else %方程組有無窮多個(gè)解,基礎(chǔ)解系disp(原方程組有無窮個(gè)解,特解為x,其齊次方程組的基礎(chǔ)解

20、系為y);x=Ab; y=null(A,r);endelsedisp(方程組無解); %方程組無解x=;endelse %齊次方程組disp(原方程組有零解x);x=zeros(n,1); %0解if rank(A)n disp(方程組有無窮個(gè)解,基礎(chǔ)解系為y); %非0解y=null(A,r);endend例6.31 求解方程組。A=1,-2,3,-1;3,-1,5,-3;2,1,2,-2;b=1;2;3;x,y=line_solution(A,b)例6.32 求方程組的通解。format rat %指定有理式格式輸出A=1,1,-3,-1;3,-1,-3,4;1,5,-9,-8;b=1,4

21、,0;x,y=line_solution(A,b);x,yformat short %恢復(fù)默認(rèn)的短格式輸出例6.33 求在x0=-5和x0=1作為迭代初值時(shí)的零點(diǎn)。先建立函數(shù)文件fz.m:function f=fz(x)f=x-1/x+5;然后調(diào)用fzero函數(shù)求根。:fzero(fz,-5) %以-5作為迭代初值fzero(fz,1) %以1作為迭代初值例6.34 求下列方程組在(1,1,1)附近的解并對(duì)結(jié)果進(jìn)行驗(yàn)證。首先建立函數(shù)文件myfun.m。function F=myfun (X)x=X(1);y=X(2);z=X(3);F(1)=sin(x)+y+z2*exp(x);F(2)=x+

22、y+z;F(3)=x*y*z;在給定的初值x0=1,y0=1,z0=1下,調(diào)用fsolve函數(shù)求方程的根。X=fsolve(myfun,1,1,1,optimset(Display, off)例6.35 求圓和直線的兩個(gè)交點(diǎn)。圓:直線:先建立方程組函數(shù)文件fxyz.m:function F=fxyz(X)x=X(1);y=X(2);z=X(3);F(1)=x2+y2+z2-9;F(2)=3*x+5*y+6*z;F(3)=x-3*y-6*z-1;再在MATLAB命令窗口,輸入命令:X1=fsolve(fxyz,-1,1,-1,optimset(Display, off) %求第一個(gè)交點(diǎn)X2=fs

23、olve(fxyz,1,-1,1,optimset(Display, off) %求第二個(gè)交點(diǎn)例6.36 求函數(shù)在區(qū)間(-10,1)和(1,10)上的最小值點(diǎn)。首先建立函數(shù)文件fx.m:function f=f(x)f=x-1/x+5;上述函數(shù)文件也可用一個(gè)語句函數(shù)代替:f=inline(x-1/x+5)再在MATLAB命令窗口,輸入命令:fminbnd(fx,-10,-1) %求函數(shù)在(-10,-1)內(nèi)的最小值點(diǎn)和最小值fminbnd(f,1,10) %求函數(shù)在(1,10)內(nèi)的最小值點(diǎn)。注意函數(shù)名f不用加例6.37 設(shè)求函數(shù)f在(0.5,0.5,0.5)附近的最小值。建立函數(shù)文件fxyz.m

24、:function f=fxyz(u)x=u(1);y=u(2);z=u(3);f=x+y.2./x/4+z.2./y+2./z;在MALAB命令窗口,輸入命令:U,fmin=fminsearch(fxyz,0.5,0.5,0.5) %求函數(shù)的最小值點(diǎn)和最小值例6.38 求解有約束最優(yōu)化問題。首先編寫目標(biāo)函數(shù)M文件fop.m。function f=fop(x)f=0.4*x(2)+x(1)2+x(2)2-x(1)*x(2)+1/30*x(1)3;再設(shè)定約束條件,并調(diào)用fmincon函數(shù)求解此約束最優(yōu)化問題。x0=0.5;0.5;A=-1,-0.5;-0.5,-1;b=-0.4;-0.5;lb=0;0;option=optimset; option.LargeScale=off; option.Display =off;x,f=fmincon(fop ,

溫馨提示

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

評(píng)論

0/150

提交評(píng)論