




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、MATLAB選修課講義第一講:矩陣運算第二講:函數作圖第三講:符號演算第四講:簡單編程第五講:數值計算第六講:線性代數第七講:綜合實例第一講:矩陣運算1 基本操作啟動 退出 終止(Alt+. 或Ctrl +C) 翻頁 召回命令 分隔符 , 禁顯符 ; 續行符 注釋符 設置顯示格式 format 常用:short, short g, long清除變量 clear關閉圖形 close清除圖形 clf演示 Demo幫助 help2 基本常數pi I j inf eps NaN exp(1) 3 算術運算+ - * /, , sqrt .* ./ . 4 內部函數(一般都有數組運算功能)sin(x)
2、tan(x) asin(x) atan(x)abs(x) round(x) floor(x) ceil(x) log(x) log10(x) length(v) size(A)sign(x) y, p=sort(x)5 矩陣運算(要熟練掌握)(1) 矩陣生成: 手工輸入: 1 2 3; 4 5 6; 1:2:10輸入數組: linspace(a, b, n) 命令輸入: zeros(m,n) ones(m,n) eye(n) magic(n) rand(m, n)diag(A) diag ( a11 a22 . . . ann ) (2) 矩陣操作賦值 A(i, j) =2 A(2, :)=1
3、 2 3 刪除 A( 2,3, :)= 添加A(6,8)=5定位 find(A>0) 定位賦值A(A<0)= -1 由舊得新 B=A(2,3,1, :) B=A(1,3,2,1) 矩陣拼接 C=A, B C=A; B定位矩陣 B=(A>1) B=(A=1)下三角陣 tril(A) 上三角陣 triu(A)左右翻轉 fliplr(A) 上下翻轉 flipud(A) 重排矩陣 reshape(A, m, n)(3) 矩陣運算: 轉置 A 和A+B 差 A-B 積A*B 左除Ab(=A-1 b) 右除b/A(=b A-1 ) 冪 Ak 點乘A.*B 點除A./B 點冪A.2 行列式
4、det(A) 數量積dot(a,b) 向量積cross(a,b) 行最簡形rref(A) 逆矩陣inv(A) 跡trace(A) 矩陣秩 rank(A) 特征值eig(A) 基礎解系null(A,r) 方程組特解x=Ab注意:2A, sin(A)練習一:矩陣操作1、用盡可能簡單的方法生成下列矩陣: 2、設有分塊矩陣,其中是單位矩陣,是零矩陣,是隨機矩陣,是2階全1矩陣,驗證。3、求下列線性方程組的通解: Ax=b, A=1 2 1 -2;2 3 0 -1;1 -1 -5 7; b=4 9 7;4、求矩陣B=1 -2 3;3 -1 5;2 1 -2的特征值和特征向量.解1(1) A=zeros(
5、10)+10*diag(1:10)-2*tril(ones(10),-1)(2) A=10*diag(1:5); B=diag(2 4 6 8); B=zeros(4,1),B; B=B;zeros(1,5) C=diag(1 3 5 7); C=C,zeros(4,1); C=zeros(1,5);C; A=A+B-C(3) A=diag(1:10);B=ones(10,11);C=A*B;A=reshape(C,11,10);A(11,:)=(4) A=ones(10,1)*(1:10);B=(0:9)'*ones(1,10);C=1./(A+B); format rat; C2.
6、 E3=eye(3);R=rand(3,2);O=zeros(2,3);S=0 1;1 0;J=ones(2);E2=eye(2);A=E3,R;O,S;B=E3,R*J;O,E2;A2-B3. A=1 2 1 -2;2 3 0 -1;1 -1 -5 7,b=4 9 7',rank(A,b)-rank(A)=0y=null(A,'r');x=Ab;syms c1 c2; x=x+c1*y(:,1)=c2*y(:,2)4. B=1 -2 3;3 -1 5;2 1 -2 ,u,v=eig(B) 特征值 1.1991 + 1.7634i 1.1991 - 1.7634i -4
7、.3981 特征向量 -0.0604 - 0.3963i -0.0604 + 0.3963i -0.5550 -0.8495 -0.8495 -0.4944 -0.3374 - 0.0618i -0.3374 + 0.0618i 0.6690 第二講:函數作圖1、 畫曲線 平面曲線 (1)描點作圖x=1:0.2:6; y=x.*sin(x); 必須用點運算產生數組plot(x,y,ro, x, x.*x, b: ) 橫坐標、縱坐標點數必須相等 figure 打開一幅畫面subplot(1,2,1) 大畫面中劃分幾個小畫面(2) 函數作圖fplot('tan(x),sin(x),cos(
8、x)',-6 6 -6 6)subplot(2,2,4), fplot('sin(1 ./ x)', 0.01 0.1, 1e-3)(3) 符號作圖顯函數 ezplot('cos(x)', 0, 2*pi) 隱函數 ezplot('1/y-log(y)+log(-1+y)+x - 1')參數式 ezplot('sin(3*t)*cos(t)','sin(3*t)*sin(t)',0, pi) 空間曲線(1) 描點作圖t=linspace(0,4 *pi, 40); x=cos(t); y=t.*sin(t)
9、; z=2*t; plot3(x,y,z)(2) 符號作圖參數式 ezplot3('cos(t)', 't * sin(t)', 'sqrt(t)', 0,6*pi)2、畫曲面 x=-8:0.1:8; y=x; X,Y=meshgrid(x,y); z=X.2/16-Y.2/9; mesh(x,y,z); surf(x,y,z)ezmesh( 'x*exp(-x2 - y2)' )ezsurf( 'exp(-s)*cos(t)', 'exp(-s)*sin(t)', 't', 0,8
10、,0,4*pi )3、 動畫getframe 抓拍畫面 movie 播放畫面例:旋輪線的生成clear; clf;t=linspace(0,2*pi,96);x=t-sin(t); y=1-cos(t);plot(x,y,'r', -1.1, 2*pi+1.1,0,0, 'k',0,0, -1, 3, 'k');axis equal; pausefor k=1:96 plot(x(1:k), y(1:k),'r', -1.1,2*pi+1.1,0,0,'k', 0,0,-1,3,'k');text(
11、2.7,3.3,'Cycloid'); axis equal; hold on; plot(t(k)+cos(t),1+sin(t),'b', x(k),y(k),'k.', t(k),x(k),1,y(k),'b'); m(k)=getframe; hold offendmovie(m,0) 練習二:函數作圖1、 畫出下列函數表示的曲線:(1) (使用plot和fplot兩種方法),相應于的曲線上的點用紅色空心圓點標出(2) 三條曲線畫在一幅圖上:,每條曲線加注標記區分;(3) 空間曲線 ;(4) 橢圓 (使用兩種方法)。2、畫
12、出下列曲面圖形(1) 旋轉拋物面 ;(2) 曲面 ;(3) 一幅圖上同時畫上半球面與柱面;(4) * 試畫曲面,這是什么曲面?解答:1(1)x=-2:0.1:2;y=x.2.*sin(x.2-x-2);plot(x,y); hold onx1=-2:0.5:2y1=x1.2.*sin(x1.2-x1-2);plot(x1,y1,'ro')hold offfigurefplot('x2*sin(x2-x-2)',-2,2)hold onplot(x1,y1,'ro')hold off1(2)x=linspace(0,pi,50);y1=sin(x)
13、;y2=sin(x).*sin(3*x);y3=-sin(x);plot(x,y1,x,y2,x,y3)legend('sin(x)','sin(x)sn(3x)','-sin(x)')1(3)ezplot3('sin(t)','cos(t)','cos(2*t)',0,2*pi)1(4)t=linspace(0,2*pi,50);x=2*cos(t);y=3*sin(t);plot(x,y);axis equal; axis(-4,4,-3.5,3.5)ezplot('2*cos(t)
14、39;,'3*sin(t)',0,2*pi);axis equal;ezplot('x2/4+y2/9-1'),axis equal; axis(-4,4,-3.5,3.5)2(1)ezmesh('x2+y2',-3,3,-3,3)(2)ezmesh('x4+3*x2+y2-2*x-2*y-2*x2*y+6',-3,3,-2,13)(3)ezmesh('1+cos(t)','sin(t)','z',0,2*pi,0,2);axis equal; hold onezmesh('
15、2*sin(s)*cos(t)','2*sin(s)*sin(t)','2*cos(s)',0,pi/2,0,2*pi)hold offezsurf('cos(t)','-1+sin(t)','z',0,2*pi,0,2);axis equal; hold onezsurf('2*sin(s)*cos(t)','2*sin(s)*sin(t)','2*cos(s)',0,pi/2,0,2*pi)hold off<viviani> h1=ezsurf
16、('1+cos(t)','sin(t)','u',0,2*pi,0,2);hold on; axis equal; axis(-2,2,-2,2,0,2);axis off;h2=ezsurf('2*sin(s)*cos(t)','2*sin(s)*sin(t)','2*cos(s)',0,pi/2,0,2*pi);hold offview(130,10)light('position',2,1,2);lighting phongshading interp; camlight(-2
17、20,-170)set(h2,'facecolor',0,0.8,0)set(h1,'facecolor',1,0,0)(4)ezmesh('3*cos(t)+u*cos(t/2)','3*sin(t)','u*sin(t/2)',0,2*pi,-1,1);axis(-4 4 -4 4 -3 3) % 單側曲面(如Mobius曲面)hold on t=linspace(0,2*pi,60);x=3*cos(t)+cos(t/2);y=3*sin(t);z=sin(t/2);x1=3*cos(t)-cos(t/2);
18、y1=3*sin(t);z1=-sin(t/2);plot3(x,y,z,'k','linewidth',3)plot3(x1,y1,z1,'k','linewidth',3)hold off ezplot3('3*cos(t)+cos(t/2)','3*sin(t)','sin(t/2)',0,2*pi);hold onezplot3('3*cos(t)-cos(t/2)','3*sin(t)','-sin(t/2)',0,2*pi)
19、第三講:符號演算符號演算: 1、定義符號變量 syms a b c x y2、極限 limit(f,x,0)3、導數、偏導數 diff(f,x,n)4、不定積分、定積分 int(f,x) int(f,a,b)5、級數展開 taylor(f,n,x,x0)6、求和 symsum(f,k,1,n)7、方程求根 x=solve(f)8、微分方程求解 dsolve(eqn,x)9、代入 subs(f,x,a)10、化簡 simplify simple11、優美格式 pretty(f)12、顯示數據 vpa(x,n)練習三:符號運算用MATLAB符號運算做下列各題1、 求極限 ,2、 求和 ,3、 求導
20、數并化簡、求偏導數 4、 求不定積分 ,5、 求定積分 ,含參積分6、 試求正弦函數的次麥克勞林展開式,在同一幅圖上畫出正弦函 數以及它的次麥克勞林多項式的圖像,觀察逼近情況。7、 試求方程或方程組的解:(1) ; (2) 8、 試解常微分方程:(1) (2) (3),是的函數。參考解答:syms x y a b h k n;1、L=limit(log(x+h)-log(x)/h,h,0)L = 1/xM =limit(1-a/n)n,n,inf)M = exp(-a)P = limit(diff(exp(1)-(1+x)(1/x),x,0)P = 1/2*exp(1)2、symsum(k2,
21、k,1,n)ans = 1/3*(n+1)3-1/2*(n+1)2+1/6*n+1/6symsum(1/k2,k,1,inf)ans = 1/6*pi2symsum(xn/n/(n-1),n,2,inf)ans = -(x-1)*log(1-x)+x3、y=log(x+sqrt(a2+x2); simplify(diff(y,5)ans = 3*(8*x4-24*x2*a2+3*a4)/(a2+x2)(9/2)w=sin(x2*y*z); dw=diff(w,x,2); ddw=diff(dw,y); subs(ddw,x,y,z,1,1,3)ans = 88.27844、I=int(x2+1
22、)/(x2-2*x+2)2,x)I = 1/4*(2*x-6)/(x2-2*x+2)+3/2*atan(x-1)J=int(1/x/(sqrt(a+log(x)+sqrt(b+log(x),x)J = 2/3/(b-a)*(b+log(x)(3/2)-2/3/(b-a)*(a+log(x)(3/2)5、I= int(exp(-x2),'x',0,+inf)I = 1/2*pi(1/2)K=int(x-y)3*sin(x+2*y),'y',-x,x)K = 3/8*sin(3*x)+4*x3*cos(x)-3*x2*sin(x)-3/2*cos(x)*x+3/8*
23、sin(x)K=int(x-y)3*sin(x+2*y),'y',0,x)K = (x-log(x+(a2+x2)(1/2)3*sin(x+2*log(x+(a2+x2)(1/2)*x6、y=sin(x)p3=taylor(y,3), p5=taylor(y,5)%p3=x %p5 = x-1/6*x3p7=taylor(y,7), p9=taylor(y,9)%p7= x-1/6*x3+1/120*x5 %p9 = x-1/6*x3+1/120*x5-1/5040*x7p11=taylor(y,11)%p11 = x-1/6*x3+1/120*x5-1/5040*x7+1/3
24、62880*x9ezplot(y);axis(-6,6,-6,6);hold on;x=-1:0.02:5;y=sin(x);y3=subs(p3,'x',x);y5=subs(p5,'x',x);y7=subs(p7,'x',x);y9=subs(p9,'x',x);y11=subs(p11,'x',x);plot(x,y,x,y3,x,y5,x,y7,x,y9,x,y11);axis(-1,5,-10,10);hold onplot(-1,5,0,0,'k',0,0,-14,14,'k&
25、#39;)legend('sin(x)','n=3','n=5','n=7','n=9','n=11',2)7、(1) x=solve('4*x3-2*x2-3*x+1')x = 1 1/4*5(1/2)-1/4 -1/4-1/4*5(1/2) vpa(x,8)= 1 .30901700 -.80901700(2) u,v=solve('u2+v2=2*p*q','u-v=p+q') u = 1/2*q+1/2*p+1/2*i*(p-q) 1/2*q+
26、1/2*p-1/2*i*(p-q) v = -1/2*q-1/2*p+1/2*i*(p-q) -1/2*q-1/2*p-1/2*i*(p-q)8、(1) x=dsolve('Dx = x + sin(t)', 'x(pi/2) = 0')x = -1/2*cos(t)-1/2*sin(t)+1/2*exp(t)/(cosh(pi)+sinh(pi)(1/2)(2) y=dsolve('D2y = -a2*y', 'y(0) = 1', 'Dy(pi/a) = 0')y = cos(a*t)(3) s=dsolve(
27、'Dx = y', 'Dy = -x', 'x(0)=0', 'y(0)=1')s.x = sin(t)s.y = cos(t)更好:x,y=dsolve('Dx = y', 'Dy = -x', 'x(0)=0', 'y(0)=1')第四講:簡單編程一、M文件 腳本文件 語句(命令)匯集,不調用參數 函數文件 調用參數function z=wang1(x,y) z=x.3+y.3-3*x.*y二、定義函數 1內聯函數:fun=inline(x.2.*sin(x*y)
28、,x,y) 簡單2匿名函數:fun=(x,y) x.2.*sin(x*y) 可以帶參數3M文件:function z=fun(x,y) 功能多 z= x.2.*sin(x*y)三、編程初步:三種結構(1) 順序結構(2) 循環結構 for k=array commands end while expression commands 循環變量變化end (3) 分支結構 if expression commands else commands end課堂練習:編程1、生成以下矩陣(1) A=1:10;for k=2:10 A(k,:)=A(k-1,:)+1;A(k,12-k)=1;end(2)
29、A=2:11for k=2:10 A(k,:)=A(k-1,:)+1;endformat rat; A=1./A 2、“3N問題”猜想:對于任意大于1的正整數,若為偶數,則除以2,若為奇數,則乘以3再加1。將所得的數作同樣處理,結果一定會出現1。請針對編寫程序驗證“3N問題”猜想。n=input('n= ')x=n;while n>1 if mod(n,2)=0 n=n/2; else n=3*n+1; end x=x,n;endx3 使用二分法求方程在(1, 2)中的根解 輸入f=inline('x3-2*x-1','x')a=1;b=2
30、;e=1;while e>1e-6 c=(a+b)/2; if f(a)*f(c)<0 b=c; elseif f(a)*f(c)>0 a=c; else a=c;b=c; end e=b-a;endx=(a+b)/2結果 x =1.6180練習四 編程練習1、 設, 稱由此生成的序列為斐波那契序列。試編程自動生成斐波那契序列直到,并驗證斐波那契序列的如下性質:(1) ;(2) (3) (4) 注:可以利用累積求和命令cumsum以及數組運算a.x , x可以是向量。2、 現行的個人收入調節稅是這樣規定的:月收入不足2000元的免稅;月收入達到和超過2000元的按累進稅制納稅
31、:其中0500元部分按5繳稅,5002000部分按10繳稅,20005000按15繳稅,500020000按20繳稅。例如,某人月收入2200元,他應繳稅500×51500×10200×152515030205(元)請編寫一個程序,輸入月收入就能輸出應繳稅金額。3、若一個三位整數各位數字的立方和等于該數本身,則稱該數為水仙花數。編程找出全部水仙花數。4、是求滿足的最大的數n。解答:1、 Fibonacci Numbersf=1 2;for k=3:20f(k)=f(k-2)+f(k-1);endf(1) y=cumsum(f)+1;c=;for k=1:18c=c
32、,y(k)-f(k+2)+1;endc(2) f1=f(1:2:20);y1=cumsum(f1);c=;for k=1:10 c=c,y1(k)-f(2*k)+1;endc(3) f2=f.*f; y2=cumsum(f2)+1; c=;for k=1:19c=c,y2(k)-f(k)*f(k+1);endc(4) a=(1+sqrt(5)/2;b=(1-sqrt(5)/2; n=1:20;f3=(a.(n+1)-b.(n+1)/sqrt(5);f3-ff4=sym(a.(n+1)-b.(n+1)/sqrt(5);f4-f2、Tax(1) x=input('income=')
33、y=0.*(x<2000)+(175+0.15*(x-2000).*(x>=2000 & x<5000)+(620+0.2*(x-5000).*(x>=5000)(2) x=input('income=')if x<2000 y=0elseif x>=2000 & x<5000 y=175+0.15*(x-2000)elseif x>=5000 % & x<=20000 y=620+0.2*(x-5000)end(3) x=input('income=')c=floor(x/1000)
34、;switch c case 0 1 y=0; case 2 3 4 y=175+0.15*(x-2000) otherwise y=620+0.2*(x-5000)end3、題:所謂“水仙花數”是這樣一個三位正整數:它的各位數字的立方和恰好等于這個數。試求全部水仙花數。解for k=100:999 k1=floor(k/100); % 求k的百位數字 k2=floor(k-100*k1)/10); % 求k的十位數字 k3=k-100*k1-10*k2; % 求k的個位數字 if k=k13+k23+k33 disp(k) endend % 153 370 371 407% 求全部水仙花數s
35、=;for a=1:9 for b=0:9 for c=0:9 if a3+b3+c3=100*a+10*b+c s=s,100*a+10*b+c; end end endends4、k=1;s=1;while s<10k=k+1;s=s+1/k;endn=k-1 % n=123665、試求直線,它把由曲線和軸0, pi區間所圍的封閉圖形一分為二。解 輸入a=0; b=pi; e=1; s=quad('x.*sin(x)',0,pi)while e>1e-4 c=(a+b)/2; s1=quad('x.*sin(x)',0,c);if s1<s
36、/2 a=c; else b=c; end; e=abs(s1-s/2);endc=(a+b)/2fplot('x*sin(x)',0,pi);hold onplot(c,c,0,c*sin(c), 'r ');hold off第五講:數值計算一、方程(組)求根1用MATLAB命令roots(P) p=1 0 -3 2 只能求多項式函數零點x,f,h=fzero(fun,x0) 一元函數且在左右異號x,f,h=fsolve(fun,x0) 可以解多元方程組之根例1 求方程 sin(4x)=ln(x)的大于1的根。解 fplot('sin(4*x)-log
37、(x)',1,3); grid on;x=fzero('sin(4*x)-log(x)',1,2); % 1.7129x=fsolve('sin(4*x)-log(x)',2); % 2.1400例2 求方程組x2-y3=0, exp(-x)-y=0的解解 ezplot('x2-y3'); hold on; ezplot('exp(-x)-y'); f=inline('x(1)2-x(2)3,exp(-x(1)-x(2)','x') x,val,h=fsolve(f,1,1); % x=0.
38、4839 0.61642編程求解二分法:牛頓迭代: x(k+1)=x(k)-f(x(k)/f'(x(k)二、求極值1數組元素的最大最小max(X) min(X) 若X是矩陣,則按列分別求最大最小2一元函數區間內最小值 x, fval, h = fminbnd( fun, x1, x2 )例 計算下面函數在區間(0, 1)內的最小值。 解 x, fval, h = fminbnd( '(x3+cos(x)+x*log(x)/exp(x)', 0, 1)x = 0.5223fval = 0.39743多元函數在x0附近最小值x, fval, h = fminsearch(f
39、un, x0)x, fval, h=fminunc(fun, x0)例 求的最小值點和最小值解:x,fval=fminsearch('2*x(1)3+4*x(1)*x(2)3-10*x(1)*x(2)+x(2)2',0,0)結果:x = 1.0016 0.8335 fval= -3.3241或在MATLAB編輯器中建立函數文件function f=myfun(x)f=2*x(1)3+4*x(1)*x(2)3-10*x(1)*x(2)+x(2)2; x=fminsearch( 'myfun', 0, 0 ) 或 x=fminsearch( myfun, 0, 0
40、)三、數值積分1用MATLAB命令trapz(x,y) 梯形法quad('fun',a,b) 辛普生法quadl('fun',a,b) Newton-Cotes法dblquad(fun,a,b,c,d) 二重積分例 求 y=x*sin(x)與x軸0, pi圍成封閉圖形面積。解 x=linspace(0,pi,100); y=x.*sin(x); s1=trapz(x,y) s2=quad('x.*sin(x)',0,pi)s3=quadl('x.*sin(x)',0,pi)精確解 syms x; s=int(x*sin(x),0,
41、pi) 結果:s=pi2編程求解Tn=h*(y(1)+2*sum(y(2:n-1)+y(n)/2Sn=h*(y(1)+4*sum(y(2:2:n-1)+2*sum(y(3:2:n-2)+y(n)/3 四、微分方程數值解 t,x=ode23(fun,tspan, x0)t,x=ode45(fun,tspan, x0)例1 求解微分方程初值問題 符號解:y=dsolve('Dy=y-2*x/y/y','y(0)=1','x') % y = 1/3*(18+54*x+9*exp(3*x)(1/3)ezplot(y);hold on;數值解:f =inl
42、ine('y-2*x/y/y','x','y')x,y=ode45(f,0:0.2:6,1);plot(x,y,'ro-');hold off;例2 求解微分方程初值問題符號解: y=dsolve('D2y-2*Dy-3*y+5*sin(x)','y(0)=0','Dy(0)=1','x') % y = 1/8*exp(3*x)+3/8*exp(-x)-1/2*cos(x)+sin(x) ezplot(y,0,2); hold on 或 fplot(char(y),0
43、,2); hold on數值解 ff=(x,y) y(2);2*y(2)+3*y(1)-5*sin(x) x,y=ode45(ff, 0:0.2:2, 0;1); plot(x,y(:,1),'ro'); hold off 或 function f=weifen(x,y)f=y(2);2*y(2)+3*y(1)-5*sin(x);x,y=ode45(weifen 0:0.2:2, 0;1); plot(x,y(:,1),'ro'); hold off練習五 數值計算1、 (1) 求方程 的全部實根。(2) 求方程在中的根.(3) 畫出兩個橢圓的圖形,并求它們所有
44、的交點坐標: 2、 (1) 求函數 在區間 中的所有極值。(2) 求函數在區域中所有的極值。(3) 求函數在圓周上的最值。3、 (1) 用trapz和quad命令求積分 和。(2) 試用Simpson法(見教材P33)編程求解(1)中積分(?。?。(3) 求二重積分。4、(1) 求微分方程的解析解;(2) 求該方程的數值解,取步長; (3) 在同一幅圖中用藍線畫出解析解,用紅圈畫出解析解。*5、(綜合思考題)曲線在區間上與軸圍成封閉圖形。 (1) 求直線,它把圖形一分為二,(2) 求直線,它把圖形一分為二。解答:1(1)roots(4 -2 -3 1)ans = -0.8090 1.0000 0
45、.3090(2)fplot('x4-2x',-2,2);grid onfzero('x4-2x',-2,0)ans = -0.8613fzero('x4-2x',0,2)ans = 1.2396fsolve('x4-2x',-1)ans = -0.8613fsolve('x4-2x',1)ans = 1.2396(3)ezplot('(x-2)2+(y+2*x-3)2-5');grid on;hold onezpflot('18*(x-3)2+y2-36');hold off=inl
46、ine('(x(1)-2)2+(x(2)+2*x(1)-3)2-5,18*(x(1)-3)2+x(2)2-36','x')x=fsolve(f,1.8 -3)x= 1.7362 -2.6929x=fsolve(f,1.8 2)x= 1.6581 1.8936x=fsolve(f,3 -5)x= 3.4829 -5.6394x=fsolve(f,4 -4)x= 4.0287 -4.11712(1)fplot('x2*sin(x2-x-2',-2,2);grid onf=inline('x2*sin(x2-x-2)','x
47、39;)x,val,h=fminbnd(f,-1,-0.5)x = -0.7315 val = -0.3582 h = 1x,val,h=fminbnd(f,1.5,1.8)x = 1.5951 val = -2.2080 h = 1g=inline('-x2*sin(x2-x-2)','x')x,val,h=fminsearch(g,-1.5)x = -1.5326 val = -2.2364 h = 1x,val,h=fminsearch(g,0)x = 0 val = 0 h = 1(2)ezmesh('y3/9+3*x2*y+9*x2+y2+x*
48、y+9')ff=inline('x(2)3/9+3*x(1)2*x(2)+9*x(1)2+x(2)2+x(1)*x(2)+9','x')x,val,h=fminsearch(ff,0,0)x = 0 0 val = 9 h = 1x = -0.3333 -6.0000 val = -22.0000 h = 1(3) 3(1)x=0:0.01:1;y=exp(-x.*x/2)/sqrt(2*pi);s1=trapz(x,y)s1 = 0.3413 0.34134272963912s2=quad('exp(-x.*x/2)/sqrt(2*pi)
49、9;,0,1)s2 = 0.3413 0.34134474240660y=tan(x)./sqrt(x);y(1)=0;s3=trapz(x,y)s3 = 0.7966 0.79664305941292s4=quad('tan(x)./sqrt(x)',0,1)s4 = 0.7968 0.79682074966724(2)x=linspace(0,1,13);y=exp(-x.*x/2)/sqrt(2*pi);h=1/12;s=h*(y(1)+4*sum(y(2:2:12)+2*sum(y(3:2:11)+y(13)/3s = 0.3413 0.34134487604770(3
50、)vpa(int(int(sqrt(1+r.*r.*sin(t),r,0,1),t,0,2*pi) ?dblquad('sqrt(1+r.*r.*sin(t)',0,1,0,2*pi)ans = 6.187895894019254y=dsolve('Dy=x+y','y(0)=1','x')y = -x-1+2*exp(x)ezplot(y,0,1);hold onfun=inline('x+y','x','y')x,y=ode45(fun,0:0.1:1,1) 0 1.0000 0
51、.1000 1.1103 0.2000 1.2428 0.3000 1.3997 0.4000 1.5836 0.5000 1.7974 0.6000 2.0442 0.7000 2.3275 0.8000 2.6511 0.9000 3.0192 1.0000 3.4366plot(x,y,'ro')五、插值yi = interp1(x,y,xi, method) % 用指定的算法計算插值linear:分段線性插值(缺省方式)cubic:分段三次Hermite插值spline:三次樣條函數插值yi=spline(x,y,xi) 三次樣條函數插值pp=spline(x,y) 三
52、次樣條插值函數 pp=csape(x,y,cond,values) 三次樣條插值 not-a-knot非紐結條件 complete一階條件 second 二階條件 variational 自然條件 periodic 周期條件yi=ppval(pp,xi) 三次樣條插值函數值六、擬合 p=polyfit(x,y,k) k次多項式擬合,p為降冪排列的多項式系數 yi=polyval(p,xi) 求插值函數在點xi除的值yic= lsqcurvefit(fun, c0, x, y) 最小二乘曲線擬合(數據外部輸入)c= lsqnonlin(fun, c0) 最小二乘曲線擬合(數據內部輸入)例1 “龍格現象” clffplot('exp(-x2)',-4,4);hold onx=-4:
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 淀粉在化妝品的滑石粉替代應用考核試卷
- 稀有金屬在量子計算領域的應用考核試卷
- 歐陽修的春秋筆法宋代士大夫如何改寫唐史
- 2025年租房經營民宿的合同范本
- 2025年度品牌推廣服務合同
- 2025授權代建合同示范文本
- 2025房產交易居間合同范本
- 《2025年終止服務合同范本》
- 隧道工程-橋梁及結構工程施工圖設計說明
- 蘇教版九年級下冊數學(全冊知識點考點梳理、重點題型分類鞏固練習)(提高版)(家教、補習、復習用)
- 中藥飲片出庫單
- 國開2023春《語言學概論》形考任務1-3+大作業參考答案
- 宿舍樓施工方案方案
- 甲醇-水精餾塔
- 中國話劇史專題知識
- GB/T 15544.1-2023三相交流系統短路電流計算第1部分:電流計算
- GB/T 90.3-2010緊固件質量保證體系
- GB/T 18799-2020家用和類似用途電熨斗性能測試方法
- 科技公司涉密計算機軟件安裝審批表
- GA/T 1369-2016人員密集場所消防安全評估導則
- GA 1517-2018金銀珠寶營業場所安全防范要求
評論
0/150
提交評論