matlab課后習題答案(1-9章)_第1頁
matlab課后習題答案(1-9章)_第2頁
matlab課后習題答案(1-9章)_第3頁
matlab課后習題答案(1-9章)_第4頁
matlab課后習題答案(1-9章)_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1 數(shù)字1.5e2,1.5e3 中的哪個與1500相同嗎?1.5e32 請指出如下5個變量名中,哪些是合法的?abcd-2 xyz_3 3chan a變量 ABCDefgh 2、5是合法的。3 在MATLAB環(huán)境中,比1大的最小數(shù)是多少? 1+eps4 設(shè) a = -8 , 運行以下三條指令,問運行結(jié)果相同嗎?為什么?w1=a(2/3)w2=(a2)(1/3) w3=(a(1/3)2w1 = -2.0000 + 3.4641i ;w2 = 4.0000 ;w3 =-2.0000 + 3.4641i 5 指令clear, clf, clc各有什么用處?clear 清除工作空間中所有的變量。clf

2、 清除當前圖形。clc 清除命令窗口中所有顯示。第二章1 說出以下四條指令產(chǎn)生的結(jié)果各屬于哪種數(shù)據(jù)類型,是“雙精度”對象,還是“符號”符號對象? 3/7+0.1雙; sym(3/7+0.1)符; sym('3/7+0.1') 符; vpa(sym(3/7+0.1) 符;2 在不加專門指定的情況下,以下符號表達式中的哪一個變量被認為是自由符號變量.sym('sin(w*t)'),sym('a*exp(-X)'),sym('z*exp(j*th)')symvar(sym('sin(w*t)'),1) w a z3 (1

3、)試寫出求三階方程正實根的程序。注意:只要正實根,不要出現(xiàn)其他根。(2)試求二階方程在時的根。(1)reset(symengine)syms x positivesolve(x3-44.5) ans =(2(2/3)*89(1/3)/2 (2)求五階方程的實根syms a positive%注意:關(guān)于x的假設(shè)沒有去除solve(x2-a*x+a2) Warning: Explicit solution could not be found.> In solve at 83ans = empty sym syms x clearsyms a positivesolve(x2-a*x+a2)

4、 ans = a/2 + (3(1/2)*a*i)/2 a/2 - (3(1/2)*a*i)/2 4 觀察一個數(shù)(在此用記述)在以下四條不同指令作用下的異同。a =, b = sym( ), c = sym( ,'d ' ), d = sym( ' ' )在此, 分別代表具體數(shù)值 7/3 , pi/3 , pi*3(1/3) ;而異同通過vpa(abs(a-d) , vpa(abs(b-d) , vpa(abs(c-d)等來觀察。l 理解準確符號數(shù)值的創(chuàng)建法。l 高精度誤差的觀察。(1)x=7/3x=7/3;a=x,b=sym(x),c=sym(x,'d

5、'),d=sym('7/3'), a = 2.3333b =7/3c =2.3333333333333334813630699500209d =7/3 v1=vpa(abs(a-d),v2=vpa(abs(b-d),v3=vpa(abs(c-d) v1 =0.0v2 =0.0v3 =0.00000000000000014802973661668756666666667788716 (2)x=pi/3x=pi/3;a=x,b=sym(x),c=sym(x,'d'),d=sym('pi/3'), a = 1.0472b =pi/3c =1.0

6、47197551196597631317786181171d =pi/3 v1=vpa(abs(a-d),v2=vpa(abs(b-d),v3=vpa(abs(c-d) v1 =0.0v2 =0.0v3 =0.00000000000000011483642827992216762806615818554 (3)x=pi*3(1/3)x=pi*3(1/3);a=x,b=sym(x),c=sym(x,'d'),d=sym('pi*3(1/3)') a = 4.5310b =1275352044764433/281474976710656c =4.5309606547

7、207899041040946030989d =pi*3(1/3) v1=vpa(abs(a-d),v2=vpa(abs(b-d),v3=vpa(abs(c-d) v1 =0.00000000000000026601114166290944374842393221638v2 =0.00000000000000026601114166290944374842393221638v3 =0.0000000000000002660111416629094726767991785515 5 求符號矩陣的行列式值和逆,所得結(jié)果應采用“子表達式置換”簡潔化。l 理解subexpr指令。A=sym('

8、a11 a12 a13;a21 a22 a23;a31 a32 a33')DA=det(A)IA=inv(A);IAs,d=subexpr(IA,d) A = a11, a12, a13 a21, a22, a23 a31, a32, a33DA =a11*a22*a33 - a11*a23*a32 - a12*a21*a33 + a12*a23*a31 + a13*a21*a32 - a13*a22*a31IAs = d*(a22*a33 - a23*a32), -d*(a12*a33 - a13*a32), d*(a12*a23 - a13*a22) -d*(a21*a33 - a

9、23*a31), d*(a11*a33 - a13*a31), -d*(a11*a23 - a13*a21) d*(a21*a32 - a22*a31), -d*(a11*a32 - a12*a31), d*(a11*a22 - a12*a21)d =1/(a11*a22*a33 - a11*a23*a32 - a12*a21*a33 + a12*a23*a31 + a13*a21*a32 - a13*a22*a31) 6 求的符號解,并進而用該符號解求,的準確值。l symsum, subs的應用。l 從實例中,感受指令所給出的關(guān)于符號解的含義。syms x kf=x(k);Z1=symsu

10、m(f,k,0,inf)Z1 =piecewise(1 <= x, Inf, abs(x) < 1, -1/(x - 1) subs(Z1,x,sym('-1/3'),sym('1/pi'),sym('3') ans = 3/4, -1/(1/pi - 1), Inf 7 對于,求。(提示:理論結(jié)果為)l 符號變量的限定性定義的作用。syms k;x=sym('x','positive');f_k=2/(2*k+1)*(x-1)/(x+1)(2*k+1);s=simple(symsum(f_k,k,0,

11、inf) %結(jié)果與理論值lnx相符! s =piecewise(abs(x - 1) < x + 1, log(x) 注意l 解答中,條件abs(x - 1) < x + 1意味著:n 約束一:x-1<x+1 2>0 此式總成立,說明“無約束”。n 情況二:-(x-1)<x+1x>0此為“約束”,滿足題意。8 (1)通過符號計算求的導數(shù)。(2)然后根據(jù)此結(jié)果,求和。l diff, limit指令的應用。l 如何理解運行結(jié)果。syms ty=abs(sin(t)d=diff(y) %求dy/dtd0_=limit(d,t,0,'left') %

12、求dy/dt|t=0-dpi_2=limit(d,t,pi/2) %求dy/dt|t=pi/2 y =abs(sin(t)d =sign(sin(t)*cos(t)d0_ =-1dpi_2 =0 9 求出的具有64位有效數(shù)字的積分值。l 符號積分的解析解和符號數(shù)值解。l 符號計算和數(shù)值計算的相互校驗。(1)符號積分syms x clearsyms xy=exp(-abs(x)*abs(sin(x)si=vpa(int(y,-10*pi,1.7*pi),64) y =abs(sin(x)/exp(abs(x)si =1.08784949941290491316667187594817452089

13、5458535212845987519414166 (2)數(shù)值計算復驗xx=-10*pi:pi/100:1.7*pi;sn=trapz(exp(-abs(xx).*abs(sin(xx)*pi/100 sn = 1.0877 10 計算二重積分。l 變上限二重積分的符號計算法。syms x yf=x2+y2;r=int(int(f,y,1,x2),x,1,2) r =1006/105 11 在區(qū)間,畫出曲線,并計算。l 在符號計算中,經(jīng)常遇到計算結(jié)果是特殊經(jīng)典函數(shù)的情況。l 如何應用subs獲得超過16位有效數(shù)字的符號數(shù)值結(jié)果。l 初步嘗試ezplot指令的簡便。(1)符號計算syms t x

14、;f=sin(t)/t;y=int(f,t,0,x)% 將得到一個特殊經(jīng)典函數(shù)y5=subs(y,x,sym('4.5')ezplot(y,0,2*pi) y =sinint(x)y5 =1.6541404143792439835039224868515(2)數(shù)值計算復驗tt=0:0.001:4.5;tt(1)=eps;yn=trapz(sin(tt)./tt)*0.001 yn = 1.6541 12 在的限制下,求的一般積分表達式,并計算的32位有效數(shù)字表達。l 一般符號解與高精度符號數(shù)值解。syms xsyms n positivef=sin(x)n;yn=int(f,x

15、,0,pi/2) y3s=vpa(subs(yn,n,sym('1/3')y3d=vpa(subs(yn,n,1/3) yn =beta(1/2, n/2 + 1/2)/2y3s =1.2935547796148952674767575125656y3d =1.2935547796148951782413405453553 13 求方程的解。l solve指令中,被解方程的正確書寫,輸出量的正確次序。eq1='x2+y2=1'eq2='x*y=2'x,y=solve(eq1,eq2,'x','y') x = (1/

16、2 + (15(1/2)*i)/2)(1/2)/2 - (1/2 + (15(1/2)*i)/2)(3/2)/2 - (1/2 + (15(1/2)*i)/2)(1/2)/2 + (1/2 + (15(1/2)*i)/2)(3/2)/2 (1/2 - (15(1/2)*i)/2)(1/2)/2 - (1/2 - (15(1/2)*i)/2)(3/2)/2 - (1/2 - (15(1/2)*i)/2)(1/2)/2 + (1/2 - (15(1/2)*i)/2)(3/2)/2y = (1/2 + (15(1/2)*i)/2)(1/2) -(1/2 + (15(1/2)*i)/2)(1/2) (

17、1/2 - (15(1/2)*i)/2)(1/2) -(1/2 - (15(1/2)*i)/2)(1/2) 14 求微分方程的通解,并繪制任意常數(shù)為1時解的圖形。l 理解指令dsolve的正確使用。l 對dsolve輸出結(jié)果的正確理解。l ezplot指令繪圖時,如何進行線色控制。l 如何覆蓋那些不能反映圖形窗內(nèi)容的圖名。(1)求通解reset(symengine)clearsyms y xy=dsolve('0.2*y*Dy+0.25*x=0','x') y = 2(1/2)*(C3 - (5*x2)/8)(1/2) -2(1/2)*(C3 - (5*x2)/

18、8)(1/2) (2)根據(jù)所得通解中不定常數(shù)的符號寫出“對其進行數(shù)值替代的指令”yy=subs(y,'C3',1) %將通解中的C3用1代替 yy = 2(1/2)*(1 - (5*x2)/8)(1/2) -2(1/2)*(1 - (5*x2)/8)(1/2) (3)觀察通解中兩個分解的平方是否相同yy(1)2=yy(2)2 ans = 1 (4)于是可考慮函數(shù)的平方關(guān)系syms Yfxy=Y2-yy(1)2 fxy =Y2 + (5*x2)/4 - 2 (5)根據(jù)平方關(guān)系式畫完整曲線clfezplot(fxy,-2,2,-2,2)axis squaregrid on (6)假

19、如直接用“分解”畫曲線,那么將是不完整的 ezplot(yy(1),hold oncc=get(gca,'Children');set(cc,'Color','r')ezplot(yy(2),axis(-2 2 -2 2)legend('y(1)','y(2)'),hold off;title(' ')%覆蓋不完全的圖名gridaxis square 15 求一階微分方程的解。l 初值微分方程的符號解。l pretty指令的使用。x=dsolve('Dx=a*t2+b*t','

20、;x(0)=2','t')pretty(x)%比較易讀的表達形式 x =(t2*(3*b + 2*a*t)/6 + 2 2 t (3 b + 2 a t) - + 2 6 16 求邊值問題的解。(注意:相應的數(shù)值解法比較復雜)。l 邊值微分方程的符號解。f,g=dsolve('Df=3*f+4*g','Dg=-4*f+3*g','f(0)=0,g(0)=1') f =sin(4*t)*exp(3*t)g =cos(4*t)*exp(3*t) (1) 數(shù)值數(shù)組及其運算習題3及解答6 要求在閉區(qū)間上產(chǎn)生具有10個等距采樣點的一

21、維數(shù)組。試用兩種不同的指令實現(xiàn)。第 1 章 數(shù)值計算中產(chǎn)生自變量采樣點的兩個常用指令的異同。%方法一 t1=linspace(0,2*pi,10)%方法二t2=0:2*pi/9:2*pi %要注意采樣間距的選擇,如這里的2*pi/9. t1 = Columns 1 through 7 0 0.6981 1.3963 2.0944 2.7925 3.4907 4.1888 Columns 8 through 10 4.8869 5.5851 6.2832t2 = Columns 1 through 7 0 0.6981 1.3963 2.0944 2.7925 3.4907 4.1888 Col

22、umns 8 through 10 4.8869 5.5851 6.2832 1 由指令rng('default'),A=rand(3,5)生成二維數(shù)組A,試求該數(shù)組中所有大于0.5的元素的位置,分別求出它們的“全下標”和“單下標”。第 1 章 數(shù)組下標的不同描述:全下標和單下標。第 1 章 sub2ind, int2str, disp的使用。第 1 章 隨機發(fā)生器的狀態(tài)控制:保證隨機數(shù)的可復現(xiàn)性。rng('default')A=rand(3,5)ri,cj=find(A>0.5);id=sub2ind(size(A),ri,cj);ri=ri'c

23、j=cj'disp(' ')disp('大于0.5的元素的全下標')disp('行號 ',int2str(ri)disp('列號 ',int2str(cj)disp(' ')disp('大于0.5的元素的單下標')disp(id') A = 0.8147 0.9134 0.2785 0.9649 0.9572 0.9058 0.6324 0.5469 0.1576 0.4854 0.1270 0.0975 0.9575 0.9706 0.8003 大于0.5的元素的全下標行號 1 2

24、 1 2 2 3 1 3 1 3列號 1 1 2 2 3 3 4 4 5 5 大于0.5的元素的單下標 1 2 4 5 8 9 10 12 13 15 1 已知矩陣,運行指令B1=A.(0.5), B2=A(0.5), 可以觀察到不同運算方法所得結(jié)果不同。(1)請分別寫出根據(jù)B1, B2恢復原矩陣A的程序。(2)用指令檢驗所得的兩個恢復矩陣是否相等。第 1 章 數(shù)組運算和矩陣運算的不同。第 1 章 如何判斷兩個雙精度數(shù)組是否相等。第 1 章 norm指令的應用。A=1,2;3,4;B1=A.0.5B2=A0.5A1=B1.*B1;A2=B2*B2;norm(A1-A2,'fro'

25、;)% 求誤差矩陣的F-范數(shù),當接近eps量級時,就認為實際相等B1 = 1.0000 1.4142 1.7321 2.0000B2 = 0.5537 + 0.4644i 0.8070 - 0.2124i 1.2104 - 0.3186i 1.7641 + 0.1458ians = 8.4961e-016 1 在時間區(qū)間 0,10中,繪制曲線。要求分別采取“標量循環(huán)運算法”和“數(shù)組運算法”編寫兩段程序繪圖。 第 1 章 加強理解數(shù)組運算的機理和應用。第 1 章 初步使用subplot, plot, xlabel, ylabel等指令繪圖。%標量循環(huán)運算法t=linspace(0,10,200)

26、;N=length(t);y1=zeros(size(t);for k=1:Ny1(k)=1-exp(-0.5*t(k)*cos(2*t(k);endsubplot(1,2,1),plot(t,y1),xlabel('t'),ylabel('y1'),grid on%數(shù)組運算法y2=1-exp(-0.5*t).*cos(2*t);subplot(1,2,2),plot(t,y2),xlabel('t'),ylabel('y2'),grid on 1 先運行clear,format long,rng('default'

27、;),A=rand(3,3),然后根據(jù)A寫出兩個矩陣:一個對角陣B,其相應元素由A的對角元素構(gòu)成;另一個矩陣C,其對角元素全為0,而其余元素與對應的A陣元素相同。第 1 章 常用指令diag的使用場合。clear,format longrng('default')A=rand(3,3)B=diag(diag(A)C=A-B A = 0.814723686393179 0.913375856139019 0.278498218867048 0.905791937075619 0.632359246225410 0.546881519204984 0.126986816293506

28、 0.097540404999410 0.957506835434298B = 0.814723686393179 0 0 0 0.632359246225410 0 0 0 0.957506835434298C = 0 0.913375856139019 0.278498218867048 0.905791937075619 0 0.546881519204984 0.126986816293506 0.097540404999410 0 1 先運行指令x=-3*pi:pi/15:3*pi; y=x; X,Y=meshgrid(x,y); warning off; Z=sin(X).*sin

29、(Y)./X./Y; 產(chǎn)生矩陣Z。(1)請問矩陣Z中有多少個“非數(shù)”數(shù)據(jù)?(2)用指令surf(X,Y,Z); shading interp觀察所繪的圖形。(3)請寫出繪制相應的“無裂縫”圖形的全部指令。第 1 章 初步感受三維曲面的繪制方法。第 1 章 非數(shù)NaN的產(chǎn)生,非數(shù)的檢測,和對圖形的影響。第 1 章 sum的應用。第 1 章 eps如何克服“被零除”的尷尬。x=-3*pi:pi/15:3*pi;y=x;X,Y=meshgrid(x,y);warning offZ=sin(X).*sin(Y)./X./Y;NumOfNaN=sum(sum(isnan(Z)%計算“非數(shù)”數(shù)目subpl

30、ot(1,2,1),surf(X,Y,Z),shading interp,title('有縫圖')%產(chǎn)生無縫圖XX=X+(X=0)*eps;YY=Y+(Y=0)*eps;ZZ=sin(XX).*sin(YY)./XX./YY;subplot(1,2,2),surf(XX,YY,ZZ),shading interp,title('無縫圖') NumOfNaN = 181 1 下面有一段程序,企圖用來解決如下計算任務:有矩陣,當依次取10, 9, 8, 7, 6, 5, 4, 3, 2, 1時,計算矩陣“各列元素的和”,并把此求和結(jié)果存放為矩陣Sa的第k行。例如時,

31、A陣為,此時它各列元素 的和是一個行數(shù)組,并把它保存為Sa的第3行。問題:該段程序的計算結(jié)果對嗎?假如計算結(jié)果不正確,請指出錯誤發(fā)生的根源,并改正之。第 1 章 正確理解sum的工作機理。第 1 章 reshape的應用。(1)企圖用以下程序完成題目要求。for k=10:-1:1A=reshape(1:10*k,k,10);Sa(k,:)=sum(A);endSa Sa = 55 55 55 55 55 55 55 55 55 55 3 7 11 15 19 23 27 31 35 39 6 15 24 33 42 51 60 69 78 87 10 26 42 58 74 90 106 1

32、22 138 154 15 40 65 90 115 140 165 190 215 240 21 57 93 129 165 201 237 273 309 345 28 77 126 175 224 273 322 371 420 469 36 100 164 228 292 356 420 484 548 612 45 126 207 288 369 450 531 612 693 774 55 155 255 355 455 555 655 755 855 955 (2)正確性分析除k=1外,計算所得Sa所有行的結(jié)果都正確。但k=1時,Sa的第1行應該與相同。上述程序的錯誤是對sum理

33、解不正確。sum對二維數(shù)組,求和按列施行;而對一維數(shù)組,不管行數(shù)組或列數(shù)組,總是求那數(shù)組所有元素的和。正確的程序應該寫成for k=10:-1:1A=reshape(1:10*k,k,10);Sa(k,:)=sum(A);if k=1Sa(k,:)=A;endendSa Sa = 1 2 3 4 5 6 7 8 9 10 3 7 11 15 19 23 27 31 35 39 6 15 24 33 42 51 60 69 78 87 10 26 42 58 74 90 106 122 138 154 15 40 65 90 115 140 165 190 215 240 21 57 93 12

34、9 165 201 237 273 309 345 28 77 126 175 224 273 322 371 420 469 36 100 164 228 292 356 420 484 548 612 45 126 207 288 369 450 531 612 693 774 55 155 255 355 455 555 655 755 855 955 第 1 章 數(shù)值運算習題 4 及解答n 根據(jù)題給的模擬實際測量數(shù)據(jù)的一組和 試用數(shù)值差分diff或數(shù)值梯度gradient指令計算,然后把和曲線繪制在同一張圖上,觀察數(shù)值求導的后果。(模擬數(shù)據(jù)從prob_data401.mat獲得)l 強

35、調(diào):要非常慎用數(shù)值導數(shù)計算。l 練習mat數(shù)據(jù)文件中數(shù)據(jù)的獲取。l 實驗數(shù)據(jù)求導的后果l 把兩條曲線繪制在同一圖上的一種方法。(1)從數(shù)據(jù)文件獲得數(shù)據(jù)的指令假如prob_data401.mat文件在當前目錄或搜索路徑上clearload prob_data401.mat (2)用diff求導的指令dt=t(2)-t(1);yc=diff(y)/dt;%注意yc的長度將比y短1plot(t,y,'b',t(2:end),yc,'r')grid on (3)用gradent求導的指令(圖形與上相似)dt=t(2)-t(1);yc=gradient(y)/dt;plo

36、t(t,y,'b',t,yc,'r')grid on 說明l 不到萬不得已,不要進行數(shù)值求導。l 假若一定要計算數(shù)值導數(shù),自變量增量dt 要取得比原有數(shù)據(jù)相對誤差高1、2個量級以上。l 求導會使數(shù)據(jù)中原有的噪聲放大。n 采用數(shù)值計算方法,畫出在區(qū)間曲線,并計算。提示l 指定區(qū)間內(nèi)的積分函數(shù)可用cumtrapz指令給出。l 在計算要求不太高的地方可用find指令算得。l 指定區(qū)間內(nèi)的積分函數(shù)的數(shù)值計算法和cumtrapz指令。l find指令的應用。dt=1e-4;t=0:dt:10;t=t+(t=0)*eps;f=sin(t)./t;s=cumtrapz(f)*

37、dt;plot(t,s,'LineWidth',3)ii=find(t=4.5);s45=s(ii) s45 = 1.6541 n 求函數(shù)的數(shù)值積分,并請采用符號計算嘗試復算。提示l 數(shù)值積分均可嘗試。l 符號積分的局限性。l 符號積分的局限性。dx=pi/2000;x=0:dx:pi;s=trapz(exp(sin(x).3)*dx s = 5.1370 符號復算的嘗試syms xf=exp(sin(x)3);ss=int(f,x,0,pi) Warning: Explicit integral could not be found.> In at 58

38、ss =int(exp(sin(x)3),x = 0 . pi) n 用quad求取的數(shù)值積分,并保證積分的絕對精度為。l quadl,精度可控,計算較快。l 近似積分指令trapz獲得高精度積分的內(nèi)存和時間代價較高。%精度可控的數(shù)值積分fx=(x)exp(-abs(x).*abs(sin(x);format longsq=quadl(fx,-10*pi,1.7*pi,1e-7) sq = 1.08784993815498 %近似積分算法x=linspace(-10*pi,1.7*pi,1e7);dx=x(2)-x(1);st=trapz(exp(-abs(x).*abs(sin(x)*dx

39、st = 1.08784949973430 %符號積分算法y='exp(-abs(x)*abs(sin(x)'si=vpa(int(y,-10*pi,1.7*pi),16) y =exp(-abs(x)*abs(sin(x)si =1.087849499412911 n 求函數(shù)在區(qū)間中的最小值點。l 理解極值概念的鄰域性。l 如何求最小值。l 學習運用作圖法求極值或最小值。l 感受符號法的局限性。(1)采用fminbnd找極小值點在指令窗中多次運行以下指令,觀察在不同數(shù)目子區(qū)間分割下,進行的極小值搜索。然后從一系列極小值點中,確定最小值點。clearft=(t)sin(5*t)

40、.2.*exp(0.06*t.*t)+1.8*abs(t+0.5)-1.5*t.*cos(2*t);disp('計算中,把 -5,5 分成若干搜索子區(qū)間。')N=input(' 請輸入子區(qū)間數(shù) N,注意使N>=1 ?');%該指令只能在指令窗中運行tt=linspace(-5,5,N+1);for k=1:Ntmin(k),fobj(k)=fminbnd(ft,tt(k),tt(k+1);endfobj,ii=sort(fobj);%將目標值由小到大排列tmin=tmin(ii);%使極小值點做與目標值相應的重新排列fobj,tmin(2)最后確定的最小值

41、點在的不同分割下,經(jīng)觀察,最后確定出最小值點是 -1.28498111480531相應目標值是-0.18604801006545(3)采用作圖法近似確定最小值點(另一方法)(A)在指令窗中運行以下指令:clearft=(t)sin(5*t).2.*exp(0.06*t.*t)+1.8*abs(t+0.5)-1.5*t.*cos(2*t);t=-5:0.001:5;ff=ft(t);plot(t,ff)grid on,shg(B)經(jīng)觀察后,把最小值附近鄰域放到足夠大,然后運行以下指令,那放大圖形被推向前臺,與此同時光標變?yōu)椤笆志€”,利用它點擊極值點可得到最小值數(shù)據(jù)tmin2,fobj2=gin

42、put(1) tmin2 = -1.28500000993975fobj2 = -0.18604799369136 出現(xiàn)具有相同數(shù)值的刻度區(qū)域表明已達最小可分辨狀態(tài)(4)符號法求最小值的嘗試syms tfts=sin(5*t)2*exp(0.06*t*t)-1.5*t*cos(2*t)+1.8*abs(t+0.5);dfdt=diff(fts,t);%求導函數(shù)tmin=solve(dfdt,t)%求導函數(shù)的零點fobj3=subs(fts,t,tmin)%得到一個具體的極值點 tmin =-.60100931947716486053884417850955e-2fobj3 =.89909908

43、144684551670208797723124 說明l 最小值是對整個區(qū)間而言的,極小值是對鄰域而言的。l 在一個區(qū)間中尋找最小值點,對不同子區(qū)間分割進行多次搜索是必要的。這樣可以避免把極小值點誤作為最小值點。最小值點是從一系列極小值點和邊界點的比較中確定的。l 作圖法求最小值點,很直觀。假若繪圖時,自變量步長取得足夠小,那么所求得的最小值點有相當好的精度。l 符號法在本例中,只求出一個極值點。其余很多極值點無法秋初,更不可能得到最小值。n 設(shè),用數(shù)值法和符號法求。l 學習如何把高階微分方程寫成一階微分方程組。l ode45解算器的導數(shù)函數(shù)如何采用匿名函數(shù)形式構(gòu)成。l 如何從ode45一組數(shù)

44、值解點,求指定自變量對應的函數(shù)值。(1)改寫高階微分方程為一階微分方程組令,于是據(jù)高階微分方程可寫出(2)運行以下指令求y(t)的數(shù)值解format longts=0,1;y0=1;0;dydt=(t,y)y(2);-2*y(1)+3*y(2)+1;%<4>%匿名函數(shù)寫成的ode45所需得導數(shù)函數(shù)tt,yy=ode45(dydt,ts,y0); y_05=interp1(tt,yy(:,1),0.5,'spline'), %用一維插值求y(0.5) y_05 = 0.78958020790127 (3)符號法求解syms t;ys=dsolve('D2y-3

45、*Dy+2*y=1','y(0)=1,Dy(0)=0','t')ys_05=subs(ys,t,sym('0.5') ys =1/2-1/2*exp(2*t)+exp(t)ys_05 =.78958035647060552916850705213780 說明l 第<4>條指令中的導數(shù)函數(shù)也可采用M函數(shù)文件表達,具體如下。function S=prob_DyDt(t,y)S=y(2);-2*y(1)+3*y(2)+1; n 求矩陣的解,A為3階魔方陣,b是的全1列向量。提示l 了解magic指令l rref 用于方程求解。l 矩

46、陣除法和逆陣法解方程。l 滿秩方陣求解的一般過程。l rref 用于方程求解。l 矩陣除法和逆陣法解方程。A=magic(3);%產(chǎn)生3階魔方陣b=ones(3,1);%(3*1)全1列向量R,C=rref(A,b)%Gauss Jordan消去法解方程,同時判斷解的唯一性x=Ab%矩陣除解方程xx=inv(A)*b%逆陣法解方程 R = 1.0000 0 0 0.0667 0 1.0000 0 0.0667 0 0 1.0000 0.0667C = 1 2 3x = 0.0667 0.0667 0.0667xx = 0.0667 0.0667 0.0667 說明l rref指令通過對增廣矩陣

47、進行消去法操作完成解方程。由分解得到的3根“坐標向量”和(或)C3指示的3根基向量,可見A3滿秩,因此方程解唯一。l 在本例情況下,矩陣除、逆陣法、rref法所得解一致。n 求矩陣的解,A為4階魔方陣,b是的全1列向量。提示l 用rref 可觀察A不滿秩,但b在A的值空間中,這類方程用無數(shù)解。l 矩陣除法能正確求得這類方程的特解。l 逆陣法不能求得這類方程的特解。l 注意特解和齊次解l A不滿秩,但b在A的值空間中,這類方程的求解過程。l rref 用于方程求解。l 矩陣除法能正確求得這類方程的特解。l 逆陣法不能求得這類方程的特解。l 解的驗證方法。l 齊次解的獲取。l 全解的獲得。(1)借

48、助增廣矩陣用指令rref求解A=magic(4);%產(chǎn)生3階魔方陣b=ones(4,1);%全1列向量R,C=rref(A,b)%求解,并判斷解的唯一性 R = 1.0000 0 0 1.0000 0.0588 0 1.0000 0 3.0000 0.1176 0 0 1.0000 -3.0000 -0.0588 0 0 0 0 0C = 1 2 3 關(guān)于以上結(jié)果的說明:l R階梯陣提供的信息n 前4列是原A陣經(jīng)消元變換后的階梯陣;而第5列是原b向量經(jīng)相同變換后的結(jié)果。n R的前三列為“基”,說明原A陣秩為3;而第4列的前三個元素,表示原A陣的第4列由其前三列線性組合而成時的加權(quán)系數(shù),即方程的一個解。n R的第5列表明:b可由原A陣的前三列線性表出;b給出了方程的一個解;由于原A陣“缺秩”,所以方程的確解不唯一。l C數(shù)組提供的信息n 該數(shù)組中的三個元素表示變換取原A陣的第1,2,3列為基。n 該數(shù)組的元素總數(shù)就是“原A陣的秩”(2)矩陣除求得的解x=Ab Warning: Matrix is close to singular or badly scaled. Results may be inaccurate.

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 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

提交評論