matlab數值數據和變量名


1.2MATLAB數值數據

l  數值數據類型的分類

l  數值數據的輸出格式

l  常用數學函數內部函數

 

1.數值數據類型的分類

l  整型 

l  浮點型 

l  復數型

 

(1)整型

1.數值數據類型的分類

無符號整數:無符號8位整數、無符號16位整數、無符號32位整數、

無符號64位整數。 (按分配字節數)

帶符號整數:帶符號8位整數、帶符號16位整數、帶符號32位整數、

帶符號64位整數。

 

無符號8位整數數據范圍:00000000~11111111(0~2^8-1)。 

帶符號8位整數數據范圍:10000000~01111111(-2^7~2^7-1)。(最左邊為符號位,0表示正數,1表示負數)

 

Matlab提供數據類型轉換函數來實現數據類型的轉換。例如uint8函數將數值數據轉換為無符號8位整數,int8函數將數值數據轉換為有符號8位整數

 

>> x=int8(129)    //帶符號8位整型數據的最大值是127

x = 127

>> x=uint8(129)    //無符號最大為255

x = 129

 

(2)浮點型

分為單精度型型和雙精度類型,單精度型實數在內存中占用4個字節,雙精度型實數在內存中占用8個字節。雙精度型數據進度更高。MATLAB中默認為雙精度型。

single函數:將其他類型的數據轉換為單精度型。 

double函數:將其他類型的數據轉換為雙精度型。

 

>> class(4)    //調用class函數,得到數據類型

ans = double

>> class(single(4))

ans = single

>> class(double(4))

ans = double

 

(3)復型

復型數據包括實部和虛部兩個部分,實部和虛部默認為雙精度型,虛數單位用i或j來表示。 

real函數:求復數的實部

imag函數:求復數的虛部

>> 6+5i

ans = 6.0000 + 5.0000i

>> 6+5j

ans = 6.0000 + 5.0000j    //表示同一個復數

 

2.數據的輸出格式

可以采用日常計數法科學技術法兩種方法。

日常計數法:3.14159、-9.359i、3+5i

科學技術法:用字母小寫e或大寫E表示以10為底的指數。1.78029e2、6.732E2i(純虛數)、

 

format命令的格式:

format 格式符   //格式符決定了輸出格式

>> format long

 >> 50/3

ans = 16.666666666666668    15位

>> format

>> 50/3

ans = 16.6667   4位

 

TIP:注意:format命令只影響數據輸出格式 ,而不影響數據的計算和存儲。

 

 

3.常用數學函數

(1)函數的調用格式為:

函數名(函數自變量的值)

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

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

>> A=[4,2;3,6]

A = 4     2

3     6

>> B=exp(A)  //調用exp函數求自然指數  自變量為A賦值給B

 B = 54.5982    7.3891

20.0855  403.4288

TIP:MATLAB中和數學中自然對數表示不一樣。數學中ln表示。

(2)常用函數的應用

① 三角函數有以弧度為單位的函數和以角度為單位的函數,如果是以角度為單位的函數就在函數名后面加“d”,以示區別。

>> sin(pi/2)

 ans = 1

>> sind(90)

 ans = 1

 

② abs函數可以求實數的絕對值、復數的模、字符串的ASCII碼值。

>> abs(-4)

ans = 4

>> abs(3+4i)

ans = 5

>> abs('a')

ans = 97

 

③用於取整的函數有fix、floor、ceil、round。

>> round(4.7)

ans = 5

>> fix(-3.2)

ans = -3

>> floor(3.6)

ans = 3

>> ceil(-3.8)

ans = -3

 

round函數是按照四舍五入的規則來取整。

ceil是向上取整,取大於等於這個數的第一個整數。

floor是向下取整,取小於等於這個數的第一個整數。

fix是固定取靠近0的那個整數,也就是舍去小數取整。

 

④函數應用舉例。

例1:分別求一個三位正整數的個位數字、十位數字和百位數字。

數學上:三位正整數處於10的余數為該數的個位數字。除以10 取整后就去掉了這個數的個位數字,得到的數在除以10 取余數,余數就是新得到的數的個位數字,也就原來數字的十位數字。正整數除以100取整后就去掉了這個數的個位和十位數字,得到百位數字。

 

>> m=345;   //建立變量m,並賦值

>> m1=rem(m,10)   //調用rem函數,求余數並賦值

m1 = 5

>> m2=rem(fix(m/10),10)   //先調用fix函數取整,在調用rem函數求余數

m2 = 4

>> m3=fix(m/100)

m3 = 3

 

例2:求[1,100]區間的所有素數。

一般程序利用循環結構實現。MATLAB提供了一個判斷n是否素數的函數isprime(n),當n是素數時,返回1,否則返回0。

 

>> x=1:100;   //生成1-100全部整數組成的向量x

>> k=isprime(x);   //調用isprime函數  結果為1/0

>> k1=find(k);    //調用find函數生成k1向量  k1為k非0元素的序號,x的素數序號

>> p=x(k1)    //輸出全部素數

p =

1 至 13 列

2    3    5    7   11   13   17   19   23   29   31   37   41

14 至 25 列

43   47   53   59   61   67   71   73   79   83   89   97

 

 

1.3變量及其操作

計算機所處理的數據都是存放在內存單元中的,每個內存單元都有個唯一的地址。程序通過地址來訪問內存單元。

高級語言中,是通過名字訪問內存單元的。取了名的內存單元就叫變量。

1.變量與賦值語句

在MATLAB中,變量名是以字母開頭,后接字母、數字或下畫線的字符序列, 最多63個字符。

 

 

TIP:

(1)變量名區分字母的大小寫。 

(2)標准函數名以及命令名一般用小寫字母。

 

如何給變量賦值呢?

賦值語句兩種格式:

(1)變量=表達式 

(2)表達式   //賦值給matlab的預定義變量ans

如果在賦值語句的最后加分號,則僅僅執行賦值操作,不會顯示執行運算結果。

例子:

 

 

>> x=sqrt(7)-2i;     //調用了求平方根函數

>> y=exp(pi/2);     //調用了自然指數函數exp   不可以寫成乘方的形式

>> z=(5+cosd(47))/(1+abs(x-y))

Z = 1.4395

 

2.預定義變量

預定義變量是在MATLAB工作空間中駐留,由系統本身定義的變量。

  ans是默認賦值變量 

  i和j代表虛數單位 

  pi代表圓周率 

 NaN代表非數(重要)

使用的時候避免對預定義變量重新賦值。

 

3.變量的管理

(1)內存變量的刪除與修改

在工作區中修改。右擊,選擇對應命令。

 

who命令與whos命令  顯示在工作空間中已經駐留的變量名清單

 

 

(2)內存變量文件

用於保存MATLAB工作區變量的文件叫做內存變量文件,其擴展名為.mat

,也叫MAT文件。

  save命令:創建內存變量文件。

  load命令:裝入內存變量文件。

>> save mydata a x    //將變量a和x保存在mydata文件中

>> load mydata   


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM