• <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學習——圖形繪制

    標簽: MATLAB  matlab  機器學習

    摘要

    在科學的研究體系中,將數學公式與數據表現在圖表中,是展示符號的具體物理含義及大量數據的內在聯系和規律的科學有效的方法。

    MATLAB中可以繪制二維、三維和四維的數據圖形,并且通過對圖形的線型、顏色、標記、觀察角度、坐標軸范圍等屬性的設置,將大量數據的內在聯系及規律表現得更加細膩、完善。MATLAB提供眾多的設備用圖表來顯示向量和矩陣,同時包括注釋和打印這些圖表。

    MATLAB擁有大量簡單、靈活、易用的二維和三維圖形命令,并且用戶可以在MATLAB程序中加入聲音效果。本章將詳細講述MATLAB中的數據。

    一、離散數據及離散函數

    一個二元實數標量對(X,Y)可以用平面上的點來表示,一個二元實數標量數組[(X1,y1) (xz,y2) … (xn,yn)]可以用 平面上的

    一組點來表示。對于離散函數Y=f(X),當X為一 維標量數組[x1,x>… ,x.]時,根據函數關系可以求出Y相應的一維標量

    [y>2… ,yn]。

    當把這兩個向量數組在直角坐標系中用點序列來表示時,就實現了離散函數的可視化。當然,這些圖形上的離散序列所

    反映的只是X所限定的有限點上或是有限區間內的函數關系。應當注意的是,

    MATLAB是無法實現對無限區間上的數據的可視化的。

    離散數據和離散函數的可視化。
    (1)、創建M文件,利用M文件編輯器,在M文件中寫入:

    X1=[1 2 4 6 7 8 10 11 12 14 16 17 18 20];
    Y1=[1 2 4 6 7 8 10 10 8 7 6 4 2 1];
    figure(1)
    plot(X1,Y1,'.','Markersize',15)
    X2=1:20;
    Y2=log(X2);
    figure(2)
    plot(X2,Y2,'*','Markersize',15)
    

    (2)、運行M腳本文件,圖形結果如下:
    在這里插入圖片描述在這里插入圖片描述

    二、連續函數

    在MATLAB中是無法畫出真正的連續函數的,因此在實現連續函數的可視化時,首先必須將連續函數用在一組離散自變量上計算函數結果,然后將自變量數組和結果數組在圖形中表示出來。

    當然,這些離散的點還是不能表現函數的連續性的。為了更形象地表現函數的規律及其連續變化,通常采用以下兩種方法:

    (1)對離散區間進行更細的劃分,逐步趨近函數的連續變化特性,直到達到視覺上的連續效果。

    (2)把每兩個離散點用直線連接,以每兩個離散點之間的直線來近似表示兩點間的函數特性。

    連續函數的可視化。

    (1)、創建M文件,利用M文件編輯器,在M文件中寫入:

    X1 = (0:12) *pi/6; Y1 = cos(3*X1) ;
    X2 = (0:360) *pi/180; Y2 = cos(3*X2) ;
    figure (1)
    subplot(2,2,1); plot(X1, Y1, 'o', 'MarkerSize', 3); xlim([0 2*pi])
    subplot(2,2,2); plot(X1, Y1, 'LineWidth', 2); xlim([0 2*pi])
    subp1ot(2,2,3); plot(X2, Y2,'o', 'MarkerSize', 3); xlim([0 2*pi])
    subplot(2,2,4); plot(X2, Y2,'LineWidth', 2); xlim([0 2*pi])
    

    (2)、運行結果如下:
    在這里插入圖片描述

    三、圖形繪制示例

    設函數為
    在這里插入圖片描述
    在MATLAB上繪制該函數在
    在這里插入圖片描述
    上的圖像。

    (1)準備圖形數據。用戶需要選定數據的范圍,選擇對應范圍的自變量,計算相應的函數值。根據要求,在本實例中,

    需要在命令行窗口中輸入下列命令:

    x=-pi/2:0.01:pi/2; %自變量x定義域
    y=x+sin(x)+exp(x); %函數表達式
    

    (2)使用plot函數繪制圖形,即在命令行窗口中輸入下列命令:

    plot(x,y);  %繪制x、y二維坐標圖像
    

    得到的結果如下圖所示。
    在這里插入圖片描述
    (3)為了更好地觀察各個數據點的位置,給背景設置網格線,同時采用空心圓圈來標記數據點,并將曲線的顏色設置成

    紅色。因此,在命令行窗口中輸入:

    plot(x,y,'-ro')
    grid on
    

    圖形如下:
    在這里插入圖片描述(4)給圖形添加一些注釋。為了進一-步使圖形具有可讀性,用戶還需要給圖形添加一- 些注釋,例如圖形的名稱、坐標

    軸的名稱、圖例及文字說明等。例如本實例給圖形取名字為“y的函數圖像”;x坐標軸和y坐標軸分別取名為“x”和“y”;圖例設

    置為“y=x+sin x+eX”。因此,需要在命令行窗口中輸入:

    title('y的函數圖像');
    xlabel('x') ;
    ylabel('y');
    legend('y=x+sinx+e^{x}') ;
    

    運行結果如下:
    在這里插入圖片描述(5)圖形的輸出。完成圖形的繪制和編輯之后,用戶可以將圖形打印或者在圖形窗口的菜單欄中選擇File→Save As命

    令,將圖形保存成用戶需要的格式。

    四、圖形繪制的基本步驟

    **利用MATLAB繪制圖形大致分為如下7個步驟: **

    (1)數據準備。主要工作是產生自變量采樣向量,計算相應的函數值向量。

    (2)選定圖形窗口及子圖位置。在默認情況下,MATLAB系統繪制的圖形為figure.1、frgrere…

    (3)調用繪圖函數繪制圖形,例如plot函數。

    (4)設置坐標軸的范圍、刻度及坐標網格。

    (5)利用對象屬性值或者圖形窗口工具欄設置線型、標記類型及其大小等。

    (6)添加圖形注釋,例如圖名、坐標名稱、圖例、文字說明等。.

    (7)圖形的導出與打印。

    至此,使用MATLAB繪制二維坐標圖形的過程就此結束!

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

    智能推薦

    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壓縮包 那我們就開始做吧 首先,查看網頁的源代碼,我們可以看到每一...

    Linux C系統編程-線程互斥鎖(四)

    互斥鎖 互斥鎖也是屬于線程之間處理同步互斥方式,有上鎖/解鎖兩種狀態。 互斥鎖函數接口 1)初始化互斥鎖 pthread_mutex_init() man 3 pthread_mutex_init (找不到的情況下首先 sudo apt-get install glibc-doc sudo apt-get install manpages-posix-dev) 動態初始化 int pthread_...

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