天天看點

matlab主要指令大全

 1、運算符:

 +:加,  -:減,  *:乘,  /: 除, \:左除  ^:  幂,‘:複數的共轭轉置, ():制定運算順序。

 2、常用函數表:

 sin( )   正弦(變量為弧度)   

 cot( )   餘切(變量為弧度)

 sind( )  正弦(變量為度數)  

 cotd( )  餘切(變量為度數)

 asin( )  反正弦(傳回弧度)     

 acot( )  反餘切(傳回弧度)    

asind( ) 反正弦(傳回度數)    

acotd( ) 反餘切(傳回度數)    

cos( )   餘弦(變量為弧度)     

 exp( )   指數     

 cosd( )  餘弦(變量為度數)   

 log( )   對數   

 acos( )  餘正弦(傳回弧度)   

 log10( ) 以10為底對數

 acosd( ) 餘正弦(傳回度數)     

 sqrt( )  開方       

tan( )   正切(變量為弧度)      

 realsqrt( ) 傳回非負根

 tand( )  正切(變量為度數)        

 abs( )   取絕對值   

 atan( )  反正切(傳回弧度)     

 angle( ) 傳回複數的相位角

 atand( ) 反正切(傳回度數)        

 mod(x,y) 傳回x/y的餘數   

 sum(  )  向量元素求和

 3、其餘函數可以用help elfun和help specfun指令獲得。

 4、常用常數的值:

 pi            3.1415926…….         

 realmin       最小浮點數,2^-1022

 i             虛數機關              

 realmax       最大浮點數,(2-eps)2^1022

 j             虛數機關           

 inf           無限值

 eps           浮點相對經度=2^-52           

 nan           空值

二、常用對象操作:除了一般windows視窗的常用功能鍵外。

 1、!dir 可以檢視目前工作目錄的檔案。   !dir& 可以在dos狀态下檢視。

 2、who  可以檢視目前工作空間變量名,    whos 可以檢視變量名細節。

 3、功能鍵:

 功能鍵             快捷鍵           說明

 方向上鍵           ctrl+p          傳回前一行輸入

 方向下鍵           ctrl+n          傳回下一行輸入

 方向左鍵           ctrl+b          光标向後移一個字元

 方向右鍵           ctrl+f          光标向前移一個字元

 ctrl+方向右鍵      ctrl+r          光标向右移一個字元

 ctrl+方向左鍵      ctrl+l          光标向左移一個字元

 home              ctrl+a          光标移到行首

 end               ctrl+e          光标移到行尾

 esc               ctrl+u          清除一行

 del               ctrl+d          清除光标所在的字元

 backspace         ctrl+h          删除光标前一個字元                              ctrl+k          删除到行尾          

                  ctrl+c          中斷正在執行的指令

 4、clc可以指令視窗顯示的内容,但并不清除工作空間。

三、數組和矩陣:

 1、構造數組的方法:增量發和linspace(first,last,num)first和last為起始和終止數,num為需要的數組元素個數。

 2、構造矩陣的方法:可以直接用[ ]來輸入數組,也可以用以下提供的函數來生成矩陣。

 ones( )   建立一個所有元素都為1的矩陣,其中可以制定維數,1,2….個變量

 zeros()   建立一個所有元素都為0的矩陣

 eye()     建立對角元素為1,其他元素為0的矩陣

 diag()    根據向量建立對角矩陣,即以向量的元素為對角元素

 magic()   建立魔方矩陣

 rand()    建立随機矩陣,服從均勻分布

 randn()   建立随機矩陣,服從正态分布

 randperm()         建立随機行向量

 horcat             c=[a,b],水準聚合矩陣,還可以用cat(1,a,b)

 vercat             c=[a;b],垂直聚合矩陣, 還可以用cat(2,a,b)

 repmat(m,v,h)      将矩陣m在垂直方向上聚合v次,在水準方向上聚合h次

 blkdiag(a,b)     以a,和b為塊建立塊對角矩陣

 length             傳回矩陣最長維的的長度

 ndims              傳回維數

 numel              傳回矩陣元素個數

 size               傳回每一維的長度,[rows,cols]=size(a)

 reshape            重塑矩陣,reshape(a,2,6),将a變為2×6的矩陣,按列排列。

 rot90              旋轉矩陣90度,逆時針方向

 fliplr             沿垂軸翻轉矩陣

 flipud             沿水準軸翻轉矩陣

 transpose          沿主對角線翻轉矩陣

 ctranspose         轉置矩陣,也可用a’或a.’,這僅當矩陣為複數矩陣時才有差別

 inv                矩陣的逆

 det                矩陣的行列式值

 trace              矩陣對角元素的和

 norm               矩陣或矢量的範數,norm(a,1),norm(a,inf)…….

 normest            估計矩陣的最大範數矢量

 chol               矩陣的cholesky分解

 cholinc            不完全cholesky分解

 lu                 lu分解

 luinc              不完全lu分解

 qr                 正交分解

 kron(a,b)        a為m×n,b為p×q,則生成mp×nq的矩陣,a的每一個元素都會乘上b,并占據p×q大小的空間

 rank               求出矩陣的刺

 pinv               求僞逆矩陣

 a^p                對a進行操作

 a.^p               對a中的每一個元素進行操作

 四、數值計算

 1、線性方程組求解

 (1)ax=b的解可以用x=a\b求。xa=b的解可以用x= a/b求。如果a是m×n的矩陣,當m=n時可以找到唯一解,m<n,不定解,解中至多有m個非零元素。

