版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、Matlab6.5使用友好的工作平臺和編程環(huán)境簡單易用的程序語言強大的科學(xué)計算及數(shù)據(jù)處理功能豐富的圖形處理功能應(yīng)用廣泛的模塊集和工具箱模塊化的設(shè)計和系統(tǒng)的仿真實用的程序接口和發(fā)布平臺第1章 Matlab6.5使用方法1Matlab6.5簡介1.1 21世紀的科學(xué)計算語言功能強大 數(shù)值計算、符號運算、圖形可視化語言簡單擴充能力強、可開發(fā)性好 編程容易、效率高1.2 Matlab6.5的新特點開發(fā)環(huán)境 數(shù)值處理程序及數(shù)據(jù)結(jié)構(gòu) 圖形處理用戶圖形界面應(yīng)用程序接口1.3 Matlab網(wǎng)上資源 HYPERLINK HYPERLINK 2Matlab6.5桌面平臺Matlab主窗口命令窗口歷史窗口當(dāng)前目錄窗
2、口發(fā)明說明書窗口工作間管理窗口3Matlab6.5幫助系統(tǒng)聯(lián)機幫助系統(tǒng)選中Help下拉菜單的前四項中任何一項;在命令窗口中執(zhí)行Helpwin、helpdesk、doc;直接按主窗口的?按鈕.命令窗口查詢幫助 help系列-help、help+函數(shù)(類)名、helpwin、helpdesk;lookfor函數(shù);其他幫助命令exist變量檢驗函數(shù);what-目錄中文件列表;who-內(nèi)存變量列表;whos-內(nèi)存變量詳細信息;which-確定文件位置。聯(lián)機演示系統(tǒng)1基本介紹窗口 intro2演示界面help-demosdemo常用命令和技巧1一些通用命令cd 顯示或改變工作目錄dir, ls 顯示目錄
3、文件type 顯示文件內(nèi)容clear 清理內(nèi)存變量clf 清除圖形窗口pack 收集內(nèi)存碎片、擴大內(nèi)存空間clc 清除工作窗echo 工作窗信息顯示開關(guān)hold 圖形保持開關(guān)disp 顯示變量或文字內(nèi)容path 顯示搜索目錄save 保存內(nèi)存變量到指定文件load 加載指定文件的變量diary 日志文件命令quit 退出Matlab! 調(diào)用dos命令2 標點: 多種應(yīng)用功能; 區(qū)分行,取消行顯示等, 區(qū)分列,函數(shù)參數(shù)分隔符等() 指定運算過程中的先后次序等 矩陣定義的標志 用于構(gòu)成單元數(shù)組等. 小數(shù)點及域訪問等 續(xù)行符% 注釋標記= 賦值標記 字符串的標志符等Help 程序(主題)名 help
4、 sinh SINH Hyperbolic sine. SINH(X) is the hyperbolic sine of the elements of X. Overloaded methods help sym/sinh.mlookfor complex顯示who %顯示當(dāng)前工作區(qū)中的所有變量名whos %顯示當(dāng)前工作區(qū)中的所有變量%名,變量的大小,字節(jié)數(shù)和類型。disp(x) %顯示x的內(nèi)容,矩陣或字符串清除clear (變量名)存儲save (文件名)調(diào)出 load (文件名) saveSaving to: matlab.mat loadLoading from: matlab.ma
5、t save temp-將當(dāng)前系統(tǒng)中的所有變量存入temp.mat; save temp x-僅存入x變量到temp.mat; save temp x y z-僅存入x y z變量到temp.mat; load temp-重新從temp.mat中提出變量。搜索path %顯示目前的搜索路徑,可以用File菜單中的Set Path觀察和修改路徑管理what 返回目前目錄下的M,MAT,MEX文件列表dir、 ls 列出目前目錄下的所有文件cd path 改變目前目錄為pathpwd、 cd、 chdir 顯示目前的工作目錄 退出quit第2章 數(shù)值計算功能2.1 Matlab的數(shù)據(jù)類型1. 變量
6、與表達式Matlab命令的通常形式 變量=表達式 A=1,3.0,5.6,sin(2.)A = 1.0000 3.0000 5.6000 0.9093 a=1 3.0 5.6 sin(2.)a = 1.0000 3.0000 5.6000 0.9093 sin(pi/2)/3ans =3333 whos Name Size Bytes Class A 1x4 32 double array a 1x4 32 double array ans 1x1 8 double arrayGrand total is 9 elements using 70 bytes2預(yù)定義變量-常量系統(tǒng)的特殊常量特殊變
7、量 取值pi eps 計算機的最小正數(shù)flops 浮點運算次數(shù)i,j i=j=Inf 無窮大NaN 不定量Realmin 最小的正浮點數(shù) 2(-1022)Realmax 最大的浮點數(shù) 2(1023) z1=3+4iz1 = 3.0000 + 4.0000i z1=3+4jz1 = 3.0000 + 4.0000i3.顯示格式計算以雙精度計算;數(shù)值的有效范圍為10e-30810e308;顯示可以不同的顯示格式顯示;缺省情況為短格式(short)顯示若數(shù)據(jù)為整數(shù),則以整型表示;若為實數(shù),則保留小數(shù)點后4位的浮點數(shù)表示。 x=3.0 2x =2short x=4/3 1.2345e-6x =1.33
8、33 0.0000 format long x=4/3 1.2345e-6x = 1.33333333333333 0.00000123450000 format short e x=4/3 1.2345e-6x =3333e+000 1.2345e-006 format + x=4/3 1.2345e-6x =+shortlonghexbank+short elong eshort eshort glong grational4. 字符串-所有字符串用單引號設(shè)定后輸入或賦值 s=matrix laboratorys =matrix laboratory -字符串的每個字符(包括空格)均為字符
9、數(shù)組的一個元素size(s) %size命令查看字符數(shù)組的維數(shù)ans = 1 17 -字符串和字符數(shù)組(或矩陣)基本上等價 s(3)ans =t s2=matlabs2 =matlab-字符數(shù)組的生成 s3=char(s,y,m,b,o,l,i,c); s3ans =symbolic-字符串和數(shù)組之間的轉(zhuǎn)換A. 字符串轉(zhuǎn)換為數(shù)值代碼 double(s3)ans = 115 121 109 98 111 108 105 99B. 字符數(shù)組轉(zhuǎn)換為字符串 cellstr(s3)ans = s y m b o l i cC. 數(shù)值數(shù)組和字符串之間的轉(zhuǎn)換-num2str 數(shù)字轉(zhuǎn)換為字符串-int2str
10、 整數(shù)轉(zhuǎn)換為字符串-mat2str 矩陣轉(zhuǎn)換為字符串-str2num 轉(zhuǎn)換字符串為數(shù)字-sprintf 將格式數(shù)據(jù)寫為字符串-sscanf 在格式控制下讀字符串 a=1:5; b=num2str(a); a*2ans = 2 4 6 8 10 b*2ans = Columns 1 through 11 98 64 64 100 64 64 102 64 64 104 64 Columns 12 through 13 64 106 str2num(b)*2ans = 2 4 6 8 10D. 字符串操作-strcat 鏈結(jié)串-strvcat 垂直鏈結(jié)串-strcmp 比較串-strncmp 比較
11、串的前n個字符-findstr 在其他串中尋找此串-strjust 證明字符數(shù)組-strmatch 查找可能匹配的字符串-strrep 以其他串代替此串-strtok 尋找串中記號-upper 轉(zhuǎn)換為大寫-lower 轉(zhuǎn)換為小寫-blanks 生成空串-deblank 移去串內(nèi)空串 E. 執(zhí)行字符串-函數(shù)eval實現(xiàn)n=4;t=1/(i+j-1);a=zeros(n);for i=1:nfor j=1:na(i,j)=eval(t);endendaa = 1.0000 0.5000 0.3333 0.2500 0.5000 0.3333 0.2500 0.2000 0.3333 0.2500
12、0.2000 0.1667 0.2500 0.2000 0.1667 0.1429 d=cd; eval(d)C:MATLAB6p1workF. 一些基本數(shù)字轉(zhuǎn)換函數(shù)-hex2num 十六進制轉(zhuǎn)換為雙精度數(shù)-hex2dec 十六進制轉(zhuǎn)換為十進制整數(shù)-dec2hex 十進制整數(shù)轉(zhuǎn)換為十六進制串-bin2dec 二進制轉(zhuǎn)換為十進制整數(shù)-dec2bin 十進制整數(shù)轉(zhuǎn)換為二進制串-base2dec 轉(zhuǎn)換B底字符串為十進制整數(shù)-dec2base 轉(zhuǎn)換十進制整數(shù)為B底串-strings strings函數(shù)的幫助5 矩陣6 單元型變量一種以任意形式的數(shù)組為元素的多維數(shù)組-定義(1)賦值語句直接定義(2)由c
13、ell函數(shù)預(yù)先分配存儲空間,再對單元元素逐個賦值 A=1, 2; 3, 4; B=1:4, A, abcdB = 1x4 double 2x2 double abcd c1,1=1:4; c1,2=A; c1,3=abcd; cc = 1x4 double 2x2 double abcd c2ans = 1 2 3 4 c(2)ans = 2x2 double注:1)單元型變量的元素不是以指針的方式保存。改變其元素原變量矩陣A的值不等于改變變量B的第2個元素的值。2)單元型變量自身可以嵌套。 D=1:4,A,BD = 1x4 double 2x2 double 1x3 cell D33ans
14、=abcd A(1,2)=-10A = 1 -10 3 4 c2ans = 1 2 3 4-單元型變量的相關(guān)函數(shù)-cell 生成單元型變量-cellfun 對單元型變量中元素作用的函數(shù)-celldisp 顯示單元型變量的內(nèi)容-cellplot 圖形顯示單元型的內(nèi)容-num2cell 數(shù)值數(shù)組轉(zhuǎn)換為單元型變量-deal 輸入輸出處理 -cell2struct 單元型變量轉(zhuǎn)換為結(jié)構(gòu)型變量-struct2cell 結(jié)構(gòu)型變量轉(zhuǎn)換為單元型變量-iscell 判斷是否為單元型變量 -reshape 改變單元數(shù)組的結(jié)構(gòu) cellfun(islogical, B)% 其他函數(shù)isreal, isempty,
15、 length, ndims等ans = 0 0 0 celldisp(B)B1 = 1 2 3 4B2 = 1 2 3 4B3 =abcd size(D)ans = 1 3 reshape(D,3,1)ans = 1x4 double 2x2 double 1x3 cell size(ans)ans = 3 17 結(jié)構(gòu)型變量以指針方式傳遞數(shù)據(jù),將不同數(shù)據(jù)類型組合在一起的數(shù)據(jù)類型。-定義(1)賦值語句直接定義,以指針操作符.連接結(jié)構(gòu)變量名和屬性名;(2)由struct函數(shù)定義 結(jié)構(gòu)變量名=struct(元素名1, 元素值1,元素名2, 元素值2, ) A.a1=abcd; A.a2=1; A.
16、a3=1,2,3,4; AA = a1: abcd a2: 1 a3: 1 2 3 4 B=1,2;3,4; A(2).a1=efgh; A(2).a2=2; A(2).a3=B; AA = 1x2 struct array with fields: a1 a2 a3 A(1)ans = a1: abcd a2: 1 a3: 1 2 3 4 A(2)ans = a1: efgh a2: 2 a3: 2x2 double C=struct(c1,1,c2,B, c3,abcd)C = c1: 1 c2: 2x2 double c3: abcd C.c1=AC = c1: 1x2 struct c
17、2: 2x2 double c3: abcd C.c1(1).a1ans =abcd-結(jié)構(gòu)型變量的相關(guān)函數(shù)-struct 創(chuàng)建或轉(zhuǎn)換結(jié)構(gòu)變量-findnames 得到結(jié)構(gòu)型變量的屬性名-getfield 得到結(jié)構(gòu)型變量的屬性值-setfield 設(shè)定結(jié)構(gòu)型變量的屬性值-rmfield 刪除結(jié)構(gòu)型變量的屬性-isfield 判斷是否為結(jié)構(gòu)型變量的屬性 -isstruct 判斷是否為結(jié)構(gòu)型變量 fieldnames(C)ans = c1 c2 c3 iscell(ans)ans = 1 D=getfield(C,c1)D = 1x2 struct array with fields: a1 a2
18、a3 C=setfield(C,c1,2)C = c1: 2 c2: 2x2 double c3: abcd C=rmfield(C,c1)C = c2: 2x2 double c3: abcd isfield(C,c2)ans = 1 isstruct(C)ans = 12.2 矩陣的基本運算I數(shù)和算術(shù)表達式90 0.0001 9.1234 1.6021e-20 5.02252e23數(shù)學(xué)運算符:+ - * / (右除) (左除) II數(shù)學(xué)函數(shù)基本三角函數(shù)sincosseccsctancot反三角函數(shù)asinacosasecacscatanacot雙曲函數(shù)sinhcoshsechcschtan
19、hcoth反雙曲函數(shù)asinhacoshasechacschatanhacoth指數(shù)和對數(shù)explogLog10sqrt復(fù)數(shù)運算absangleconjrealimag數(shù)值函數(shù)fixfloorceilroundrem整數(shù)函數(shù)lcmgcd x=5.1x = 5.1000 fix(x)ans =5 floor(x)ans =5 ceil(x)ans =6 round(x)ans =5 rem(5,3)ans =2 sin(1+2i)ans =+ 1.9596iIII.矩陣及其元素1.矩陣輸入的基本方法 A=1 2 3A = 1 2 3 A=1 2 3;4 5 6;7 8 9A = 1 2 3 4
20、5 6 7 8 9 A=1, 2, 3;4,5,6;7, 8,9A = 1 2 3 4 5 6 7 8 9 A=1, 2, 34,5,67, 8,9A = 1 2 3 4 5 6 7 8 92矩陣元素的存取Matlab的矩陣元素可以為任何數(shù)值表達式。 x=-1.3 sqrt(3) (1+2+3)*4/5x = -1.3000 1.7321 4.8000 A=1+5i 2+6iA = 1.0000 + 5.0000i 2.0000 + 6.0000i A=1 2; 3 4+i*5 6;7 8A = 1.0000 + 5.0000i 2.0000 + 6.0000i 3.0000 + 7.0000
21、i 4.0000 + 8.0000iMatlab的矩陣元素的引用: x=A(1,2)x = 2.0000 + 6.0000iMatlab的矩陣的維數(shù)自動擴充: x=-1.3 sqrt(3) (1+2+3)*4/5x = -1.3000 1.7321 4.8000 x(5)=abs(x(1)x = -1.3000 17321 4.8000 0 1.3000 A=1 2;3 4A = 1 2 3 4 A(3,1)=-1A = 1 2 3 4-1 03.子矩陣的操作大的矩陣可以通過小的矩陣擴充得到: A=A;2 1A = 1 2 3 4 -1 0 2 1 A=A, 1 2 3 4A = 1 2 1
22、3 4 2 -1 0 3 2 1 4小的矩陣可以從大的矩陣抽取得到:A(:)A的所有元素;A(:,J)A的第J列所有元素;A(J:K)A(J),A(J+1),A(K);A(:,J:K)A(:,J),A(:,J+1),A(:,K);A(J,:)A的第J行所有元素;A(J:K,:)A(J,:),A(J+1,:),A(K.:);A = 1 2 1 3 4 2 -1 0 3 2 1 4 y=A(1:3,:)y = 1 2 1 3 4 2 -1 0 3 x=A(:,1:2)x = 1 2 3 4 -1 0 2 1 z=A(1:2,2:3)z = 2 1 4 24. “:”運算符的用法用來產(chǎn)生相同增量的向
23、量的方法: t=1:5t = 1 2 3 4 5 x=pi:-pi/3:0 x = 3.1416 2.0944 1.0472 0 x=(0.0:0.2:1.0);%表示轉(zhuǎn)置 y=sin(x); %計算函數(shù)值 x y %組合出矩陣ans = 0 0 0.2000 0.1987 0.4000 0.3894 0.6000 0.5646 0.8000 0.7174 1.0000 0.84155生成特殊矩陣的函數(shù) rand(1,3)ans = 0.9501 0.2311 0.6068 rand(3)ans = 0.4860 0.4565 0.4447 0.8913 0.0185 0.6154 0.762
24、1 0.8214 0.7919 eye(2,3)ans = 1 0 0 0 1 0 ones(3,2)ans = 1 1 1 1 1 1 randn(3,2) %標準正態(tài)分布ans = -0.4326 0.2877 -1.6656 -1.1465 0.1253 1.1909IV. 矩陣操作1矩陣轉(zhuǎn)置 A=1,2,3;4,5,6A = 1 2 3 4 5 6 B=AB = 1 4 2 5 3 6 C=1+i,-i;2,1-iC = 1.0000 + 1.0000i 0 - 1.0000i 2.0000 1.0000 - 1.0000i D=C %轉(zhuǎn)置共扼D = 1.0000 - 1.0000i
25、2.0000 0 + 1.0000i 1.0000 + 1.0000i2對角矩陣diag函數(shù)用來生成一個對角矩陣或提取一個矩陣的對角元素: diag(2:4)ans = 2 0 0 0 3 0 0 0 4 AA = 1 2 3 4 5 6 diag(A)ans = 1 53上/下三角矩陣 tril(A)ans = 1 0 0 4 5 0 triu(A)ans = 1 2 3 0 5 6 fliplr(A)ans = 3 2 1 6 5 4 flipud(A)ans = 4 5 6 1 2 3V.矩陣運算1加和減 AA = 1 2 3 4 5 6 B=1 4 7;2 5 6B = 1 4 7 2
26、 5 6 C=A+BC = 2 6 10 6 10 12 D=A-1.0D = 0 1 2 3 4 52乘法 AA = 1 2 3 4 5 6 Aans = 1 4 2 5 3 6 A*Aans = 14 32 32 773矩陣除法標量運算時:矩陣運算時:-inv(A)*B;-A*inv(B); A=1 2 3A = 1 2 3 B=1 2 -3; -2 5 6; 7 2 1B = 1 2 -3 -2 5 6 7 2 1 A/Bans = -0.1818 0.3636 0.2727 BAans = 0.2929 0.4444 0.06064. 矩陣乘方 BB = 1 2 -3 -2 5 6 7
27、 2 1 B3ans = 6 -6 114 258 309 150 -98 134 1185數(shù)組運算-向量或矩陣間對應(yīng)元素的運算:.+ .- .* ./ . . x=1 2 3x = 1 2 3 y=4 5 6y = 4 5 6 z=x.*yz = 4 10 18 z1=x.yz1 = 1 32 729 z3=x.2z3 = 1 4 9 z4=2.xz4 = 2 4 8 1 2; 3 4./2 2; 2 2ans = 0.5000 1.0000 1.5000 2.0000 1 2; 3 4.2 2; 2 2ans = 2.0000 1.0000 0.6667 0.5000常見數(shù)值問題介紹線性方
28、程組求解A*x=bA為m*m階矩陣, X和b為m階向量。 A=1,2,3;4,5,6;7,8,0; b=366;804;351; det(A)ans = 27 x=inv(A)*bx = 25.0000 22.0000 99.0000 x=Abx = 25.0000 22.0000 99.0000廣義情況:方程數(shù)與未知量數(shù)目不等時,線性方程組通常不存在唯一解,但最小二乘解x*是存在唯一。 A=1 2 3; 4 5 6; 7 8 0; 2 5 8; b=366 804 351 514; x=Abx = 247.9818 -173.1091 114.9273二、矩陣函數(shù)I.矩陣基本性質(zhì)1)行列式
29、A=rand(3)A = 0.9501 0.4860 0.4565 0.2311 0.8913 0.0185 0.6068 0.7621 0.8214 det(A)ans = 0.42892)秩 rank(A)ans = 33)跡 trace(A)ans = 2.66284)范數(shù) A=1 1 1;0 0 0;1 1 1A = 1 1 1 0 0 0 1 1 1 norm(A) %2-范數(shù)ans = 2.4495 norm(A,inf) % inf-范數(shù)ans = 3 norm(A,1) %1-范數(shù)ans = 2II.特征值計算 A=0 1;-1 0A = 0 1 -1 0 eig(A)ans
30、= 0 + 1.0000i 0 - 1.0000i x,D=eig(A)x = 0.7071 0.7071 0 + 0.7071i 0 - 0.7071iD = 0 + 1.0000i 0 0 0 - 1.0000i-A*X=X*DIII.三角分解 A=1 2 3;4 5 6; 7 8 9A = 1 2 3 4 5 6 7 8 9 L,U=lu(A)L = 0.1429 1.0000 0 0.5714 0.5000 1.0000 1.0000 0 0U = 7.0000 8.0000 9.0000 0 0.8571 1.7143 0 0 0.0000 L*Uans = 1 2 3 4 5 6
31、7 8 9 L,U,P=lu(A)L = 1.0000 0 0 0.1429 1.0000 0 0.5714 0.5000 1.0000U = 7.0000 8.0000 9.0000 0 0.8571 1.7143 0 0 0.0000P = 0 0 1 1 0 0 0 1 0 P*Aans = 7 8 9 1 2 3 4 5 6 L*Uans = 7 8 9 1 2 3 4 5 6IV.正交分解 A=1 2 3; 4 5 6;7 8 9;10 11 12A = 1 2 3 4 5 6 7 8 9 10 11 12 Q,R=qr(A)Q = -0.0776 -0.8331 0.5456 -0
32、.0478 -0.3105 -0.4512 -0.6919 0.4704 -0.5433 -0.0694 -0.2531 -0.7975 -0.7762 0.3124 0.3994 0.3748R = -12.8841 -14.5916 -16.2992 0 -1.0413 -2.0826 0 0 -0.0000 0 0 0 Q*Rans = 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000- QR分解可用來求超定方程的最小二乘解 b=1;3; 5; 7b = 1 3 5
33、 7 x=AbWarning: Rank deficient, rank = 2 tol = 1.4594e-014.x = 0.5000 0 0.1667 y=Q*by = -9.1586 -0.3471 0.0000 -0.0000 x=RyWarning: Rank deficient, rank = 2 tol = 1.4594e-014.x = 0.5000 0 0.1667三、方程求根 p=1 -12 0 25 116p = 1 -12 0 25 116 r=roots(p)r = 11.7473 2.7028 -1.2251 + 1.4672i -1.2251 - 1.4672i
34、已知多項式的根,可用poly構(gòu)造相應(yīng)的多項式: pp=poly(r)pp = 1.0000 -12.0000 -0.0000 25.0000 116.0000四、曲線擬和I.一維插值 h=1:12; t=5 8 9 15 25 29 31 30 22 25 27 24; plot(h,t,h,t,+)interp1插值函數(shù)的格式:Y1=interp1(X,Y,X1,method)X,Y原數(shù)據(jù)點;X1加細的數(shù)據(jù)點,或希望得到插值數(shù)據(jù)的數(shù)據(jù)點;Method-linear, spline, cubic; x1=1:0.2:12; y1=interp1(h,t,x1,spline); plot(h,t
35、,k+,x1,y1,k-)II.曲線擬和設(shè)有一組數(shù)據(jù)點尋找一個多項式n次多項式P*(x): x=0:0.1:1; y=-0.447 1.978 3.28 6.16 7.08 7.34 7.66 9.56 9.48 9.30 11.2; p=polyfit(x,y,2)p = -9.8108 20.1293 -0.0317 xi=linspace(0,1,100); z=polyval(p,xi); plot(x,y,ko,xi,z,r-) p=polyfit(x,y,10); xi=linspace(0,1,100); z=polyval(p,xi); plot(x,y,ko,xi,z,r-)
36、五、數(shù)值積分sum(x)輸入數(shù)組x, 輸出為x的和;cumsum(x)輸入數(shù)組x, 輸出為x的依次累加和;trapz(x)輸入數(shù)組x, 輸出為x按梯形求積公式計算的積分(單位步長);trapz(x,y)輸入數(shù)組x,y, 輸出y對x按梯形求積公式計算的積分(步長可以不相等);quad(fun,a,b)用辛普森公式(2階)計算以fun.m的函數(shù)在(a,b)上的積分,相對誤差為0.001;quad(fun,a,b,tol)用辛普森公式(2階)計算以fun.m的函數(shù)在(a,b)上的積分,相對誤差為tol;quad8(fun,a,b,tol)用辛普森公式(8階)計算以fun.m的函數(shù)在(a,b)上的積分
37、,相對誤差為tol;rand(1,n)產(chǎn)生n個(0,1)的隨機數(shù)。計算積分1)矩形公式和梯形公式:將 h=pi/20; x=0:h:pi/2; y=sin(x); z1=sum(y(1:10)*hz1 = 0.9194 z2=sum(y(2:11)*hz2 = 1.0765 z=cumsum(y); z11=z(10)*hz11 = 0.9194 z12=(z(11)-z(1)*hz12 = 1.0765 z3=trapz(y)*hz3 = 0.99792)辛普森公式 z4=quad(sin,0,pi/2)z4 = 1.00003)蒙特卡羅方法 n=100000; x=rand(1,n); y
38、=sin(x.*pi/2); z=sum(y)*pi/(2*n)z = 1.0005六、數(shù)據(jù)分析max-最大值min-最小值mean-均值media-中值std-標準差sum-元素總和cumsum-累加和prod-元素乘積cumprod-累積corrcoef-互相關(guān)系數(shù)矩陣cov-協(xié)方差矩陣 a= 1 3 5 9 3 2 7 6; mean(a)ans = 4.5000 median(a)ans = 4 std(a)ans = 2.7255 cumsum(a)ans = 1 4 9 18 21 23 30 36 b=1 4 6 8 2 1 5 0; corrcoef(a,b)ans = 1.0
39、000 0.6771 0.6771 1.0000 cov(a,b)ans = 7.4286 5.2143 5.2143 7.9821編程基礎(chǔ)關(guān)系運算和IF語句I. 關(guān)系運算和邏輯操作符關(guān)系運算符 = = =邏輯操作符& | y=all(x)若x 為向量,當(dāng)所有元素非零時y=1,否則y=0;若x 為矩陣,all作用于列元素,y為行向量。y=any(x)若x 為向量,當(dāng)有一個元素非零時y=1,否則y=0;若x 為矩陣,all作用于列元素,y為行向量。 A=1 2; 0 1A = 1 2 0 1 any(A) %any表示矩陣的每一列中%是否有非零元素ans = 1 1 all(A) %all表示矩
40、陣的每一列中%是否全是非零元素ans = 0 1IF語句:1)if end2)if elseend3)if elseif elseif elseend二、for 循環(huán)for =: end for i=1:3for j=1:4a(i,j)=1/(i+j-1);endend format rat aa = 1 1/2 1/3 1/4 1/2 1/3 1/4 1/5 1/3 1/4 1/5 1/6 while語句while end求出滿足1+2+n sum=0;n=0; while sum n=n-1; nn = 13 switch語句switch case value1 case value2 o
41、therwise endM文件:文本文件及函數(shù)文件I.文本文件: .mfibo.m:%An M-file to calculate Fibonnacinumbersf=1 1; i=1;while i15 f(i+2)=f(i)+f(i+1); i=i+1;endplot(f, *k)II.函數(shù)文件M-文件的第一行包含function;變量和運算都在文件內(nèi)部,不在工作間;文件名為函數(shù)名;function =()function a=randint(m,n)%RANDINT Randomly generated integral %matrix%randint(m,n) returns an m
42、-by-n matrix %with entries between 0 and 9a=floor(10*rand(m,n);x=randint(2,3)x= 9 6 8 2 3 5stat.m:function mean,stdev=stat(x)% STAT Mean and standard deviation% For a vector x, stat(x) returns the mean %and standard deviation of x% For a matrix x, stat(x) returns two row %vectors containing, respect
43、ively,% the mean and standard deviation of each %column.m,n=size(x);if m=1 m=n; % handle case of a row vectorendmean=sum(x)/m;stdev=sqrt(sum(x.2)/m-mean.2); x=2 4 -7 0 5 -1; xm,xd=stat(x)xm = 0.5000 xd = 3.9476附錄資料:不需要的可以自行刪除各類濾波器的MATLAB程序理想低通濾波器IA=imread(lena.bmp);f1,f2=freqspace(size(IA),meshgrid)
44、;Hd=ones(size(IA);r=sqrt(f1.2+f2.2);Hd(r0.2)=0;Y=fft2(double(IA);Y=fftshift(Y);Ya=Y.*Hd;Ya=ifftshift(Ya);Ia=ifft2(Ya);figuresubplot(2,2,1),imshow(uint8(IA);subplot(2,2,2),imshow(uint8(Ia);figuresurf(Hd,Facecolor,interp,Edgecolor,none,Facelighting,phong); 二、理想高通濾波器IA=imread(lena.bmp);f1,f2=freqspace(
45、size(IA),meshgrid);Hd=ones(size(IA);r=sqrt(f1.2+f2.2);Hd(r0.2)=0;Y=fft2(double(IA);Y=fftshift(Y);Ya=Y.*Hd;Ya=ifftshift(Ya);Ia=real(ifft2(Ya);figuresubplot(2,2,1),imshow(uint8(IA);subplot(2,2,2),imshow(uint8(Ia);figuresurf(Hd,Facecolor,interp,Edgecolor,none,Facelighting,phong); Butterworth低通濾波器IA=imr
46、ead(lena.bmp);f1,f2=freqspace(size(IA),meshgrid);D=0.3;r=f1.2+f2.2;n=4;for i=1:size(IA,1) for j=1:size(IA,2) t=r(i,j)/(D*D); Hd(i,j)=1/(tn+1); endendY=fft2(double(IA);Y=fftshift(Y);Ya=Y.*Hd;Ya=ifftshift(Ya);Ia=real(ifft2(Ya);figuresubplot(2,2,1),imshow(uint8(IA);subplot(2,2,2),imshow(uint8(Ia);figur
47、esurf(Hd,Facecolor,interp,Edgecolor,none,Facelighting,phong); Butterworth高通濾波器IA=imread(lena.bmp);f1,f2=freqspace(size(IA),meshgrid);D=0.3;r=f1.2+f2.2;n=4;for i=1:size(IA,1) for j=1:size(IA,2) t=(D*D)/r(i,j); Hd(i,j)=1/(tn+1); endendY=fft2(double(IA);Y=fftshift(Y);Ya=Y.*Hd;Ya=ifftshift(Ya);Ia=real(i
48、fft2(Ya);figuresubplot(2,2,1),imshow(uint8(IA);subplot(2,2,2),imshow(uint8(Ia);figuresurf(Hd,Facecolor,interp,Edgecolor,none,Facelighting,phong); 高斯低通濾波器IA=imread(lena.bmp);IB=imread(babarra.bmp);f1,f2=freqspace(size(IA),meshgrid);D=100/size(IA,1);r=f1.2+f2.2;Hd=ones(size(IA);for i=1:size(IA,1) for
49、j=1:size(IA,2) t=r(i,j)/(D*D); Hd(i,j)=exp(-t); endendY=fft2(double(IA);Y=fftshift(Y);Ya=Y.*Hd;Ya=ifftshift(Ya);Ia=real(ifft2(Ya);figuresubplot(2,2,1),imshow(uint8(IA);subplot(2,2,2),imshow(uint8(Ia);figuresurf(Hd,Facecolor,interp,Edgecolor,none,Facelighting,phong); 高斯高通濾波器IA=imread(lena.bmp);IB=imr
50、ead(babarra.bmp);f1,f2=freqspace(size(IA),meshgrid);%D=100/size(IA,1);D=0.3;r=f1.2+f2.2;for i=1:size(IA,1) for j=1:size(IA,2) t=r(i,j)/(D*D); Hd(i,j)=1-exp(-t); endendY=fft2(double(IA);Y=fftshift(Y);Ya=Y.*Hd;Ya=ifftshift(Ya);Ia=real(ifft2(Ya);figuresubplot(2,2,1),imshow(uint8(IA);subplot(2,2,2),imsh
51、ow(uint8(Ia);figuresurf(Hd,Facecolor,interp,Edgecolor,none,Facelighting,phong); 梯形低通濾波器IA=imread(lena.bmp);IB=imread(babarra.bmp);f1,f2=freqspace(size(IA),meshgrid);%D=100/size(IA,1);D0=0.1;D1=0.4;r=sqrt(f1.2+f2.2);Hd=zeros(size(IA);Hd(r=D0 & r(i,j)=D1 Hd(i,j)=(D1-r(i,j)/(D1-D0); end endendY=fft2(do
52、uble(IA);Y=fftshift(Y);Ya=Y.*Hd;Ya=ifftshift(Ya);Ia=real(ifft2(Ya);figuresubplot(2,2,1),imshow(uint8(IA);subplot(2,2,2),imshow(uint8(Ia);figuresurf(Hd,Facecolor,interp,Edgecolor,none,Facelighting,phong); 梯形高通濾波器IA=imread(lena.bmp);IB=imread(babarra.bmp);f1,f2=freqspace(size(IA),meshgrid);%D=100/size(IA,1);D0=0.1;D1=0.4;r=sqrt(f1.2+f2.2);Hd=ones(size(IA);Hd(r=D0 & r(i,j)=D1 Hd(i,j)=(D0
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 化學(xué)初中說課稿
- 好朋友起玩說課稿
- 治療糖尿病周圍神經(jīng)病變
- 臨時行政主管
- 學(xué)校園區(qū)噴泉施工合同
- 精密儀器公司法務(wù)聘用合同
- 體育場館隔離墻安裝合同
- 市政排水工程級配碎石施工合同
- 綠色制造車間環(huán)保操作規(guī)程
- 2022年大學(xué)林業(yè)工程專業(yè)大學(xué)物理下冊期中考試試題B卷-附解析
- 《中風(fēng)的中醫(yī)治療》PPT課件.ppt
- 防火門窗施工方案
- “雙師教學(xué)”在初中數(shù)學(xué)課堂中的應(yīng)用
- 戰(zhàn)略合作簽約儀式教育PPT課程課件
- 土方填筑碾壓試驗報告
- 老舊小區(qū)排水部分雨污水改造監(jiān)理細則
- 2022年地殼運動與變化教案與學(xué)案
- 《建筑起重吊裝工程安全技術(shù)規(guī)程》JGJ276
- 市政道路水穩(wěn)層項目施工合同
- 睿丁英語小紅帽和大灰狼的故事
- 轉(zhuǎn)人教版七年級上期中復(fù)習(xí)教案
評論
0/150
提交評論