天天看點

室内定位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程式筆記
%% 建立複數值矩陣并計算每個元素的相位角。
>> 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 ( )

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

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

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

  2. 如果 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 ( )

功能:求數組的均值

  1. 如果 A 是向量,則 mean(A) 傳回元素均值。
  2. 如果 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程式筆記

繼續閱讀