初識(shí)MATLAB

MATLAB是矩陣實(shí)驗(yàn)室(Matrix&Laboratory)的簡稱,由Mathwork公司開發(fā),廣泛應(yīng)用于數(shù)據(jù)分析,無線通信,深度學(xué)習(xí),量化金融,計(jì)算機(jī)視覺和信號(hào)處理等方面,同時(shí)對(duì)于大學(xué)生數(shù)學(xué)建模競賽也是相當(dāng)重要的工具。


出于MATLAB自身庫函數(shù)的完備性和易用性,本人主張將MATLAB作為一種數(shù)學(xué)工具而并非C/C++一樣的程序設(shè)計(jì)語言,也不需要過多的專研數(shù)據(jù)結(jié)構(gòu)與算法,也不一一展示MATLAB數(shù)量眾多的函數(shù)和工具包。所以本文檔的目標(biāo)旨在教會(huì)讀者編寫簡潔高效的,合理地使用MATLAB的內(nèi)置工具實(shí)現(xiàn)目的。
注:使用的版本為MATLAB R2015b版本。


用戶界面

打開MATLAB軟件后,默認(rèn)的用戶界面中有三個(gè)主要區(qū)域,包括文件區(qū)、命令行和工作區(qū)。分別具有以下作用:

  • 文件區(qū)(Current Folder) 顯示腳本文件、函數(shù)文件和資源文件
  • 命令行(Command Window) 輸入命令和輸出變量的區(qū)域
  • 工作區(qū)(Workspaces) 存放變量(創(chuàng)建或?qū)耄?/li>

MATLAB文件

MATLAB中所有文件都以.m作為后綴名,有兩種文件:一種為腳本文件(調(diào)用僅運(yùn)行),另一種為函數(shù)(可以傳入指定參數(shù),輸出指定參數(shù)),以m文件第一行是否有保留字function區(qū)分??梢酝ㄟ^面板左上角的new新建一個(gè)文件,編寫程序。
腳本文件實(shí)例

theta = [-0.5*pi : 0.02 * pi : 0.5 * pi ]; 
gain =abs(sin (4 .* theta)./(theta .* 4));
polar(theta ,gain ,'r-');
title('\bfAtntenna Gain vs \theta');

函數(shù)文件實(shí)例(函數(shù)文件名為distance,d為輸出變量,a和b為輸入變量)

function [ d ] = distance( a,b )
%UNTITLED Summary of this function goes here
%   Detailed explanation goes here
c = a - b;
d = c .^ 2;
d = sqrt(sum(d));
end

最簡單的命令

在MATLAB中,變量的基本形式為矩陣。不妨從創(chuàng)建一個(gè)變量開始。
如果已經(jīng)創(chuàng)建m文件,鍵入以下命令,點(diǎn)擊運(yùn)行(run);如果選擇在命令行運(yùn)行,只需在命令行中輸入以下命令(無需提前聲明變量)如果計(jì)算機(jī)自動(dòng)創(chuàng)建一個(gè)1×1的矩陣,值為1,這時(shí)在工作區(qū)中可以找到變量名為a的矩陣。
命令行輸入

a = 1

命令行輸出

a 

    = 1

嘗試執(zhí)行更多命令

  1. 可以直接用賦值語句對(duì)相應(yīng)的數(shù)學(xué)關(guān)系的變量賦值

命令行輸入

b = 3
c = a + b

命令行輸出


b

    = 3
c

    = 4

  1. 百分號(hào)% 可以作為單行注釋,接在%后的語句不作為MATLAB命令輸入,如果需要使用%,這時(shí)需要使用 %%; MATLAB中沒有多行注釋,但是可以選中后使用快捷鍵Ctrl + R注釋,Ctrl + T取消注釋。

命令行輸入

% a = 2 單行注釋,不執(zhí)行
c = a + b

命令行輸出

c

    = 4

  1. 英文分號(hào);表示一句語句的結(jié)束,特別的對(duì)于變量,語句末加上會(huì)終止命令行對(duì)該變量的輸出

命令行輸入

a = 2;
c = a + b

命令行輸出

c

    = 5

  1. ... 表示語句未結(jié)束,接續(xù)到下一行(注意 ... 前留空格)

命令行輸入

d = 1 + 2 ...
    + 3

命令行輸出

d

    = 6

  1. 不指定變量名時(shí),計(jì)算機(jī)默認(rèn)賦值給一個(gè)通用變量ans

命令行輸入

1 + 2 + 3

命令行輸出

ans

    = 6

  1. MATLAB中計(jì)算的優(yōu)先級(jí)和一般的數(shù)學(xué)理解一致,但無論多少重優(yōu)先級(jí)都只使用小括號(hào)

命令行輸入

2*1^3+(4*5-6/(1+2))

命令行輸出

ans

    = 20

重要的命令行操作

這一部分的命令都十分強(qiáng)大和重要,稍微掌握即可大大減少用戶的時(shí)間,但是難以給出演示,希望讀者能夠多加嘗試,至少掌握其中高光的條目。

  1. clc 清空命令行
  2. clear 清空工作區(qū)
  3. clf 清空繪圖
  4. close 關(guān)閉窗口
  5. Ctrl + C 強(qiáng)制中斷正在運(yùn)行的程序(僅光標(biāo)在命令行時(shí)按下Ctrl + C有效)
  6. ! 調(diào)用操作系統(tǒng)命令行(如:!explorer.exe調(diào)用系統(tǒng)資源管理器)
  7. diary xxx 創(chuàng)建記錄文件,默認(rèn)文件名為diary(不輸入xxx時(shí))
    (當(dāng)你需要記錄調(diào)試過程或者輸出到文件的時(shí)候可以使用,用于記錄命令行窗口的輸入輸出)
  • diary on 打開記錄文件(開始記錄)
  • diary off 關(guān)閉記錄文件(停止記錄)
  1. save xxx 創(chuàng)建數(shù)據(jù)文件,保存為xxx.mat,默認(rèn)為matlab.mat
    (當(dāng)你需要保存某次數(shù)據(jù)而希望在之后恢復(fù)原有數(shù)據(jù)時(shí),或者不得不暫時(shí)中斷分多步運(yùn)行時(shí),可以使用save命令保存多個(gè)或者所有變量)
  2. load xxx save的反操作,讀取并恢復(fù)xxx.mat的數(shù)據(jù)
  3. who 查詢workspace的變量
  4. whos x 返回變量x的數(shù)據(jù)類型,維度,占用字節(jié)數(shù),默認(rèn)為所有變量
  5. lookfor xxx 顧名思義,檢索關(guān)鍵詞為xxx的文件,檢索的優(yōu)先級(jí)滿足
  • 已存在的變量
  • 內(nèi)置函數(shù)
  • 現(xiàn)有目錄的文件
  • 所有目錄的文件
  1. help xxx 戰(zhàn)略核武器,用于顯示MATLAB內(nèi)置函數(shù)xxx的詳細(xì)幫助信息(優(yōu)勢(shì):詳細(xì)的使用說明;缺陷:慢,有時(shí)候在瀏覽器上看可能更舒服)

小結(jié)

MATLAB是一種高級(jí)的解釋性語言,在用于很多方面都有很大的用處,對(duì)用戶十分友好。一般來說,用戶可以依照MATLAB提示完成所有操作。當(dāng)然個(gè)人也推薦遇事不決問度娘,搜索引擎能幫我們了解更多的解決途徑。如有疑問,可以向我提出,我會(huì)盡可能解答。

REF

  1. MATLAB Programming for Engineers - 4th Edition Ch
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容