matlab中繪製平行於座標軸的直線

2021-07-31 00:16:32 字數 1796 閱讀 6486

有時候需要繪製平行於座標軸的一條直線,那有沒有什麼簡便的方法呢?通過在plot()函式加入引數就可以,**如下:

x=0:0.1:2*pi;   %x的取值生成

y=sin(x); %y=sin(x)函式

plot(x,y); %繪製圖形

ylim=get(gca,'ylim'); % 獲取當前圖形的縱軸的範圍

hold on

plot([1,1],ylim,'m--'); % 繪製x=1的直線

%[1,1]中,第乙個1表示繪製直線的穿過x軸點,第2個1表示直線穿過y軸的另個點,由此兩點確定想要繪製直線的方向

%ylim 用於繪製y軸的取值範圍

%m-- 用於描述線型,粉色,虛線

實際的效果圖如下:

那麼,我如果想經過任意乙個點繪製一條直線呢?那麼,直接修改上面**第6行plot()函式中的[1,1]如我改為[3,4],**為:

x=0:0.1:2*pi;   %x的取值生成

y=sin(x); %y=sin(x)函式

plot(x,y); %繪製圖形

ylim=get(gca,'ylim'); % 獲取當前圖形的縱軸的範圍

hold on

plot([3,4],ylim,'m--'); % 繪製直線

%ylim 用於繪製y軸的取值範圍

%m-- 用於描述線型,粉色,虛線

繪製出的圖形為:

但是,從上圖分析可知,該直線並不是經過[3,4]這兩點的直線。那麼,進一步我如果將**第2行的sin(x)換成3*sin(x),那又會變成什麼樣的?**為:

x=0:0.1:2*pi;   %x的取值生成

y=3*sin(x); %y=sin(x)函式

plot(x,y); %繪製圖形

ylim=get(gca,'ylim'); % 獲取當前圖形的縱軸的範圍

hold on

plot([3,4],ylim,'m--'); % 繪製x=1的直線

%ylim 用於繪製y軸的取值範圍

%m-- 用於描述線型,粉色,虛線

如下圖:

上面的是在第2幅的基礎上再繪製的,可以看出雖然都設定了plot()函式的引數為[3,4],但兩幅的影象中直線的是不重合的,那**中第6行的含義究竟是什麼呢?在**第3行

ylim=get(gca,'ylim'); % 獲取當前圖形的縱軸的範圍
是獲取當前繪製圖形的縱座標的取值範圍,假如是[a,b],那

如果第6行為plot([m,n],ylim,'m--'),含義是在ylim=

[a,b]的條件下,經過ylim=a(即平行於x軸的直線)上點刻度為m的點,經過ylim=b(即平行於x軸的直線)上點刻度為n的點,由此兩點繪製直線。因此,如果已繪製圖形的範圍如果改變,plot()函式的引數[m,n]相同,所繪製的直線也不同。

這樣,就對第3幅圖很好理解了。對於較長的那條直線,縱座標範圍是y=-3和+3,plot()函式的引數

[3,4],即直線經過y=-3時,x=3;y=3時,x=4這兩點。

matlab繪製曲面並標註座標軸

首先看公式 r 的取值為 0,1 且取值的間隔為0.01 z 的取值為 0,1 且取值的間隔為0.01 看matlab的m檔案 r 0 0.01 1 z 0 0.01 1 meshgrid r,z 以矩陣的形勢進行運算出nn的值。for row 1 1 101 for col 1 1 101 nn ...

matlab座標軸設定

1.axis xmin xmax ymin ymax 設定當前圖形的座標範圍,分別為x軸的最小 最大值,y軸的最小最大值 2.v axis 返回包含當前座標範圍的乙個行向量 3.axis auto 將座標軸刻度恢復為自動的預設設定 4.axis manual 凍結座標軸刻度,此時如果hold被設定為...

matlab座標軸設定

1.axis xmin xmax ymin ymax 設定當前圖形的座標範圍,分別為x軸的最小 最大值,y軸的最小最大值 2.v axis 返回包含當前座標範圍的乙個行向量 3.axis auto 將座標軸刻度恢復為自動的預設設定 4.axis manual 凍結座標軸刻度,此時如果hold被設定為...