




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第一章第一章Matlab編程基礎編程基礎1.1 常量,變量和數據類型常量,變量和數據類型1.2 數據的輸出與輸入數據的輸出與輸入1.3 函數和過程函數和過程1.4 程序流程控制程序流程控制1.5 圖形與可視化圖形與可視化1.1 常量,變量和數據類型常量,變量和數據類型一一 變量變量 不用定義,分為局部和全局變量不用定義,分為局部和全局變量(用用global定義定義)二二 數組(數組(array) MATLAB所用處理變量,都是以數組方式存儲:包所用處理變量,都是以數組方式存儲:包括標量(括標量(scalar),向量(,向量(vector),矩陣(),矩陣(matrix),),字符串(字符串(s
2、tring),單元數組,單元數組(cell array),結構體,結構體(structure),對象(,對象(object)。三三 數組的存儲方式數組的存儲方式 按列方式存儲按列方式存儲1.1 常量,變量和數據類型常量,變量和數據類型例例1-1a=house;floor;porcha= house floor porch注意:注意: 字符串長度相同; 英文狀態(tài)下輸入。多維數組,邏輯數組,空數組多維數組,邏輯數組,空數組向量,矩陣和多維數組向量,矩陣和多維數組 標量:單一值表征的量;標量:單一值表征的量; 向量:由標量的一組有序集合表示的量;向量:由標量的一組有序集合表示的量; 數組:是元素的一
3、維或多維排列,包含一維數數組:是元素的一維或多維排列,包含一維數 組組x(i), 二維數組二維數組 x(i,j) 和多維數組和多維數組x(I,j,k,)1.1 常量,變量和數據類型常量,變量和數據類型1.1 常量,變量和數據類型常量,變量和數據類型向量與矩陣的操作:向量與矩陣的操作:(1)元素操作)元素操作 對于對于 t=1 3 5; 2 4 6的矩陣的矩陣 t(2,1) %顯示一個元素顯示一個元素 t(2,1)=7 %替換一個元素替換一個元素 (2) 形成新矩陣形成新矩陣 t1=t;t (3)矩陣的轉陣用(矩陣的轉陣用() (4)行列操作)行列操作 p1=t1(:, 2) %全部第二列的元素
4、全部第二列的元素 p2=t1(3,:) % 全部第三行元素全部第三行元素定義數組的常用命令定義數組的常用命令rand rand % % 產生元素為均勻分布的隨機數數組產生元素為均勻分布的隨機數數組randn randn % % 產生元素為正態(tài)分布的隨機數數組產生元素為正態(tài)分布的隨機數數組eye eye % % 產生二維對角元為產生二維對角元為1 1,其余為,其余為0 0的數組的數組onesones % % 產生元素全為產生元素全為1 1的數組的數組zeroszeros % % 產生元素全為產生元素全為0 0的數組的數組diagdiag % % 產生二維對角數組產生二維對角數組magicmagi
5、c % % 產生二維魔方數組產生二維魔方數組meshgridmeshgrid % % 產生平面的網格點數據產生平面的網格點數據1.1 常量,變量和數據類型常量,變量和數據類型二維數組的信息獲取二維數組的信息獲取lengthlength % % 矩陣最長維數的長度矩陣最長維數的長度ndimsndims % % 矩陣的維數矩陣的維數numelnumel % % 元素的個數元素的個數sizesize % % 每一維的長度每一維的長度例例1-21-2 A = rand(3,5) A = rand(3,5) a = length(A) a = length(A) b = ndims(A) b = ndi
6、ms(A) c = numel(A) c = numel(A) m,n = size(A) m,n = size(A)1.1 常量,變量和數據類型常量,變量和數據類型 四四 數據的類型數據的類型 字符型和字符竄字符型和字符竄 數值型數值型 整型,包括整型,包括8位,位,16位以及位以及32位。位。 單單/雙精度浮點型以及雙精度復數矩陣雙精度浮點型以及雙精度復數矩陣 雙精度復數矩單元數組雙精度復數矩單元數組 函數句柄函數句柄陣,表示位陣,表示位m*n數組數組 可以用來保存函數的所有信息,以便調用可以用來保存函數的所有信息,以便調用1.1常量,變量和數據類型常量,變量和數據類型1.2 數據的輸出與
7、輸入數據的輸出與輸入一一 數據的輸出數據的輸出 Save 命令:可以將工作環(huán)境的幾個或全部變量保存命令:可以將工作環(huán)境的幾個或全部變量保存到文件中。到文件中。例例 : a=1,2 b=3 4 5 c=-10 6 8 save file1 為了便于讀取,可以將文件存為文本文件(為了便于讀取,可以將文件存為文本文件(”.txt”)Save file4.txt ascii (注意,有空格注意,有空格)savefile = test.mat;p = rand(1,10);q = ones(10);save(savefile,p,q)1.2 數據的輸出與輸入數據的輸出與輸入Save 命令命令 格式格式
8、用 fprintf 函數 可以按格式將數據輸出至屏幕或寫格式化數據到文件中。x=35; y=68.3; string = results:; fprintf(t%stx = %5d,ty = %8.2f, string,x,y)用用Disp()函數將結果輸到屏幕上()函數將結果輸到屏幕上1.2 數據的輸出與輸入數據的輸出與輸入1.2 數據的輸出與輸入數據的輸出與輸入數據的輸入數據的輸入 利用利用M文件產生數據文件產生數據 用用Load命令從命令從Mat文件或文本文件直接讀入文件或文本文件直接讀入 clear load file1 whos用用fscanf 函數函數用提示輸入函數用提示輸入函數i
9、nputt=input(vector of temperature (0C)=)數據型文件的輸入以及輸出數據型文件的輸入以及輸出 (ME_1_1.m)data1=load(6-0.txt);data2=load(6-3.txt); % facbriateing the time seriers points datat=linspace(0,10,20000); plot(datat, data1) figure plot(datat, data2) fid=fopen(10-1-3.txt,w) fprintf(fid,%6.2fn,data1(:) status=fclose(fid);
10、fid=fopen(10-1-4.txt,w) fprintf(fid,%6.2fn,data2(:) status=fclose(fid); 1.2 數據的輸出與輸入數據的輸出與輸入1.3 邏輯判斷及流程控制邏輯判斷及流程控制 a= 2+2=4a=(2+2=4)a=(34)a=(43)a=(3=4)a=(43)a=(34)等于等于a = 1a = 1小于小于a = 1 a = 0小于等于小于等于a = 1a = 0大于大于a =1a =0a=(4=3)a=(3=4)a=(3=4)A=magic(6)rem(A,3)p=(rem(A, 3)=0)lp=find (p) 大于等于大于等于a=1a
11、=0不等于不等于a=1魔方矩陣,每行、每列、對角線的元素之和魔方矩陣,每行、每列、對角線的元素之和=(n3+n)/2A整除整除3,求余數,求余數余數為余數為0,是真,即整除,是真,即整除找出找出p矩陣中不為零元素的序號,矩陣元素是按列排序號的。矩陣中不為零元素的序號,矩陣元素是按列排序號的。1. 關系運算關系運算A=magic(6)A =35 1 6 26 19 24 3 32 7 21 23 25 31 9 2 22 27 20 8 28 33 17 10 15 30 5 34 12 14 16 4 36 29 13 18 11rem(A,3)ans = 2 1 0 2 1 0 0 2 1
12、0 2 1 1 0 2 1 0 2 2 1 0 2 1 0 0 2 1 0 2 1 1 0 2 1 0 2p=(rem(A, 3)=0)p =0 0 1 0 0 1 1 0 0 1 0 0 0 1 0 0 1 0 0 0 1 0 0 1 1 0 0 1 0 0 0 1 0 0 1 0lp=find (p) lp=2 5 9 12 13 16 20 23 27 30 31 341.3 邏輯判斷及流程控制邏輯判斷及流程控制 矩陣元素的序號排法:矩陣元素的序號排法: nm陣中下標為陣中下標為(j,k)的元素序號為的元素序號為 l=(k-1)*n+j1.3 邏輯判斷及流程控制邏輯判斷及流程控制 數數學
13、學及及邏邏輯輯運運算算符符號號 邏邏輯輯字字符符檢檢查查 位位運運算算 集集合合運運算算 1.3 邏輯判斷及流程控制邏輯判斷及流程控制 (1)if語句語句if (表達式表達式) 語句組語句組A,endif (表達式表達式1) 語句組語句組A,else 語句組語句組B,endif (表達式表達式1) 語句組語句組A,elseif (表達式表達式2) 語句組語句組B,else 語句組語句組C,end1.4 流程控制語句流程控制語句 n=input( n=), if rem(n, 2)=0 a=even, else a=odd, end n = 7 a =odd; n = 8 a =even n =
14、 a =odd n=input( n=), if isempty(n)=1 a=empty, elseif rem(n,2)=0 a=even, else a=odd, end n = a =empty 輸入數輸入數n,判斷奇偶性。如果用戶沒有鍵,判斷奇偶性。如果用戶沒有鍵入數就回車,程序會判斷為入數就回車,程序會判斷為odd。 修改為用戶無輸入時程序自動中止。修改為用戶無輸入時程序自動中止。1.4 流程控制語句流程控制語句(2)while語句語句while (表達式表達式) 語句組語句組A,endy=1; while 1+y1, y1=y y=y/2; end, y1 y1 =2.2204e
15、-016求求MATLAB相對精度,相對精度,y不斷減小,直至不斷減小,直至MATLAB分不出分不出1+y與與1的差別為止。的差別為止。 1.4 流程控制語句流程控制語句(3) for語句語句for k= 初值:增量:終值初值:增量:終值 語句組語句組A,end將語句組將語句組A反復執(zhí)行反復執(zhí)行N次,每次執(zhí)行時程序中的次,每次執(zhí)行時程序中的k值不同。值不同。N=1+(終值(終值-初值)初值)/增量增量用用for語句求三角函數表語句求三角函數表for x=0: 0.1: pi/4 disp(x, sin(x), cos(x), tan(x), end運行結果運行結果 x sin(x) cos(x)
16、 tan(x) 0 0 1 0 1/10 839/8404 1195/1201 1499/14940 1/5 209/1052 295/301 374/1845 3/10 409/1384 1647/1724 275/889 2/5 368/945 2882/3129 1777/4203 1/2 501/1045 1699/1936 820/1501 3/5 1153/2042 430/521 979/1431 7/10 947/1470 992/1297 486/577 1.4 流程控制語句流程控制語句 列出構成列出構成Hilbert矩陣的程序矩陣的程序 format rat顯示形式是分數近
17、似顯示形式是分數近似 n=input(n=), format rat for i=1:n, for j=1:n, h(i, j)=1/(i+j-1); end, end, hn =5h = 1 1/2 1/3 1/4 1/5 1/2 1/3 1/4 1/5 1/6 1/3 1/4 1/5 1/6 1/7 1/4 1/5 1/6 1/7 1/8 1/5 1/6 1/7 1/8 1/9 增加可讀性增加可讀性format rat, n=input(n=) for i=1:n for j=1:n, h(i, j)=1/(i+j-1); endendh 在在if,for,while與表達式之間留與表達式
18、之間留空格,在表達式與語句組之間必空格,在表達式與語句組之間必須用空格或逗號分隔,必須用逗須用空格或逗號分隔,必須用逗號或分號分隔號或分號分隔end和和else。 break 是中止循環(huán)的命令,在多是中止循環(huán)的命令,在多重循環(huán)中,重循環(huán)中,break只能使程序跳只能使程序跳出包含它的最內部的那個循環(huán)。出包含它的最內部的那個循環(huán)。1.4 流程控制語句流程控制語句(4)switch語句語句switch-case-otherwiseswitch 表達式(標量或字符表達式(標量或字符串)串)case 值值1語句組語句組ACase 值值2語句組語句組B.Otherwise語句組語句組Nend 當表達式的
19、值(或字當表達式的值(或字符串)與某符串)與某case語句中的語句中的值(或字符串)相同時,值(或字符串)相同時,它就執(zhí)行該它就執(zhí)行該case語句后的語句后的語句組,然后跳到終點的語句組,然后跳到終點的end。 case語句可以有語句可以有N-1個,個,如果沒有任何一個如果沒有任何一個case值值能與表達式值相符,則執(zhí)能與表達式值相符,則執(zhí)行行otherwise后面的語句組后面的語句組N。1.4 流程控制語句流程控制語句n=input( n=), switch mod(n,2), case 1, a=奇奇, case 0, a=偶偶, otherwise, a=空空, endn = 5 a =
20、奇奇n=input( n=), switch rem(n,2), case 1, a=奇奇, case 0, a=偶偶, otherwise, a=空空, end n = 8 a =偶偶判斷輸入數判斷輸入數n的奇、偶、空的程序的奇、偶、空的程序mod(x,m)x整除整除m取正余數,取正余數,rem(a,b) a整除整除b,求余數,求余數n= 負數負數 n = -5 a =奇n=-8a =偶1.4 流程控制語句流程控制語句1直角坐標中的兩維曲線直角坐標中的兩維曲線(1)plot(y)-輸入一個數組的情況輸入一個數組的情況(2)Plot(x,y)-輸入兩個數組的情況輸入兩個數組的情況1.5 基本繪
21、圖方法基本繪圖方法2線型、點型和顏色線型、點型和顏色3多條曲線的繪制多條曲線的繪制有四種方法在一張圖上顯示多條曲線有四種方法在一張圖上顯示多條曲線(1)用)用plot(t,y1,y2,)命令命令1.5 基本繪圖方法基本繪圖方法(2)用)用hold命令命令(4)用)用plotyy命令命令 (3)在)在plot后使用多輸入變量后使用多輸入變量1.5 基本繪圖方法基本繪圖方法4. 屏幕控制和其他二維繪圖屏幕控制和其他二維繪圖(1)圖形屏幕控制命令)圖形屏幕控制命令圖形屏幕可以開、關,可以開幾個圖形窗,可以在一個圖形窗圖形屏幕可以開、關,可以開幾個圖形窗,可以在一個圖形窗內華幾幅分圖,每幅分圖可以用不
22、同坐標。內華幾幅分圖,每幅分圖可以用不同坐標。1.5 基本繪圖方法基本繪圖方法通用圖形函數(通用圖形函數(graphics)(h)1.5 基本繪圖方法基本繪圖方法subplot (2,2,1), stem(t,y);title(stem(t,y)subplot (2,2,2), stairs(t,y);title(stairs(t,y)subplot (2,2,3), bar(t,y);title(bar(t,y)subplot (2,2,4), fill(t,y,r);title( fill(t,y,r)1.5 基本繪圖方法基本繪圖方法t=0:.2:2*pi; y=exp(-0.5*t).*
23、sin(5*t+1);subplot(1,1,1)loglogsemilogxsemilogypolar(theta,rho) 取消子圖取消子圖繪出以繪出以log10-log10為坐標刻度的對數圖為坐標刻度的對數圖使用半對數刻度繪圖,使用半對數刻度繪圖,x軸為軸為log10刻度,刻度,y軸為線性刻度。軸為線性刻度。使用半對數刻度繪圖,使用半對數刻度繪圖, y軸為軸為log10刻度,刻度,x軸為線性刻度。軸為線性刻度。極坐標繪圖,角度極坐標繪圖,角度theta為一個坐標,單位是弧度,另一坐為一個坐標,單位是弧度,另一坐標是矢徑標是矢徑rho。 1.5 基本繪圖方法基本繪圖方法二維圖形函數庫二維圖
24、形函數庫1.5 基本繪圖方法基本繪圖方法(4)坐標比例和尺寸的設定)坐標比例和尺寸的設定axis命令命令1.5 基本繪圖方法基本繪圖方法v=axisaxis(equal)axis(square)v = 0 1 0 15. 三維曲線和曲面三維曲線和曲面(1)空間曲線繪制)空間曲線繪制-plot3plot3(x,y,z,s) z=0:0.1:4*pi;x=cos(z);y=sin(z);plot3(x,y,z,r) 繪制空間曲線,繪制空間曲線, s是線型顏色符是線型顏色符 (2)空間曲面的繪制)空間曲面的繪制mesh surf 直線直線-連接相鄰的點構成三維曲面連接相鄰的點構成三維曲面 小平面小平
25、面-連接相鄰的點構成三維曲面連接相鄰的點構成三維曲面 1.5 基本繪圖方法基本繪圖方法sinc(r)=sin(r)/rx=-8:0.5:8; y=x;X=ones(size(y)*x;Y=y*ones(size(x);R=sqrt(X.*X+Y.*Y); z=sin(R)./R;mesh(z),pauseR=sqrt(X.*X+Y.*Y)+eps; z=sin(R)./R;figure(2),mesh(z)R=abs(X)+abs(Y)+eps; z1=sin(R)./R;figure(3), surf(z1) r是是X-Y平面上的向徑,繪制平面上的向徑,繪制sin(r)/r函數的函數的立體圖
26、。立體圖。 X、Y方向各有方向各有33個樣本點,個樣本點,size多維矩陣多維矩陣的各維長度。共建立的各維長度。共建立33*33=1089 個網格個網格點的坐標矩陣點的坐標矩陣X和和Y,形成,形成33*33網格的矩網格的矩陣;陣; R表示數據點到原點的距離。表示數據點到原點的距離。在在R=0(原點)處出現(xiàn)(原點)處出現(xiàn)0/0運算,得運算,得NaN結果。結果。eps浮點數相對精度,消除浮點數相對精度,消除NaN。abs(X)+abs(Y)稱為一范數稱為一范數1.5 基本繪圖方法基本繪圖方法(3)其他三維繪圖命令)其他三維繪圖命令1.5 基本繪圖方法基本繪圖方法 subplot(2,2,1), R
27、=sqrt(X.2+Y.*Y); z=sin(R)./R; meshc(z), pause title( meshc(z),shading flat),shading flatSubplot(2,2,2), R=sqrt(X.2+Y.*Y)+eps; z=sin(R)./R; mesh(z),pausetitle(meshz(z),shading interp),shading interpsubplot(2,2,3), R=abs(X)+abs(Y)+eps; z1=sin(R)./R; surfc(z1),pausetitle(surfc(z1),shading flat),shading
28、 flat, %colormp(gray)subplot(2,2,4), surfc(z1),view(20,0); rotate3dtitle(surfc(z1), view(20,0) 1.5 基本繪圖方法基本繪圖方法6. 特殊圖形和動畫特殊圖形和動畫1.5 基本繪圖方法基本繪圖方法特殊圖形和動畫(特殊圖形和動畫(graphics)(u)1.5 基本繪圖方法基本繪圖方法1.5 基本繪圖方法基本繪圖方法7. 彩色、光照和圖像彩色、光照和圖像作業(yè)作業(yè)二維直角坐標繪圖練習,已知二維直角坐標繪圖練習,已知 t=0:.2:2*pi; y=exp(-0.5*t).*sin(5*t+1);要求:要求:
29、(1)在同一張圖上畫四個小圖,分別采用:)在同一張圖上畫四個小圖,分別采用:stem, stairs, bar, fill; (2) 對圖進行標注,分別采用對圖進行標注,分別采用 title, gtext, legend (3) 對坐標進行設定對坐標進行設定 ME_1_exM文件是文本文件,擴展名文件是文本文件,擴展名*.m。(example.m)可以用任何編可以用任何編輯器來建立,可直接閱讀。輯器來建立,可直接閱讀。MATLAB程序可直接調用程序可直接調用M文件文件并執(zhí)行。并執(zhí)行。M文件分為兩種:一種是主程序,為用戶解決特定的問題編文件分為兩種:一種是主程序,為用戶解決特定的問題編制的;一種
30、是子程序,函數文件,必須由其他制的;一種是子程序,函數文件,必須由其他M文件來調用,文件來調用,函數文件可以遞歸調用(自己調用自己)。函數文件可以遞歸調用(自己調用自己)。MATLAB軟件的軟件的大部分功能是來自其建立的函數集。大部分功能是來自其建立的函數集。1主程序文件主程序文件主程序文件格式特征:主程序文件格式特征: (1)用)用clear 、close all等語句開始,清除原有的變量和圖形。等語句開始,清除原有的變量和圖形。注釋行以注釋行以%號開始,增加可讀性。號開始,增加可讀性。MATLAB不執(zhí)行不執(zhí)行%號后面號后面的任何內容。在鍵入的任何內容。在鍵入“help 文件名文件名example.m”時,屏幕會時,屏幕會顯示以顯示以%號起始的行的內容,注釋可以是漢字的。號起始的行的內容,注釋可以是漢字的。1.6 M文件、文件、M函數及程序調試函數及程序調試(2)程序的主體)程序的主體全局變量:在子程序中和主程序中共用的變量。應在程序的全局變量:在子程序中和主程序中共用的變量。應在程序的起始部分注明。起始部分注明。全局變量語句:全局變量語句:global 變量名變量名1 變量名變量
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 社區(qū)孤獨癥患者關懷的個人方法計劃
- 分配任務與跟進進度的秘書工作計劃
- 品牌資產與市場風險的關聯(lián)研究計劃
- 全面提升團隊績效的年度規(guī)劃計劃
- 強化職能部門之間的配合計劃
- 如何選擇合適的品牌推廣渠道計劃
- 2025年物位儀項目建議書
- 2025年數字貨幣金融項目發(fā)展計劃
- 2025年瀝青試驗儀器項目發(fā)展計劃
- 新員工入職引導及工作流程簡明教程
- 初中心理健康-4.我與我生活的環(huán)境教學課件設計
- 高二數學下學期教學計劃
- 金屬非金屬礦山安全規(guī)程培訓課件(五)
- 文學類作品閱讀練習-2023年中考語文考前專項練習(浙江紹興)(含解析)
- 計劃生育人員信息采集卡
- 證據目錄模板
- 維保收費標準清單(房屋維修物業(yè)用表)
- 建筑消防設施巡查記錄表正式版
- SB/T 10624-2011洗染業(yè)服務經營規(guī)范
- HY/T 083-2005海草床生態(tài)監(jiān)測技術規(guī)程
- 2023年遼寧裝備制造職業(yè)技術學院高職單招(數學)試題庫含答案解析
評論
0/150
提交評論