如果m>n,超定系統,至少找到一組解。如果a是奇異的,且ax=b有解,可以用x=pinv(a)×b傳回最小二乘解

 (2)ax=b,  a=l×u,[l,u]=lu(a),  x=u\(l\b),即用lu分解求解。

 (3)qr(正交)分解是将一矩陣表示為一正交矩陣和一上三角矩陣之積,a=q×r[q,r]=chol(a),  x=q\(u\b)

 (4)cholesky分解類似。

 2、特征值

 d=eig(a)傳回a的所有特征值組成的矩陣。[v,d]=eig(a),還傳回特征向量矩陣。

 3、a=u×s×ut,[u,s]=schur(a).其中s的對角線元素為a的特征值。

 4、多項式matlab裡面的多項式是以向量來表示的,其具體操作函數如下:

 conv           多項式的乘法

 deconv         多項式的除法,【a,b】=deconv(s),傳回商和餘數

 poly           求多項式的系數(由已知根求多項式的系數)

 polyeig        求多項式的特征值

 polyfit(x,y,n)        多項式的曲線拟合,x,y為被拟合的向量,n為拟合多項式階數。

 polyder        求多項式的一階導數,polyder(a,b)傳回ab的導數

 [a,b]=polyder(a,b)傳回a/b的導數。

 polyint        多項式的積分

 polyval        求多項式的值

 polyvalm       以矩陣為變量求多項式的值

 residue        部分分式展開式

 roots          求多項式的根(傳回所有根組成的向量)

 注:用ploy(a)求出矩陣的特征多項式,然後再求其根,即為矩陣的特征值。

 5、插值常用的插值函數如下:

 griddata       資料網格化合曲面拟合

 griddata3      三維資料網格化合超曲面拟合

 interp1        一維插值(yi=interp1(x,y,xi,’method’)method=nearest/linear/spline/pchip/cubic

 interp2        二維插值zi=interp1(x,y,z,xi,yi’method’),bilinear

 interp3        三維插值

 interpft       用快速傅立葉變換進行一維插值,help fft。

 mkpp           使用分段多項式

 spline         三次樣條插值

 pchip          分段hermit插值

 6、函數最值的求解

 fminbnd(‘f’,x1,x2,optiset(,))求f在 x1和x2之間的最小值。optiset選項可以有‘display’+‘iter’/’off’/’final’,分别表示顯示計算過程/不顯示/隻顯示最後結果。fminsearch求多元函數的最小值。fzero(‘f’,x1)求一進制函數的零點。x1為起始點。同樣可以用上面的選項。

 五、圖像繪制:

 1、基本繪圖函數

 plot            繪制二維線性圖形和兩個坐标軸

 plot3           繪制三維線性圖形和兩個坐标軸

 fplot           在制定區間繪制某函數的圖像。fplot(‘f’,區域,線型,顔色)

 loglog          繪制對數圖形及兩個坐标軸(兩個坐标都為對數坐标)semilogx        繪制半對數坐标圖形

 semilogy        繪制半對數坐标圖形

 2、線型:   顔色           線型

         y   黃色       .  圓點線           v       向下箭頭

         g   綠色       -.   組合           >    向右箭頭

         b   藍色       +    點為加号形      <      向左箭頭

         m   紅紫色     o    空心圓形        p      五角星形

         c   藍紫色     *    星号           h        六角星形

         w   白色       .    實心小點       hold on   添加圖形

         r   紅色       x   叉号形狀        grid on  添加網格

         k   黑色       s   方形             -    實線       

        d   菱形       --   虛線           ^ 向上箭頭     

 3、可以用subplot(3,3,1)表示将繪圖區域分為三行三列,目前使用第一區域。此時如要畫不同的圖形在一個視窗裡,需要hold on。

=================================================================

附錄1.1 管理用指令

 函數名    功能描述    函數名    功能描述

 addpath    增加一條搜尋路徑    rmpath    删除一條搜尋路徑

 demo    運作matlab示範程式    type    列出.m檔案

 doc    裝入超文本文檔    version    顯示matlab的版本号

 help    啟動聯機幫助    what    列出目前目錄下的有關檔案

 lasterr    顯示最後一條資訊    whatsnew    顯示matlab的新特性

 lookfor    搜尋關鍵詞的幫助    which    造出函數與檔案所在的目錄

 path    設定或查詢matlab路徑          

附錄1.2管理變量與工作空間用指令 

 clear    删除記憶體中的變量與函數    pack    整理工作空間記憶體

 disp    顯示矩陣與文本    save    将工作空間中的變量存盤

 length    查詢向量的維數    size    查詢矩陣的維數

 load    從檔案中裝入資料    who,whos    列出工作空間中的變量名

附錄1.3檔案與作業系統處理指令 

 cd    改變目前工作目錄    edit    編輯.m檔案

 delete    删除檔案    matlabroot    獲得matlab的安裝根目錄

 diary    将matlab運作指令存盤    tempdir    獲得系統的緩存目錄

 dir    列出目前目錄的内容    tempname    獲得一個緩存(temp)檔案

 !    執行作業系統指令 

附錄1.4視窗控制指令 

 echo    顯示檔案中的matlab中的指令    more    控制指令視窗的輸出頁面

 format    設定輸出格式          

附錄1.5啟動與退出指令 

 matlabrc    啟動主程式    quit    退出matlab環境

 startup    matlab自啟動程式          

附錄2 運算符号與特殊字元附錄

 2.1運算符号與特殊字元

 +    加    ...    續行标志

 -    減    ,    分行符(該行結果不顯示)

 *    矩陣乘    ;    分行符(該行結果顯示)

 .*    向量乘    %    注釋标志

 ^    矩陣乘方    !    作業系統指令提示符

 .^    向量乘方         矩陣轉置

 kron    矩陣kron積    .    向量轉置

 \    矩陣左除    =    指派運算

 /    矩陣右除    ==    關系運算之相等

 .\    向量左除    ~=    關系運算之不等

 ./    向量右除    <    關系運算之小于

 :    向量生成或子陣提取    <=    關系運算之小于等于

 ()    下标運算或參數定義    >    關系運算之大于

 []    矩陣生成    >=    關系運算之大于等于

 {}         &    邏輯運算之與

 .    結構字段擷取符    |    邏輯運算之或

 .    點乘運算,常與其他運算符聯合使用(如.\)    ~    邏輯運算之非

 xor    邏輯運算之異成          

附錄2.2邏輯函數 

 all    測試向量中所用元素是否為真    is*(一類函數)    檢測向量狀态.其中*表示一個确定的函數(isinf)

 any    測試向量中是否有真元素    *isa    檢測對象是否為某一個類的對象

 exist    檢驗變量或檔案是否定義    logical    将數字量轉化為邏輯量

 find    查找非零元素的下标          

附錄3 語言結構與調試

 附錄3.1程式設計語言 

 builtin    執行matlab内建的函數    global    定義全局變量

 eval    執行matlab語句構成的字元串    nargchk    函數輸入輸出參數個數檢驗

 feval    執行字元串指定的檔案    script    matlab語句及檔案資訊

 function    matlab函數定義關鍵詞          

附錄3.2控制流程 

 break    中斷循環執行的語句    if    條件轉移語句

 case    與switch結合實作多路轉移    otherwise    多路轉移中的預設執行部分

 else    與if一起使用的轉移語句    return    傳回調用函數

 elseif    與if一起使用的轉移語句    switch    與case結合實作多路轉移

 end    結束控制語句塊    warning    顯示警告資訊

 error    顯示錯誤資訊    while    循環語句

 for    循環語句          

附錄3.3互動輸入 

 input    請求輸入    menu    菜單生成

 keyboard    啟動鍵盤管理    pause    暫停執行

附錄3.4面向對象程式設計 

 class    生成對象    isa    判斷對象是否屬于某一類

 double    轉換成雙精度型    superiorto    建立類的層次關系

 inferiorto    建立類的層次關系    unit8    轉換成8位元組的無符号整數

 inline    建立一個内嵌對象          

附錄3.5調試 

 dbclear    清除調試斷點    dbstatus    列出所有斷點情況

 dbcont    調試繼續執行    dbstep    單步執行

 dbdown    改變局部工作空間記憶體    dbstop    設定調試斷點

 dbmex    啟動對mex檔案的調試    sbtype    列出帶指令行标号的.m檔案

 dbquit    退出調試模式    dbup    改變局部工作空間内容

 dbstack    列出函數調用關系          

附錄4 基本矩陣與矩陣處理

 附錄4.1基本矩陣 

 eye    産生機關陣    rand    産生随機分布矩陣

 linspace    構造線性分布的向量    randn    産生正态分布矩陣

 logspace    構造等對數分布的向量    zeros    産生零矩陣

 ones    産生元素全部為1的矩陣    :    産生向量

附錄4.2特殊向量與常量 

 ans    預設的計算結果變量    non    非數值常量常由0/0或inf/inf獲得

 computer    運作matlab的機器類型    nargin    函數中參數輸入個數

 eps    精度容許誤差(無窮小)    nargout    函數中輸出變量個數

 flops    浮點運算計數    pi    圓周率

 i    複數單元    realmax    最大浮點數值

 inf    無窮大    realmin    最小浮點數值

 inputname    輸入參數名    varargin    函數中輸入的可選參數

 j    複數單元    varargout    函數中輸出的可選參數

附錄4.3時間與日期 

 calender    月曆    eomday    計算月末

 clock    時鐘    etime    所用時間函數

 cputime    所用的cpu時間    now    目前日期與時間

 date    日期    tic    啟動秒表計時器

 datenum    日期(數字串格式)    toc    讀取秒表計時器

 datestr    日期(字元串格式)    weekday    星期函數

 datevoc    日期(年月日分立格式)          

附錄4.4矩陣處理 

 cat    向量連接配接    reshape    改變矩陣行列個數

 diag    建立對角矩陣或擷取對角向量    rot90    将矩陣旋轉90度

 fliplr    按左右方向翻轉矩陣元素    tril    取矩陣的下三角部分

 flipud    按上下方向翻轉矩陣元素    triu    取矩陣的上三角部分

 repmat    複制并排列矩陣函數          

附錄5 特殊矩陣 

 compan    生成伴随矩陣    invhilb    生成逆hilbert矩陣

 gallery    生成一些小的測試矩陣    magic    生成magic矩陣

 hadamard    生成hadamard矩陣    pascal    生成pascal矩陣

 hankel    生成hankel矩陣    toeplitz    生成toeplitz矩陣

 hilb    生成hilbert矩陣    wilkinson    生成wilkinson特征值測試矩陣 

附錄6 數學函數

 附錄6.1三角函數 

 sin/asin    正弦/反正弦函數    sec/asec    正割/反正割函數

 sinh/asinh    雙曲正弦/反雙曲正弦函數    sech/asech    雙曲正割/反雙曲正割函數

 cos/acos    餘弦/反餘弦函數    csc/acsc    餘割/反餘割函數

 cosh/acosh    雙曲餘弦/反雙曲餘弦函數    csch/acsch    雙曲餘割/反雙曲餘割函數

 tan/atan    正切/反正切函數    cot/acot    餘切/反餘切函數

 tanh/atanh    雙曲正切/反雙曲正切函數    coth/acoth    雙曲餘切/反雙曲餘切函數

 atan2    四個象限内反正切函數          

附錄6.2指數函數 

 exp    指數函數    log10    常用對數函數

 log    自然對數函數    sqrt    平方根函數

附錄6.3複數函數 

 abs    絕對值函數    imag    求虛部函數

 angle    角相位函數    real    求實部函數

 conj    共轭複數函數          

附錄6.4數值處理 

 fix    沿零方向取整    round    舍入取整

 floor    沿-∞方向取整    rem    求除法的餘數

 ceil    沿+∞方向取整    sign    符号函數

附錄6.5其他特殊數學函數 

 airy    airy函數    erfcx    比例互補誤差函數

 besselh    bessel函數(hankel函數)    erfinv    逆誤差函數

 bessili    改進的第一類bessel函數    expint    指數積分函數

 besselk    改進的第二類bessel函數    gamma    gamma函數

 besselj    第一類bessel函數    gammainc    非完全gamma函數

 bessely    第二類bessel函數    gammaln    gamma對數函數

 beta    beta函數    gcd    最大公約數

 betainc    非完全的beta函數    lcm    最小公倍數

 betaln    beta對數函數    log2    分割浮點數

 elipj    jacobi橢圓函數    legendre    legendre伴随函數

 ellipke    完全橢圓積分    pow2    基2标量浮點數

 erf    誤差函數    rat    有理逼近

 erfc    互補誤差函數    rats    有理輸出