1. 程式人生 > 其它 >matlab fix函式_Matlab入門教程 第 1 章 Matlab基礎知識之數值資料

matlab fix函式_Matlab入門教程 第 1 章 Matlab基礎知識之數值資料

技術標籤:matlab fix函式matlab floor函式matlab 取餘matlab 取整matlab 四捨五入matlab向下取整

1.2 Matlab 數值資料

1.2.1 數值資料型別的分類

•整型•浮點型•複數型

① 整型

•無符號整數:無符號 8 位整數、無符號 16 位整數、無符號 32 位整數、無符號 64 位整數•帶符號整數:帶符號 8 位整數、帶符號 16 位整數、帶符號 32 位整數、帶符號 64 位整數

9ffcf0df1f6699b5efee28c529087351.png
資料範圍

? Matlab 提供了資料型別轉換函式來實現資料型別的轉換,例如,uint8 函式:數值資料 => 無符號 8 位整數,int8 函式:數值資料 => 帶符號 8 位整數。

舉例:

>> x = int8(129) % 呼叫 int8 函式x =  int8   127>> x = uint8(129)x =  uint8   129

② 浮點型

浮點型資料分為單精度型和雙精度型別,單精度型實數在記憶體中佔用 4 個位元組,雙精度佔 8 個位元組,所以雙精度型的資料精度更高。

數值資料預設是雙精度型資料

>> class(4) % 呼叫 class 函式獲取資料型別ans =    'double'>> class(single(4))ans =    'single'

③ 復型

復型資料包括實部虛部兩個部分,實部和虛部預設為雙精度型,虛數單位用 i 或 j 來表示。

例如:

>> 6 + 5 * ians =   6.0000 + 5.0000i>> 6 + 5 * jans =   6.0000 + 5.0000i

記住兩個函式:

⚡️ real 函式:求複數的實部

⚡️ imag 函式:求複數的虛部

1.2.2 數值資料的輸出格式

format 命令的格式:format 格式符

>> format long % 將輸出格式設定為 long 格式>> 50/3 % 輸出值ans =  16.666666666666668>> format % 輸出不帶格式符的 format 命令>> 50/3ans =   16.6667

☎️ 注意:format 命令隻影響資料輸出格式,而不影響資料的計算和儲存。

1.2.3 常用數學函式

① 呼叫格式

函式的呼叫格式為:函式名(函式自變數的值)

函式的自變數規定為矩陣變數,當然也可以是標量,標量本身是矩陣的一種特例。

函式在運算時是將函式逐項作用於矩陣的每個元素上,所以最後運算的結果就是一個與自變數同型的矩陣。

>> A = [4,2;3,6] % 2 行 2 列的矩陣A =     4     2     3     6>> B = exp(A) % 呼叫 exp 函式,求自然指數B =   54.5982    7.3891   20.0855  403.4288

② 常用函式的應用

? 注意點:

•(1)三角函式有以弧度為單位的函式和以角度為單位的函式,如果是以角度為單位的函式就在函式名後面加“d”,以示區別。

  >> sin(pi/2)  ans =       1  >> sind(90)  ans =       1

•(2)abs 函式可以求實數的絕對值、複數的模、字串的 ASCII 碼值。

  >> sin(pi/2)  ans =       1  >> sind(90)  ans =       1

•(3)用於取整的函式有 fix、floor、ceil、round•fix 函式:固定取靠近 0 的那個整數,即捨去小數取整•floor 函式:向下取整,取小於等於這個數的第一個整數•ceil 函式:向上取整,取大於等於這個數的第一個整數•round 函式:四捨五入進行取整

  >> ceil(-3.8)  ans =      -3  >> floor(3.6)  ans =       3  >> fix(-3.2)  ans =      -3  >> round(4.7)  ans =       5

•(4)函式應用舉例•分別求一個三位正整數的個位數字、十位數字和百位數字

    >> m = 345; % 建立變數 m,賦值為 345    >> m1 = rem(m,10) % 呼叫 rem 函式,取餘    m1 =         5    >> m2 = rem(fix(m/10),10) % fix 取整,再取餘    m2 =         4    >> m3 = fix(m/100) % 取整    m3 =         3

•求 [1,100]區間的所有素數

    >> x = 1:100; % 生成 1-100 全部整陣列成的向量 x    >> k = isprime(x); % 呼叫 isprime 函式,生成 k 向量    >> k1 = find(k); % k1 向量中是 k 向量中非 0 元素的序號    >> p = x(k1) % 輸出素數    p =      列 1 至 16         2     3     5     7    11    13    17    19    23    29    31    37    41    43    47    53      列 17 至 25        59    61    67    71    73    79    83    89    97

Matlab 提供了一個判斷 n 是否素數的函式 isprime(n),當 n 是素數時返回 1,否則返回 0。