天天看點

室内定位程式matlab,室内定位Matlab程式筆記

程式: fix( * )

功能:Y = fix(X) 将 X 的每個元素朝零方向四舍五入為最近的整數。對于正方向的 X,fix 的行為與 floor 相同。對于負方向的 X,fix 的行為與 ceil 相同。

>> X = [-1.9 -3.4; 1.6 2.5; -4.5 4.5]

>> X = 3×2

-1.9000 -3.4000

1.6000 2.5000

-4.5000 4.5000

>> Y = fix(X)

>> Y = 3×2

-1 -3

1 2

-4 4

程式: ones( * )

功能:ones()是産生一個全1矩陣

示例:

>> ones(3)

ans =

1 1 1

1 1 1

1 1 1

>> ones(3,4)

ans =

1 1 1 1

1 1 1 1

1 1 1 1

程式: 變量(index)

功能:變量名(索引值)為對變量(向量/矩陣)指定位置進行索引(初始值為1,而非0),注意時圓括号

示例:

>> b = [1 2 3 4 5]

b =

1 2 3 4 5

>> b(3)

ans =

3

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

a =

1 2 3

4 5 6

>> a(2,1)

ans =

4

程式: 變量([ ])

功能:變量名([ 索引值 ])為對變量(向量/矩陣)指定子序列進行索引(初始值為1,而非0),索引時按照列優先

示例:

>> b([3:5 1:2])

ans =

3 4 5 1 2

程式:find( X )

功能:find()函數的功能是找到向量或者矩陣中不為0的元素,傳回其索引下标;如果需要找到其中滿足一定條件的元素時,可在括号内指定

示例:

>> X = [1 0 4 -3 0 0 0 8 6]; find(X)

ans =

1 3 4 8 9

>> X = [1 0 4 -3 0 0 0 8 6]; find(X == 4)

ans =

3

程式:round( )

功能:round(X) 将 X 的每個元素四舍五入為最近的整數。在對等情況下,即有元素的小數部分恰為 0.5 時,round 函數會偏離零四舍五入到具有更大幅值的整數。round(X,N) 四舍五入到 N 位小數:

示例:

>> X = [2.11 3.5; -3.5 0.78]; Y = round(X)

Y =

2 4

-4 1

>> Y = round(pi,3)

Y =

3.1420

程式:max( );min( )

功能:通常用法1、A1=max(B) 若B為向量,則傳回最大值;若為矩陣,則傳回每列最大值;2、[A1 A2]=max(B) 若B為向量,則傳回【最大值 索引下标】;若B為矩陣,則傳回【每列最大值(向量) 每個最大值對應的行号(向量)】

示例:

>> [x y] = max([2 3 5 21 5 2])

x =

21

y =

4

>> [x y]= max([2 3 5 ;21 5 2])

x =

21 5 5

y =

2 2 1

程式: fseek()

功 能: 重定位流上的檔案指針

用 法: int fseek(FILE *stream, long offset, int fromwhere);

描 述: 函數設定檔案指針stream的位置。如果執行成功,stream将指向以fromwhere為基準,偏移offset個位元組的位置。如果執行失敗(比如offset超過檔案自身大小),則不改變stream指向的位置。

檔案中的起始位置,指定為字元向量、字元串标量或數值标量。

設定參數

功能描述

‘bof’ 或 -1

檔案的開頭

‘cof’ 或 0

檔案中的目前位置

‘eof’ 或 1

檔案的結尾

資料類型: double | char | string

程式:reshape( )

功能:reshape(A,sz1,…,szN) 将 A 重構為一個 sz1×…×szN 數組,其中 sz1,…,szN 訓示每個次元的大小。

示例:

%% 将向量重構為矩陣

>> A = 1:10; B = reshape(A,[5,2])

B =

1 6

2 7

3 8

4 9

5 10

%% 将多元數組重構成矩陣

>> A = zeros(3,2,3)

A(:,:,1) =

0 0

0 0

0 0

A(:,:,2) =

0 0

0 0

0 0

A(:,:,3) =

0 0

0 0

0 0

>> B = reshape(A,9,2)

B =

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

程式:angle( )

功能: 為複數數組 Z 的每個元素傳回相位角(以弧度為機關)。此角度介于 ±π 之間。

算法:angle 函數采用複數 z = x + iy 并計算 atan2(y,x),以求出 xy 平面上在 x 軸正方向與從原點到點 (x,y) 的射線之間形成的角度。此相位角也是複數對數的虛部,因為

室内定位程式matlab,室内定位Matlab程式筆記

%% 建立複數值矩陣并計算每個元素的相位角。

>> Z = [1 - 1i 2 + 1i 3 - 1i 4 + 1i;

1 + 2i 2 - 2i 3 + 2i 4 - 2i]

Z =

1 至 2 列

1.0000 - 1.0000i 2.0000 + 1.0000i

1.0000 + 2.0000i 2.0000 - 2.0000i

3 至 4 列

3.0000 - 1.0000i 4.0000 + 1.0000i

3.0000 + 2.0000i 4.0000 - 2.0000i

>> P = angle(Z)

P =

-0.7854 0.4636 -0.3218 0.2450

1.1071 -0.7854 0.5880 -0.4636

程式:diff ( )

功能:相鄰元素之間的差分;

如果 X 是長度為 m 的向量,則 Y = diff(X) 傳回長度為 m-1 的向量。Y 的元素是 X 相鄰元素之間的差分。

Y = [X(2)-X(1) X(3)-X(2) … X(m)-X(m-1)]

如果 X 是不為空的非向量 p×m 矩陣,則 Y = diff(X) 傳回大小為 (p-1)×m 的矩陣,其元素是 X 的行之間的差分。

Y = [X(2,:)-X(1,:); X(3,:)-X(2,:); … X(p,:)-X(p-1,:)]

如果 X 是 0×0 的空矩陣,則 Y = diff(X) 傳回 0×0 的空矩陣。

示例:

%% 建立一個向量,然後計算相鄰元素之間的一階差分。

>> X = [1 1 2 3 5 8 13 21]; Y = diff(X)

Y =

0 1 1 2 3 5 8

%% 建立一個 3×3 矩陣,然後計算各列之間的一階差分。

>> X = [1 1 1; 5 5 5; 25 25 25];

X =

1 1 1

5 5 5

25 25 25

>> Y = diff(X)

Y =

4 4 4

20 20 20

程式:mean ( )

功能:求數組的均值

如果 A 是向量,則 mean(A) 傳回元素均值。

如果 A 為矩陣,那麼 mean(A) 傳回包含每列均值的行向量。

示例:

>> X = [1 1 1; 5 5 5; 25 25 25];

X =

1 1 1

5 5 5

25 25 25

>> Y = mean(X)

Y =

10.3333 10.3333 10.3333

程式:format

功能:設定指令行視窗輸出顯示格式;format style 将指令行視窗中的輸出顯示格式更改為 style 指定的格式。

示例:

format long

pi

ans =

3.141592653589793

室内定位程式matlab,室内定位Matlab程式筆記