《北京科技大學《matlab和數(shù)學實驗》第二次課.ppt》由會員分享,可在線閱讀,更多相關(guān)《北京科技大學《matlab和數(shù)學實驗》第二次課.ppt(30頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、1 數(shù)學實驗 第四章 Matlab 繪圖 2 數(shù)學實驗 Matlab繪圖 二維曲線 空間曲線 空間曲面 3 數(shù)學實驗 一、 Matlab 二 維 曲 線繪圖 1、基本繪圖指令 命令形式 1: plot( y) 功能:畫一條或多條折線圖。 將 ( i,y(i)) 畫出, x 取的是自然數(shù) 4 數(shù)學實驗 命令形式 2: plot( x, y) 功能:畫一條或多條折線圖。 其中, x,y 可以是向量或矩陣 。 說明: 1、當 x,y都是向量時,元素個數(shù)必須相等, plot(x,y) 按順序連接各點 (x(i),y(i))成一
2、 條曲線或折線。 5 數(shù)學實驗 例: x=1 2 3; y=3 2 5; plot(x,y) 6 數(shù)學實驗 說明: 2、當 x為 n維向量 ,y為 n * m矩陣時, plot(x,y) 按向量 x分別與矩陣 y的每一列匹配,畫出 m 條曲線或折線。 例 x= 3 4 7; y=4 5 6 5 4 7 9 5 1 4 2 5; plot (x,y) 7 數(shù)學實驗 思考: 1、當 x為 n維向量, y為 m x n 矩陣時, plot(x,y)怎么畫?
3、 2、當 x為 n維向量, y為 m x w 矩陣時, plot(x,y)怎么畫? 3、當 x為 n維向量, y為 n x n 矩陣時, plot(x,y)怎么畫? 8 數(shù)學實驗 例 1 畫 出 函 數(shù) y = sin x2 在 -5 x 5 的 圖 形。 grid on作用是:在圖形中標出網(wǎng)格線 解 : Matlab 命令 : x=-5:0.1:5; y=sin(x.2); plot(x,y),grid on X=a:h:b; 步長 h可以任意選取, 步長越小,曲線越光滑。 9 數(shù)學實驗 曲線 y=sinx2 -5 -4 -3 -2 -1 0
4、1 2 3 4 5 -1 - 0 . 8 - 0 . 6 - 0 . 4 - 0 . 2 0 0 . 2 0 . 4 0 . 6 0 . 8 1 10 數(shù)學實驗 命令 形式 3 : plot(x1,y1,x2,y2,x3,y3 ) 功能:在同一 圖 形 窗 口 畫 出多 條 曲 線 。 1 1 2 2 3 3( ) , ( ) , ( ) ,y f x y f x y f x 11 數(shù)學實驗 例 2 :在 同一 圖 形窗口 畫 出三 個 函 數(shù) y = cos 2x , y = x2 , y = x的 圖 形 ,自 變 量范 圍為 :-2 x 2 解 Ma
5、tlab命 令 : x=-2:0.1:2; plot(x,cos(2*x),x,x.2,x,x) legend(cos(2x),x2,x) legend作用是:對圖形進行圖例標注 12 數(shù)學實驗 -2 -1 0 1 2 -2 0 2 4 c o s ( 2 x ) x 2 x 例 2的繪圖結(jié)果 13 數(shù)學實驗 2基本 繪圖 控制 參數(shù) 控制分 隔 線 grid grid 在 grid on與 grid off之 間進 行切 換 grid on 在 圖 中使用分隔 線 grid off 在 圖 中消 隱 分隔 線 圖 形的重 疊繪 制
6、 hold hold 在 hold on與 hold off之 間進 行切 換 hold on 保留 當 前 圖 形和 它 的 軸 ,使此后 圖 形 疊 放 在 當 前 圖 形上 hold off 返回 Matlab的缺省 狀態(tài) 。此后 圖 形指令 運 作 將 抹掉 當 前窗中的 舊圖 形,然后 畫 上新 圖 形。 14 數(shù)學實驗 3 線 型、定點 標記 、 顏 色 二 維繪圖 指令 還 提供一 組 控制曲 線線 型、 標記類 型、 顏 色的 開關(guān) 。 該開關(guān)總 跟在一元或二元 對 的后面,具體如下: plot(x,y, String) p
7、lot(x1,y1, String1,x2,y2, String2, ) 其中, string是字符串, 該 字符串由表 4-1、表 4-2表 4-3 ( 見課 本 P44)中的字符 組 成。 15 數(shù)學實驗 例 6 利用 hold指令在同一坐 標 系中 畫 出如下 兩條參數(shù) 曲 線 , 參 數(shù) 曲 線 方程 為 : 1 1 2 2c o s , s i n ; s i n , s i n 2 ;x t y t x t y t t滿足 02t 解 Matlab 命令為 t=0:pi/50:2*pi; plot(cos(t),sin(t),b*) ,gri
8、d on, hold on,plot(sin(t),sin(2*t),r.) 16 數(shù)學實驗 -1 - 0 . 8 - 0 . 6 - 0 . 4 - 0 . 2 0 0 . 2 0 . 4 0 . 6 0 . 8 1 -1 - 0 . 8 - 0 . 6 - 0 . 4 - 0 . 2 0 0 . 2 0 . 4 0 . 6 0 . 8 1 17 數(shù)學實驗 4 圖 形的 標 注 圖 名 標 注 title title(String) 在 圖 形的 頂 端加注文字作 為圖 名 坐 標軸標 注 xlabel,ylabel,zlabel(String)
9、 xlabel(String) 在 當 前 圖 形的 x軸 旁 邊 加入文字 內(nèi) 容 ylabel(String) 在 當 前 圖 形的 y軸 旁 邊 加入文字 內(nèi) 容 zlabel(String) 在 當 前 圖 形的 z軸 旁 邊 加入文字 內(nèi) 容 18 數(shù)學實驗 圖 形 標 注 gtext gtext(String) 在 鼠 標 指定位置上 標 注 說 明:使用 gtext指令后, 會 在 當 前 圖 形上出 現(xiàn) 一 個 十字 叉,等待用 戶選 定位置 進 行 標 注。移 動 鼠 標 到所需位置按 下鼠 標 左 鍵 , Matlab就在
10、 選 定位置 標 上文字。 圖 例 標 注 legend legend(String1, String2, String3, ) 當 在一幅 圖 中出 現(xiàn) 多 種 曲 線時 , 結(jié) 合在 繪 制 時 的不同 線 性 與 顏 色等特點,用 戶 可以用 legend命 令 進 行 說 明。 19 數(shù)學實驗 5.一 個圖 形窗口多 個 子 圖 的 繪 制 subplot指令 它 不 僅 適用于二 維圖 形而且也適用于三 維 圖 形。其本 質(zhì) 是 將 窗口分 為 幾 個區(qū) 域,再在每 個 小曲域 中 畫圖 形。 subplot(m,n,i) 把 圖 形窗口分 為 mn個
11、 子 圖 , 并 在 第 i個 子 圖 中 畫圖 。 20 數(shù)學實驗 例 7 在同一坐 標 系 中 畫 出 兩個 函 數(shù) y = cos 2x ,y = x的 圖 形 , 自 變 量范 圍為 :-2 x 2,函 數(shù) y = cos 2x為紅 色 實線 , 函 數(shù) y = x 為藍 色 點劃 線 。 并 加注 標題 ,坐 標軸 。 解: Matlab命令 為 clf x=-2:.1:2; y1=cos(2*x);y2=x; subplot(1,2,1) plot(x,y1,r-,x,y2,b-.),grid on title(曲 線 y1=cos(2x)與 y2=x) xlabe
12、l(x軸 ),ylabel(y軸 ) gtext(y1=cos(2x)),gtext(y2=x) legend(y1=cos(2x),y2=x) subplot(1,2,2) plot (x,y1,x,y2) 21 數(shù)學實驗 22 數(shù)學實驗 二 Matlab空 間 曲 線繪圖 三 維 空 間 曲 線 命令 plot3 plot3(x, y) plot3(x,y,z,String) plot3(x1,y1,z1,String1,x2,y2,z2, String2, ) plot3與 plot的用法相同 23 數(shù)學實驗 三 Matlab空 間 曲面 繪圖 Meshgri
13、d命令 : meshgrid的 調(diào) 用形式是 : X,Y=meshgrid(x,y) 繪 制二 維圖 形 時 生成小矩形的格點 X,Y=meshgrid(x) 等價于 X,Y=meshgrid(x,x) X,Y,Z=meshgrid(x,y,z)繪 制三 維圖 形 時 生成空 間 曲面的格 點 X,Y,Z=meshgrid(x) 等價于 X,Y,Z=meshgrid(x,x,x) 24 數(shù)學實驗 例 :x=1,2,3; y=1,2,3,4; X,Y=meshgrid(x,y) X = 1 2 3 Y =1 1
14、 1 1 2 3 2 2 2 1 2 3 3 3 3 1 2 3 4 4 4 例 :x=1,2,3 X,Y=meshgrid(x) X = 1 2 3 Y =1 1 1 1 2 3 2 2 2 1 2 3 3
15、 3 3 25 數(shù)學實驗 三 維網(wǎng) 格 圖 命令 Mesh命令 Mesh命令介 紹 利用函 數(shù) meshgrid生成格點矩 陣 后,然后 求出各格點 對應 的函 數(shù)值 ,就可以利用三 維 網(wǎng) 格命令 mesh畫 出空 間 曲面。 函 數(shù) mesh用 來 生成函 數(shù) 的 網(wǎng) 格曲面,即各 網(wǎng) 格 線 段 組 成的曲面。 26 數(shù)學實驗 例 :x=1,2,3 y=1,2,3,4 X,Y=meshgrid(x,y) X = 1 2 3 Y =1 1 1 1 2 3
16、2 2 2 1 2 3 3 3 3 1 2 3 4 4 4 Z=ones(size(X));mesh(X,Y,Z) 1 1 . 5 2 2 . 5 3 1 2 3 4 0 0 . 5 1 1 . 5 2 ( 1 , 1 , 1 ) ( 2 , 1 , 1 ) ( 3 , 1 , 1 ) ( 1 , 2 , 1 ) ( 2 , 2 , 1 ) ( 3 , 2 , 1 ) ( 1 , 3 , 1 ) ( 2 , 3 , 1 ) ( 3 , 3
17、, 1 ) ( 1 , 4 , 1 ) ( 2 , 4 , 1 ) ( 3 , 4 , 1 ) 27 數(shù)學實驗 例: x=1:.1:3; y=1:.1:4; X,Y=meshgrid(x,y); Z=ones(size(X)); mesh(X,Y,Z) 28 數(shù)學實驗 例 6 用平行截面法 討論 由方程 構(gòu) 成的 馬 鞍面形 狀 。 p73 解: Matlab命令 為 t=-10:0.1:10; x,y=meshgrid(t); z1=(x.2-2*y.2)+eps; subplot(1,3,1),mesh(x,y,z1),title(馬鞍面 ) a=input(a=(-50