Matlab學習筆記

一. Matlab概述

MATLAB(矩陣實驗室)是數字計算,可視化和編程的第四代高級編程語言和交互式環境。MATLAB是由MathWorks開發的。算法

它容許矩陣操縱,繪製功能和數據; 實現算法; 建立用戶界面; 與其餘語言編寫的程序(包括C語言,C++,Java和FORTRAN)進行交互; 分析數據; 開發算法; 並建立模型和應用程序。express

它有許多內置命令和數學函數,能夠幫助您進行數學計算,生成圖形和執行數值方法。編程

1. MATLAB計算數學

MATLAB用於計算數學的各個方面,如下是最經常使用的經常使用數學計算方法 -數組

  • 處理矩陣和數組
  • 2D和3D繪圖和圖形
  • 線性代數
  • 代數方程
  • 非線性函數
  • 統計
  • 數據分析
  • 微積分和微分方程
  • 數值計算
  • 積分
  • 變換
  • 曲線擬合
  • 各類其餘特殊功能

2. MATLAB特色

如下是MATLAB的基本特性 -編程語言

  • 它是數字計算,可視化和應用程序開發的高級語言。
  • 它還爲迭代探索,設計和解決問題提供了一個交互式環境。
  • 它爲線性代數,統計學,傅里葉分析,濾波,優化,數值積分和求解常微分方程提供了普遍的數學函數庫。
  • 它提供內置的圖形,用於可視化數據和工具,用於建立自定義繪圖。
  • MATLAB編程接口提供了開發工具,以提升代碼質量的可維護性並最大限度提升性能。
  • 它提供使用自定義圖形界面構建應用程序的工具。
  • 它提供了基於MATLAB的算法與外部應用程序和語言(如C語言,Java,.NET和Microsoft Excel)集成的功能。

3. MATLAB使用

MATLAB普遍應用於物理,化學,數學和全部工程流領域的科學與工程計算工具。 它用於一系列應用,包括 -編輯器

  • 信號處理和通訊
  • 圖像和視頻處理
  • 控制系統
  • 測試和測量
  • 計算財務
  • 計算生物學

二. Matlab基礎語法

MATLAB環境的行爲就像一個超級複雜的計算器。能夠在>>命令提示符下輸入命令。
MATLAB是一個解釋性的環境。換句話說,用戶只要給出一個命令,MATLAB立刻執行它。ide

1. 實踐練習

在實踐練習以前,首先打開 MATLAB R2018 ,以下圖所示 -、函數

命令行窗口中輸入有效的表達式,例如 -工具

Trial>> 5 + 5

而後按回車,MATLAB當即執行,返回結果以下 -性能

讓咱們再來看幾個例子 -

計算次冪

Trial>> 3 ^ 2           % 3 raised to the power of 2

ans =

     9


MATLAB

計算正弦值

Trial>> sin(pi /2)      % sine of angle 90o

ans =

     1


MATLAB

除以零

Trial>> 7/0              % Divide by zero

ans =

   Inf


MATLAB

數學計算表達式

Trial>> 123 * 23.259

ans =

   2.8609e+03


MATLAB

MATLAB爲某些數學符號提供了一些特殊表達式,如piπInfi(和j)爲√-1.Nan表明「非數字」等。

2.在MATLAB中使用分號(;)

分號(;)表示結束語句。 可是,若是要抑制和隱藏表達式的MATLAB輸出,請在表達式後添加分號。

例如,

x = 3;
y = x + 5


MATLAB

上面代碼執行後,獲得如下結果 -

Trial>> x = 3;
y = x + 5

y =

     8


MATLAB

3.添加註釋

百分比符號(%)用於指示註釋行。 例如,

x = 9    % assign the value 9 to x


MATLAB

還可使用塊註釋運算符%{%}編寫一段註釋。

MATLAB編輯器包括工具和上下文菜單項,以幫助添加,刪除或更改註釋的格式。

4.經常使用的運算符和特殊字符

