[數學建模(八)]使用MATLAB繪圖


目錄

1..二維圖
  1.1 基本畫圖功能
  1.2 plot參數說明 :線條類型,點類型,顏色 
  1.3 坐標軸定標和圖形說明
  1.4 子圖 :subplot
  1.5 其他類型的二維圖 :極坐標圖,條形圖,餅圖,柱狀圖,雙y軸圖
  1.6 函數繪圖 :fplot
2.三維繪圖
  2.1 三維線圖 plot3()
  2.2 曲面圖 mesh surf
  2.3 等高圖  contour()
  2.4 偽色圖 pcolor()

 

1.二維圖

1.1 基本畫圖功能

 

1.2 plot參數說明

 

1.3 坐標軸定標和圖形說明

 

1.4 子圖

subplot(m,n,p) 把圖形窗口分成m行n列,p對應第幾個子圖。

例如subplot(2,2,1)

 

例子:

x=0:pi/20:2*pi;

y1=sin(x);

y2=cos(x);

%第一個圖形窗口

figure(1)

plot(x,y1,':*k',x,y2,'--*r');   %參數依次為:線條類型,點類型,顏色

title('正弦與余弦')              %標題

xlabel('x軸')                   %標注x軸

ylabel('y軸')                   %標注y軸

legend('y1=sinx','y2=cosx')     %標注函數線

text(0.7853,0.7071,'交點')      %在某個點添加文本框

grid on                         %添加柵格

%第二個圖形窗口

figure(2)                       %重新打開一個空白圖形窗口

subplot(2,1,1)

axis([0,pi,0,1])                %限制x,y軸的最大最小值,[xmin,xmax,ymin,ymax]

plot(x,y1,'r','LineWidth',2)    %使線條擴大一定倍數

legend('y1=sinx')

subplot(2,1,2)                  %把圖形窗口分成2行1列

axis([0,pi,0,1])   

plot(x,y2,'b','LineWidth',2)

legend('y1=sinx')

運行結果:

 

1.5 其他類型的二維圖

(1)極坐標圖: polar(theta,r)

(2)對數圖

 

(3)條形圖,柱狀圖和餅圖

 

柱狀圖:顯示數據的分布情況。

(4)雙y軸圖:適用於同個x區間,但y值相差較大的情況。

例子:

x=[1:5];

figure(1)

subplot(2,2,1)

bar(x);   %垂直條形圖

subplot(2,2,2)

barh(x);  %水平條形圖

subplot(2,2,3)

bar3(x);  %三維條形圖

subplot(2,2,4)

bar3h(x); %三維水平條形圖

figure(2)

subplot(2,2,1)

pie(x);   %餅圖

subplot(2,2,2)

pie3(x);  %三維餅圖

subplot(2,2,3)

x1=[1 2 4 6 2 2 5 3 4 5 6 2 7 1 2  8 9 2 3 4 6];

hist(x1,10);  %柱狀圖,把數據從最大值到最小值等分成10份

subplot(2,2,4)

x2=0:pi/20:2*pi;

y1=sin(x2);

y2=exp(x2);

plotyy(x2,y1,x2,y2)  %雙y圖

運行結果:

 

1.6 函數繪圖:fplot('sin(x)',[-2*pi,2*pi])

2.三維繪圖

 

 2.1 三維線圖

x=linspace(0,10*pi,1000);  %0到10*pi中間插入1000個值

y=cos(x);

z=sin(x);

plot3(x,y,z)

grid

xlabel('angle');

ylabel('cos(x)');

zlabel('sin(x)');

title('彈簧')

運行結果:

 

2.2 曲面圖

(1)mesh圖 (無顏色):mesh(x,y,z)

(2)surf圖 surf(x,y,z)

渲染顏色:shading interp    去掉顏色:shading flat

用戶自定義顏色:colormap(gray)  %輸出灰色

其他顏色:

 

例子:

z=[1:10;2:2:20;3:12];

x=linspace(1,50,10);

y=[500,750,1000];

subplot(2,2,1);

mesh(x,y,z);     %mesh圖

title('mesh圖')

subplot(2,2,2);

surf(x,y,z);     %surf圖

title('surf圖')

subplot(2,2,3);

surf(x,y,z);   

shading interp; %渲染陰影圖

title('渲染陰影圖')

subplot(2,2,4);

surf(x,y,z);

shading flat;   %去掉色圖中的網格

title('去掉色圖中的網格')

運行結果:

 

 

2.3  等高圖

[x,y,z]=peaks;

subplot(1,2,1);

plot3(x,y,z);

contour(x,y,z)   %繪制三維等高圖

 subplot(1,2,2);

surfc(x,y,z) %同時繪制等高圖和曲面圖

運行結果:

 

 

2.4 偽色圖

概念:用帶柵格的二維陰影圖代替等高圖中的輪廓線。

[x,y,z]=peaks;

subplot(2,2,1);

pcolor(x,y,z);

title('繪制偽色圖')

 

subplot(2,2,2);

pcolor(x,y,z);

shading interp;

title('去掉了三維圖形的網格')

 

subplot(2,2,3);

pcolor(x,y,z);

shading interp;

hold on;

contour(x,y,z,20,'k')

title('在圖形上疊加等高線')

 

subplot(2,2,4);

contour(x,y,z)

title('普通的等高圖')

運行結果:

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM