目錄變數
矩陣運算子
陣列運算子 函式
表示式示例
與大多數其他程式語言一樣,matlab® 語言提供數學表示式,但與大多數程式語言不同的是,這些表示式涉及整個矩陣。
matlab 不需要任何型別宣告或維度說明。當 matlab 遇到新的變數名稱時,它會自動建立變數,並分配適當大小的儲存。如果此變數已存在,matlab 會更改其內容,並根據需要分配新儲存。例如,
num_students = 25
建立乙個名為num_students
的 1×1 矩陣,並將值 25 儲存在該矩陣的單一元素中。要檢視分配給任何變數的矩陣,只需輸入變數名稱即可。
變數名稱包括乙個字母,後面可以跟隨任意數目的字母、數字或下劃線。matlab 區分大小寫;它可以區分大寫和小寫字母。a
和a
不是相同變數。
儘管變數名稱可以為任意長度,matlab 僅使用名稱的前n
個字元(其中n
是函式namelengthmax
返回的數字),並忽略其餘字元。因此,很重要的一點是,應使每個變數名稱的前n
個字元保持唯一,以便 matlab 能夠區分變數。
n = namelengthmax
n = 63
表示式使用大家熟悉的算術運算子和優先法則。
+
加法
減法*
乘法
/
除法
\
左除
^
冪
'
復共軛轉置
( )
指定計算順序
如果矩陣不用於線性代數運算,則成為二維數值陣列。陣列的算術運算按元素執行。這意味著,加法和減法運算對陣列和矩陣都是相同的,但乘法運算不相同。matlab 的乘法陣列運算表示法中包含點,也就是小數點。
運算子列表包括
+
加法
-
減法
.*
逐元素乘法
./
逐元素除法
.\
逐元素左除
.^
逐元素冪
.'
非共軛陣列轉置
如果使用陣列乘法將丟勒的幻方矩陣自乘
a.*a
則會生成乙個陣列,該陣列包含介於 1 至 16 之間的整數的平方,並且以不常見的順序排列:
ans =
256 9 4 169
25 100 121 64
81 36 49 144
16 225 196 1
構建表
陣列運算對構建表非常有用。假定n
為列向量
n = (0:9)';
然後,
pows = [n n.^2 2.^n]
構建乙個平方和 2 次冪的表:
pows =
0 0 1
1 1 2
2 4 4
3 9 8
4 16 16
5 25 32
6 36 64
7 49 128
8 64 256
9 81 512
初等數學函式逐元素處理陣列元素。因此
format short g
x = (1:0.1:2)';
logs = [x log10(x)]
構建乙個對數表。
logs =
1.0 0
1.1 0.04139
1.2 0.07918
1.3 0.11394
1.4 0.14613
1.5 0.17609
1.6 0.20412
1.7 0.23045
1.8 0.25527
1.9 0.27875
2.0 0.30103
matlab 提供了大量標準初等數學函式,包括abs
、sqrt
、exp
和sin
。生成負數的平方根或對數不會導致錯誤;系統會自動生成相應的複數結果。matlab 還提供了許多其他高等數學函式,包括貝塞爾函式和 gamma 函式。其中的大多數函式都接受複數引數。有關初等數學函式的列表,請鍵入
help elfun
有關更多高等數學函式和矩陣函式的列表,請鍵入
help specfun
help elmat
某些函式(例如,sqrt
和sin
)是內建函式。內建函式是 matlab 核心的一部分,因此這些函式非常高效,但計算詳細資訊是不可訪問的。其他函式使用 matlab 程式語言實現,因此可以訪問其計算詳細資訊。
內建函式與其他函式之間存在一些差異。例如,對於內建函式,您看不到**。對於其他函式,您可以看到**,甚至可以根據需要修改**。
一些特殊函式提供了有用的常量值。
pi
3.14159265...
i
虛數單位 g−1
j
與i
相同
eps
浮點相對精度 ε=2−52
realmin
最小浮點數 2−1022
realmax
最大浮點數 (2−ε)21023
inf
無窮大nan
非數字
通過將非零值除以零或計算明確定義的溢位(即超過realmax
)的數學表示式,會生成無窮大。通過嘗試計算0/0
或inf
-inf
等沒有明確定義的數值的表示式,會生成非數字。
函式名稱不會保留。您可以使用如下新變數覆蓋任何函式名稱
eps = 1.e-6
並在後續計算中使用該值。可以使用以下命令恢復原始函式
clear eps
您已經學習了 matlab 表示式的幾個示例。下面是一些其他示例及生成的值:
rho = (1+sqrt(5))/2
rho =
1.6180
a = abs(3+4i)
a = 5
z = sqrt(besselk(4/3,rho-i))
z = 0.3730+ 0.3214i
huge = exp(log(realmax))
huge =
1.7977e+308
toobig = pi*huge
toobig =
inf
深度學習 MATLAB 入門系列(二)
本系列來自 mathworks load a pre trained,deep,convolutional network alex alexnet layers alex.layers modify the network to use five categories layers 23 full...
MATLAB入門學習(五)
現在,我們來學畫圖吧。繪製函式影象最常用的命令是plot plot x,y,s x,y為同維向量,繪製分別以x為橫座標,y為縱座標的曲線 如果x y 是矩陣的話則會繪製多條曲線,用不同顏色表示 s是可選項,用於圖形修飾 具體有那些看help plot 裡面就可以了 另外還可以直接plot x,s 這...
Matlab入門學習(程式設計)
一 迴圈 for,while for迴圈 for i begin step end endwhile迴圈 while condition end二 分枝 if,if else,switch case if condition else endswitch var case value1 case v...