MATLAB支持如下經常使用的運算符和特殊字符 -

運算符 使用說明
+ 相加; 加法運算符。
- 相減; 減法運算符。
* 標量和矩陣乘法運算符。
.* 陣列乘法運算符。
^ 標量和矩陣求冪運算符。
.^ 陣列求冪運算符。
\ 左除法運算符。
/ 右除法運算符。
.\ 陣列左除法運算符。
./ 右除法運算符。
: 冒號; 生成規則間隔的元素,並表示整個行或列。
( ) 括號; 包含函數參數和數組索引; 覆蓋優先級。
[ ] 括號; 罩住陣列元素。
. 小數點。
省略號; 行連續運算符
, 逗號; 分隔一行中的語句和元素
; 分號; 分隔列並抑制輸出顯示。
% 百分號;指定一個註釋並指定格式。
_ 引用符號和轉置運算符。
._ 非共軛轉置運算符。
= 賦值運算符。

5.特殊變量和常數

MATLAB支持如下特殊變量和常量:

名稱 含義
ans 最近的迴應/回答。
eps 浮點精度精度。
i,j 虛構單位√-1
Inf 無窮
NaN 未定義的數值結果(非數字)。
pi 數字π

6. 命名變量

變量名稱由一個字母組成,後跟任意數字的字母,數字或下劃線。

MATLAB是區分大小寫的編程語言。

變量名稱能夠是任意長度,但MATLAB只使用前N個字符,其中N由函數namelengthmax給出。

7. 保存工做

save命令用於在工做空間中保存全部變量,它在當前目錄中,以.mat做爲擴展名的文件。

例如,

save mymat


MATLAB

能夠隨時使用load命令從新加載文件。

load mymat

三. Matlab變量

在MATLAB環境中,每一個變量都是數組或矩陣。

能夠以簡單的方式分配變量。 例如,

x = 12       % defining x and initializing it with a value


MATLAB

MATLAB執行上述語句並返回如下結果 -

Trial>> x = 12       % defining x and initializing it with a value

x =

    12


MATLAB

它建立一個名爲x1×1矩陣,並將值12存儲在其元素中。再來看一個例子,以下,

x = sqrt(16)     % defining x and initializing it with an expression


MATLAB

MATLAB執行上述語句並返回如下結果 -

Trial>> x = sqrt(16)     % defining x and initializing it with an expression

x =

     4


MATLAB

請注意 -

  • 當變量輸入到系統中,能夠在接下來代碼中引用。
  • 變量在使用前必須有值。
  • 當表達式返回未分配給任何變量的結果時,系統將其分配給名爲ans的變量,稍後可使用它。

例如,

sqrt(99)


MATLAB

MATLAB執行上述語句並返回如下結果 -

Trial>> sqrt(99)

ans =

    9.9499


MATLAB

可使用這個ans變量 -

sqrt(99);
99.499/ans

MATLAB執行上述語句並返回如下結果 -

Trial>> sqrt(99);
99.499/ans

ans =

   10.0000


MATLAB

下面咱們再來看另外一個例子 -

x = 7 * 8;
y = x * 7.89


MATLAB

MATLAB執行上述語句並返回如下結果 -

Trial>> x = 7 * 8;
y = x * 7.89

y =

  441.8400


MATLAB

1.多重分配賦值

能夠在同一行上擁有多個賦值。 例如,

a = 2; b = 7; c = a * b


MATLAB

MATLAB執行上述語句並返回如下結果 -

c = 14


MATLAB

2.變量歷史

who命令顯示使用過的全部變量名。

Trial>> who

您的變量爲:

ans  x    y


MATLAB

whos命令更多地顯示變量 -

  • 當前在內存中的變量
  • 每一個變量的類型
  • 每一個變量的內存分配
  • 是不是複合的變量?

執行結果以下 -

Trial>> whos 
  Name      Size            Bytes  Class     Attributes

  ans       1x1                 8  double              
  x         1x1                 8  double              
  y         1x1                 8  double


