MATLAB基礎學習(一) 計算基礎

2021-08-10 07:44:40 字數 4550 閱讀 3852

參考文獻《matlab語言常用演算法程式集合》

1.變數與常量

(1)變數:是數值計算的基本單元,變數名字區分大小寫。

名稱說明

format short

短格式(5位定點數)

format long

長格式(15位定點數)

format short e

短格式e方法

format long e

長格式e方法

format bank

2位十進位制格式

format short e

十六進製制格式

測試一下

>> format

short

>> test = 12.3

test =

12.3000

>> format

long

>> test = 12.3

test =

12.300000000000001

>>

由測試結果顯示可知:short顯示的是4位小數而不是5位,與參考書有出處,具體原因仍待考證。目前以實際測量為準。

(2)常量:指在matlab中已經預先定義其數值的變數。matlab預設常量見下表。 名稱

說明pi

圓周率inf

無窮大nan(或者nan)

代表不定值(0/0)

realmax

最大正實數

realmix

最小正實數

eps浮點數的相對誤差

i(或者j)

虛數單位

nargin

函式實際輸入引數個數

nargout

函式實際輸出引數個數

ans預設變數名,以應答最近一次操作運算結果

2.字串

字串作為字元陣列用單引號' '引用到程式中。

3.元胞陣列

元胞是元胞陣列的基本組成部分。元胞可以存放任何型別、任何大小的陣列,而且同乙個元胞陣列中各元胞的內容可以不同。

使用花括號表示元胞陣列的內容,使用圓括號()表示元胞元素。

使用celldisp函式可以顯示元胞陣列。

>> a = 

a =

'字串' [100] [2x3 double]

>>

上述元胞陣列包括了乙個字串、乙個常量100、乙個2*3的矩陣

>> celldisp(a)

a =字串

a = 100

a = 111

111>>

可以使用celldisp函式檢視陣列內容

4.構架陣列

構架陣列也能存放各類資料,使用指標的方式傳遞數值,使用.操作符連線結構變數名和屬性名,例如使用parameter.temperature表示某乙個物件的溫度引數,使用parameter.humidity表示這個物件的濕度引數等。

因此該構架陣列由兩個屬性組成。

5.物件

物件導向的mtalab語言採用了多種物件,如自動控制中常用到的,傳遞函式模型物件(tf object)、狀態空間模型物件(ss object),零極點模型物件(zpk object)

1.建立矩陣

矩陣以左方括號[開始,以右方括號]結束,每一行元素用分號;分割,每行中每個元素用空格或者分割。

>> a = [1,2,3;4,5,6]

a = 123

456>> b = [1

2;34]

b = 123

4>>

繼續輸入

>> c =[a;7,8,9]

c = 1 2 3

4 5 6

7 8 9

可以看到,在原來矩陣基礎上加一行,得到新矩陣c

2.訪問矩陣

- 單個元素的訪問:c(3,2),訪問第3行第2列

c =

1 2 3

4 5 6

7 8 9

>> c(3,2)

ans =

8

- 整列元素的訪問:訪問第3列元素

>> c(:,3)

ans =3

69

- 整行元素的訪問:訪問第1行元素

>> c(1,:)

ans =1 2 3

- 整塊元素的訪問:訪問乙個(2*2)的1-2行,2-3列組成的子塊矩陣

>> c(1:2,2:3)

ans =2 3

5 6

3.常用特殊矩陣生成函式

函式名稱

說明zeros()

生成元素全為0的矩陣

ones()

生成元素全為1的矩陣

rand()

生成均勻分布隨機矩陣

randn()

生成正態分佈隨機矩陣

magic()

生成魔方矩陣

diag()

生成對角矩陣

triu()

生成上三角矩陣

tril()

生成下三角矩陣

eye()

生成單位矩陣

company()

生成伴隨矩陣

hilb()

生成hilbert矩陣

vander()

生成vander矩陣

hankel()

生成hankel矩陣

hadamard()

生成hadamard矩陣

4.常用矩陣函式運算

函式名稱

說明rot90()

矩陣逆時針旋轉90度

flipud()

矩陣上下翻轉

fliplr()

矩陣左右翻轉

flipdim()

矩陣的某維元素翻轉

shiftdim()

矩陣的元素移位

eig()

計算矩陣的特徵值與特徵向量

rank()

計算矩陣的秩

trace()

計算矩陣的跡

norm()

計算矩陣的範數

poly()

計算矩陣的特徵方程的根

通過eig()函式計算矩陣a的特徵向量b和特徵值c

>> a = [1,2,3;4,5,6;7,8,9]

a = 1 2 3

4 5 6

7 8 9

>> [b,c] = eig(a)

b = -0.2320 -0.7858

0.4082

-0.5253 -0.0868 -0.8165

-0.8187

0.6123

0.4082

c = 16.1168 0 0

0 -1.1168 0

0 0 -0.0000

>>

5.常用矩陣分解運算函式

函式名稱

說明eig()

矩陣的特徵值分解

qr()

矩陣的qr分解

schur()

矩陣的schur分解

svd()

矩陣的奇異值分解

chol()

矩陣的cholesky分解

lu()

矩陣的lu分解

通過lu()函式對矩陣a進行lu分解,得到上三角陣u、下三角陣l、置換矩陣p

>> a = [6,2,1;2,3,1;1,1,1]

a = 6 2 1

2 3 1

1 1 1

>> [l,u,p] = lu(a)

l = 1.0000 0 0

0.3333 1.0000 0

0.1667 0.2857 1.0000

u = 6.0000 2.0000 1.0000

0 2.3333 0.6667

0 0 0.6429

p = 1 0 0

0 1 0

0 0 1

>>

python基礎學習 一 計算機基礎知識

2.計算機語言 3.互動方式 4.文字檔案和字符集 5.進製 6.環境變數 命令名稱 含義dir 顯示所有檔案目錄 md建立資料夾 rd刪除資料夾 cd進入資料夾 del刪除資料夾中的所有檔案 cd.返回上一級目錄 cd 退回到根目錄 exit 退出dos命令 編碼名稱 含義ascii 美國人編碼,...

GIS演算法基礎(一) 計算幾何基礎(上)

最近在學習gis演算法,在學習過程中,想把一些經典的演算法或者思想記錄下來,分享給大家 計算幾何基礎本來是計算機圖形學的內容,但是gis在影象處理中是離不開計算機處理的,所以gis演算法基礎第乙個應該是計算幾何基礎。如何把空間實體的點線面以及他們之間的關係 例如,相交,包含,鄰接,疊置等等 用計算機...

MATLAB基礎學習(一)基本數學計算

本次學習內容是使用matlab進行基本的數學計算,完成的是類似計算機計算數學算式的功能。基本計算 matlab中的基本的運算符號為 四則運算規則和平時使用的計算器相同,使用matlab進行計算時也需要注意計算的順序,先加減後乘除,需要改順序的時候需要使用括號。接下來是通過具體的例子進行計算的學習 1...