• <noscript id="e0iig"><kbd id="e0iig"></kbd></noscript>
  • <td id="e0iig"></td>
  • <option id="e0iig"></option>
  • <noscript id="e0iig"><source id="e0iig"></source></noscript>
  • matlab(五)圖形繪制

    圖形繪制基礎

    步驟

    • 準備數據和函數, 常用指令如下:

    x = 0: 0.1: 10;
    y1 = bessel(1, x);
    y2 = bessel(2, x);

    • 選擇圖形輸出的窗口及位置, 常用指令如下:

    figure(1); %打開第一個圖形
    subplot(m, n, k); %繪制m×n個圖形, k表示當前圖形的位置

    • 調用基本的繪圖函數, 常用指令如下:

    plot(x, y1, x, y2, x, y3); %繪制y1, y2, y3三條曲線
    plot3(x, y, z, ‘r:’);%繪制三維曲線, r表示紅色, : 表示曲線

    • 設置坐標軸的范圍, 標記號和網格線, 常用指令如下:

    axis([0, 10, -3, 3]);%x軸范圍0到10, y軸范圍-3到3
    grid on; %加網格

    • 用名稱, 圖例, 坐標名, 文本等對圖形進行注釋, 常用指令如下:

    xlabel(‘x’); %對x軸進行標注, 標注內容為單引號內的內容
    titlel(‘圖1’);
    text(1, 1, ‘y = f(x)’); %在(1, 1)處標注文本

    • 打印輸出圖形, 常用指令如下:

    print-dps2;

    基本繪圖命令

     plot(y, 's'); %y是一個向量, 其x坐標是元素序號
     plot(x, y, 's');
     plot(x1, y1, 's1', x2, y2, 's2'); 
     h = plot(...);
     plot3(x, y, z, 's');
     loglog; %橫縱坐標都是對數形式
     semilogx; %x坐標是對數
     semilogy; %y坐標是對數
     plotyy(x1, y1, x2, y2, '參數1', '參數2'); %同一個圖中兩套坐標軸, 參數1和參數2可以設置坐標形式, 如'loglog'
    

    二維圖形的繪制

    同一張圖上畫兩條曲線:

     x = 0:0.01:10;
     y = sin(x);
     y1 = x.*sin(x);
     plot(x,y,x,y1);
     grid on;
    

    在同一窗口中畫三張圖:

    y2 = exp(2*cos(x));
    subplot(2,2,1); plot(x, y);
    subplot(2,2,2); plot(x, y1);
    subplot(2,2,3); plot(x, y2);
    

    自定義曲線樣式:

    • 顏色: 紅色r, 藍色b, 綠色g, 黑色k, 白色w
    • 線型: ":"表示虛線, "-"表示實線, "–"表示劃線, "-."表示點劃線
    • 特殊點標注: “+, ×, <, >”
    plot(x, y, 'r:', x, y1, 'g--', x, y2, 'b-.');
    
     x = 0:0.2:10;
     y = sin(x);
     y1 = x.*sin(x);
     y2 = exp(2*cos(x));
     plot(x,y,'r:+',x,y1,'g--d',x,y2,'b-.o')
    

    二維圖的標注:

     x= -10:0.1:10;
     x= x+(x==0)*eps;%使用近似0,防止出現0/0的情況
     y= sin(x)./x;
     plot(x, y);
     xlabel('x軸');
     ylabel('y軸');
     title('函數的頻譜');
    
    plot(x,y);
    xlabel('x');
    ylabel('y = sin(x)');
    text(0,sin(0),'\leftarrowsin(x)=0');%左箭頭標注
    text(3*pi/4,sin(3*pi/4),'\rightarrowsin(x)=0.707');%右箭頭標注
    

    用gtext指令在曲線上取點:

    plot(x,y);
    xlabel('x');
    ylabel('y');
    text(0,sin(0),'\rightarrowsin(x)=0');
    text(3*pi/4,sin(3*pi/4),'\leftarrowsin(x)=0.707');
    legend('y=cos(x)'); %標注函數名, 有幾條曲線就有幾個參數
    grid on;
    gtext('No.1')
    

    對數和半對數坐標的繪制:

    x = linspace(0,10,100);
    y=exp(x);
    subplot(1,3,1);
    plot(x,y);
    subplot(1,3,2);
    loglog(x,y);
    subplot(1,3,3);
    semilogy(x,y)
    

    雙y軸圖形的繪制(plotyy):

    x = 0:1:1000;
    a = 1000;b=0.01;c=0.01;
    y1 = a*exp(-b*x);
    y2 = cos(c*x);
    plotyy(x,y1,x,y2,'semilogy','plot');
    legend('y1=a×exp(-b×x)','y2 = cos(c×x)')
    

    極坐標繪制:
    polar(theta, rho, linespec); 其中theta是極角, rho是極徑, linespec用來指定曲線線型, 標記符號和顏色等.

    x =0:0.01:2*pi;
    polar(x,sin(2*x).*cos(2*x),'r:');
    title('八瓣梅花圖')
    

    二維條形圖:
    在這里插入圖片描述
    width是條形圖的寬度, 默認為0.1.

    x=[1 2 3];
    y = [3 5 2; 4 6 8; 7 5 3];
    bar(x,y)
    %bar(x,y,'stack'); %畫成堆棧形式
    
    x=[1 2 3];
    y = [3 5 2; 4 6 8; 7 5 3];
    barh(x,y)
    

    二維區域圖:

    A = [1 2 3 4
    2 4 6 8
    3 5 7 6
    7 5 3 2
    6 3 2 1];
    area(A);
    set(gca,'xtick',1:5);%設置x軸
    grid on; %顯示網格
    set(gca,'layer','top'); %將網格顯示在圖形之上
    

    在這里插入圖片描述
    矩陣A的每一列構成一條折線, 第一條折線(1, 2, 3, 7, 6)與第二列的值相加到底第二條折線, 以此類推.

    二維餅圖:
    在這里插入圖片描述
    在這里插入圖片描述
    在這里插入圖片描述
    離散圖:
    枝干圖:
    在這里插入圖片描述
    可以設置樣式, 如:
    stem(t, y,’:dr’, ‘fill’); %虛線, 菱形, 紅色, 填充
    階梯圖:
    在這里插入圖片描述
    二維輪廓圖:
    將相對于某一平面具有同一高度的點連成一條線, 高度由高度矩陣來反映, 即等高線.
    在這里插入圖片描述
    (peaks產生尖峰, 總共畫30條線)

    版權聲明:本文為Surely_Zhu原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
    本文鏈接:https://blog.csdn.net/Surely_Zhu/article/details/105248420

    智能推薦

    Matlab---4.1圖形繪制(1)

    plot() 格式一:plot()函數接收兩個參數 當x、y均為向量時,則以x向量中元素為橫坐標,y向量中元素為縱坐標繪圖。 當x為vector,y為matrix時;如果矩陣y的列(行)數等于x的長度,則以vector x為橫坐標,以y的每個row vector (line vector)為縱坐標繪制曲線,曲線條數等于y的the number of row (the number of line)...

    matlab圖形繪制——合并和拆分

    matlab繪制圖形時,根據需要把多個量放置在一個坐標軸中,或者多個圖形分別顯示,或者把多個圖形放置在一個界面上 多個變量放置在同一坐標軸 多個圖形分別顯示 多個圖形放置在同一界面 可以設置幾張圖形的排列方式 使用subplot函數,設置排列方式 subplot(n,m,a),n表示列,m表示行,a表示第幾幅圖,或者可以省略n和m,直接寫成subplot()...

    MATLAB三維圖形繪制

    三維圖形繪制 二維圖形提供了plot函數,同樣,三維圖形也有自己的函數plot3,能夠在一個三維空間內繪制出三維的曲線,函數調用格式如下: plot(x,y,z,選項) x,y,z為維數相同的向量,分別存儲了三個坐標的值,選項的意義,同plot函數選項。 利用plot3繪制三維曲線 matlab提供了繪制三維表面網格圖的函數,調用格式:mesh(x,y,z,c) x,y,z,c分別構成三維曲線的x...

    Matlab如何繪制帶箭頭圖形

    前段時間推出了繪制箭頭坐標軸曲線的方法,許多網友聯系我索取了源程序,繪制出漂亮的圖形,得到大家好評。 鏈接:如何使用Matlab繪制箭頭坐標軸曲線 但是有些時候我們不光要求坐標軸是箭頭形式,還要求圖形上有箭頭標記,前段時間繪制Nyquist圖,需要在Nyquist曲線上用箭頭標記頻率方向,在網上幾經搜尋,終于在Matlab中文論壇上找到了解決方案,繪制出的Nyquist圖如下所示。 解決方案是:M...

    猜你喜歡

    HTML中常用操作關于:頁面跳轉,空格

    1.頁面跳轉 2.空格的代替符...

    freemarker + ItextRender 根據模板生成PDF文件

    1. 制作模板 2. 獲取模板,并將所獲取的數據加載生成html文件 2. 生成PDF文件 其中由兩個地方需要注意,都是關于獲取文件路徑的問題,由于項目部署的時候是打包成jar包形式,所以在開發過程中時直接安照傳統的獲取方法沒有一點文件,但是當打包后部署,總是出錯。于是參考網上文章,先將文件讀出來到項目的臨時目錄下,然后再按正常方式加載該臨時文件; 還有一個問題至今沒有解決,就是關于生成PDF文件...

    電腦空間不夠了?教你一個小秒招快速清理 Docker 占用的磁盤空間!

    Docker 很占用空間,每當我們運行容器、拉取鏡像、部署應用、構建自己的鏡像時,我們的磁盤空間會被大量占用。 如果你也被這個問題所困擾,咱們就一起看一下 Docker 是如何使用磁盤空間的,以及如何回收。 docker 占用的空間可以通過下面的命令查看: TYPE 列出了docker 使用磁盤的 4 種類型: Images:所有鏡像占用的空間,包括拉取下來的鏡像,和本地構建的。 Con...

    requests實現全自動PPT模板

    http://www.1ppt.com/moban/ 可以免費的下載PPT模板,當然如果要人工一個個下,還是挺麻煩的,我們可以利用requests輕松下載 訪問這個主頁,我們可以看到下面的樣式 點每一個PPT模板的圖片,我們可以進入到詳細的信息頁面,翻到下面,我們可以看到對應的下載地址 點擊這個下載的按鈕,我們便可以下載對應的PPT壓縮包 那我們就開始做吧 首先,查看網頁的源代碼,我們可以看到每一...

    精品国产乱码久久久久久蜜桃不卡