MATLAB

清除命令從存儲器中刪除全部(或指定的)變量。

clear x     % it will delete x, won't display anything
clear          % it will delete all variables in the workspace
            %  peacefully and unobtrusively


MATLAB

3.長任務

長任務能夠經過使用省略號(...)擴展到另外一行。 例如,

initial_velocity = 0;
acceleration = 9.8;
time = 20;
final_velocity = initial_velocity ...
    + acceleration * time


MATLAB

MATLAB執行上述語句並返回如下結果 -

Trial>> initial_velocity = 0;
acceleration = 9.8;
time = 20;
final_velocity = initial_velocity + acceleration * time

final_velocity =

   196


MATLAB

4.格式命令

默認狀況下,MATLAB顯示四位小數位數。這稱爲:短格式

可是,若是要更精確,則須要使用format命令。

format long命令顯示十進制後的16位數字。

例如 -

Trial>> format long
x = 7 + 10/3 + 5 ^ 1.2

x =

  17.231981640639408


MATLAB

另外一個示例以下 -

Trial>> format short
x = 7 + 10/3 + 5 ^ 1.2

x =

   17.2320


MATLAB

format bank命令將數字舍入到小數點後兩位。例如,

format bank
daily_wage = 177.45;
weekly_wage = daily_wage * 6


MATLAB

MATLAB執行上述語句並返回如下結果 -

Trial>> format bank
daily_wage = 177.45;
weekly_wage = daily_wage * 6

weekly_wage =

       1064.70


MATLAB

MATLAB使用指數符號顯示大數字。

format short e命令以指數形式顯示四位小數加上指數。

例如,

format short e
4.678 * 4.9


MATLAB

MATLAB執行上述語句並返回如下結果 -

Trial>> format short e
4.678 * 4.9

ans =

   2.2922e+01


MATLAB

format long e命令容許以指數形式顯示十六位小數加上指數。 例如,

format long e
x = pi


MATLAB

MATLAB執行上述語句並返回如下結果 -

Trial>> format long e
x = pi

x =

     3.141592653589793e+00


MATLAB

format rat命令給出計算結果最接近的合理表達式。 例如,

format rat
4.678 * 4.9


MATLAB

MATLAB執行上述語句並返回如下結果 -

Trial>> format rat
4.678 * 4.9

ans =

    2063/90


MATLAB

5.建立向量

向量是數字的一維數組。MATLAB容許建立兩種類型的向量:

  • 行向量
  • 列向量

行向量是經過用方括號中的元素集合來建立的,使用空格或逗號分隔元素。

例如,

r = [7 8 9 10 11]


MATLAB

MATLAB執行上述語句並返回如下結果 -

Trial>> r = [7 8 9 10 11]

r =

       7              8              9             10             11


MATLAB

另外一個示例

r = [7 8 9 10 11];
t = [2, 3, 4, 5, 6];
res = r + t


MATLAB

MATLAB執行上述語句並返回如下結果 -

Trial>> r = [7 8 9 10 11];
t = [2, 3, 4, 5, 6];
res = r + t

res =

       9             11             13             15             17


MATLAB

列向量經過用方括號中的元素集合來建立,使用分號(;)來分隔元素。

c = [7;  8;  9;  10; 11]


MATLAB

MATLAB執行上述語句並返回如下結果 -

Trial>> c = [7;  8;  9;  10; 11]

c =

       7       
       8       
       9       
      10       
      11


MATLAB

6.建立矩陣

矩陣是數字的二維數組。

在MATLAB中,經過將每行做爲一系列空格或逗號分隔的元素輸入矩陣,並以行號分隔一行。 例如,建立一個3x3的矩陣:

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


Maltab

MATLAB執行上述語句並返回如下結果 -

Trial>> m = [1 2 3; 4 5 6; 7 8 9]

m =

       1              2              3       
       4              5              6       
       7              8              9
相關文章
相關標籤/搜索