2.1、數(shù)據(jù)類型
2.1.1、數(shù)值類型
1.整數(shù)類型
基本于其它語言平行洛口,記錄幾個(gè)取整函數(shù)
floor(x)
:向下取整
ceil(x)
:向上取整
round(x)
:取最接近的整數(shù)影兽,處于0.5策精,取絕對(duì)值大的
fix(x)
:取整數(shù)部分
2.浮點(diǎn)數(shù)類型
包括單精度和雙精度舰始,matlab默認(rèn)數(shù)據(jù)類型為
雙精度
eps函數(shù)
:獲取一個(gè)數(shù)值和最接近該數(shù)值的浮點(diǎn)數(shù)之間的間隙
format long
eps(3)
ans =
4.4409e-16
>> eps(single(3))
ans =
2.3842e-07
3.復(fù)數(shù)
默認(rèn)使用字符i或字符j作為虛部標(biāo)志,記錄幾個(gè)有關(guān)復(fù)數(shù)的相關(guān)函數(shù)
real(x)
:返回實(shí)部
abs(x)
:返回模
conj(x)
:返回共軛復(fù)數(shù)
imag(x)
:返回虛部
angle(x)
:返回輻角
comples(x,y)
:創(chuàng)建x為實(shí)部咽袜,y為虛部的復(fù)數(shù)
4.無窮量(Inf)和非數(shù)值量(NaN)
字面意思丸卷,記錄數(shù)據(jù)產(chǎn)生和性質(zhì)
a = 0/0,b = log(0),c=inf-inf
a,c為NaN,b為-inf
2.1.2、邏輯類型
1.關(guān)系操作符
~=
:不等于
==
:等于
(其他的關(guān)系操作符基本平行)
2.邏輯運(yùn)算符
&
:與
|
:或
~
:非
邏輯函數(shù)
xor(x,y):異或運(yùn)算询刹,同真同假返回0谜嫉,其余為1
any(x):判斷是否為0矩陣,是返回1
判斷函數(shù)
p24凹联,百度
2.1.3沐兰、字符和字符串
1.基本和python
平行,以下為索引和拼接的例子
>> string ='every good boy does fun.';
>> u=string(7:10)
u =
good
>> a = 'hello';b = ' world!';
>> w=[a,b]
w =
hello world!
2.1.4蔽挠、函數(shù)句柄
1.函數(shù)句柄實(shí)際上提供了一種間接調(diào)用函數(shù)的方法
2.一般格式為function_handle = @function_filename;
,@
:句柄創(chuàng)建操作符
3.范例:
>> x = 0:0.25*pi:2*pi
x =
1 至 8 列
0 0.7854 1.5708 2.3562 3.1416 3.9270 4.7124 5.4978
9 列
6.2832
>> f_handle(x)
ans =
1 至 8 列
1.0000 0.7071 0.0000 -0.7071 -1.0000 -0.7071 -0.0000 0.7071
9 列
1.0000
4.函數(shù)句柄的操作函數(shù)
function(function_handle)
:返回結(jié)構(gòu)體住闯,存貯函數(shù)信息和M文件的位置
isa(var,
function_handle)
:判斷var
是否為函數(shù)句柄
...
2.1.5、結(jié)構(gòu)體類型
1.結(jié)構(gòu)體存儲(chǔ)不同類型的數(shù)據(jù)澳淑,把多個(gè)相關(guān)聯(lián)的不同類型的數(shù)據(jù)封裝到一個(gè)數(shù)據(jù)體對(duì)象中
>> s.name='sam';
>> s.grade=6;
>> s.subject=['chinese','math','english'];
>> s.result=[99,98,100];
>> s
s =
name: 'sam'
grade: 6
subject: 'chinesemathenglish'
result: [99 98 100]
2.使用struct
函數(shù)創(chuàng)建結(jié)構(gòu)體
>> newarray=struct('day',{'thursday','friday'},'time',{'15:00','9:00'},'number',{18,6})
newarray =
1x2 struct array with fields:
day
time
number
>> newarray(1)
ans =
day: 'thursday'
time: '15:00'
number: 18
>> newarray(2)
ans =
day: 'friday'
time: '9:00'
number: 6
2.1.6寞秃、數(shù)組類型
1.matlab
的所有數(shù)據(jù)類型都是按照數(shù)組和矩陣形式進(jìn)行存儲(chǔ)和運(yùn)算
2.array = i:k
:從i
開始,步長(zhǎng)為1
偶惠,到k
結(jié)束
3.array = i:j:k
:從i
開始,步長(zhǎng)為j
朗涩,到k
結(jié)束
4.array = linspace(a,b,n)
:在[a,b]
上創(chuàng)建一個(gè)含有n
個(gè)元素的向量忽孽,等差形式
4.array_Empty[]
:創(chuàng)建空數(shù)組
2.1.7、單元數(shù)組類型
1.概述:單元數(shù)組的每一個(gè)元素成為單元谢床,每個(gè)單元也可以是一個(gè)單元數(shù)組
2.賦值語句創(chuàng)建元數(shù)組
>> c={'x',[1;3;6],10,pi}
c =
'x' [3x1 double] [10] [3.1416]
>> c={'x',[1;3;6];10,pi}
c =
'x' [3x1 double]
[10] [ 3.1416]
3.利用cell
函數(shù)創(chuàng)建cellname = cell (m,n)
>> a = cell(2,2)
b=cell(1)
a =
[] []
[] []
b =
{[]}
4.單位數(shù)組尋訪
c{2,3}
:表示第二行第三列的單元
5.單元數(shù)組的操作
- 合并:
c={a b}
- 刪除:`c{m,n}=[]
-
reshape
函數(shù)改變單元數(shù)組的形狀
trimc = reshape(c,m,n)
>> a = {[1,2,3];[4,5,6]}
a =
[1x3 double]
[1x3 double]
>> whos a
Name Size Bytes Class Attributes
a 2x1 272 cell
>> new_a=reshape(a,[1,2])
new_a =
[1x3 double] [1x3 double]