2.1、数据类型
2.1.1、数值类型
1.整数类型
基本于其它语言平行,记录几个取整函数
floor(x)
:向下取整
ceil(x)
:向上取整
round(x)
:取最接近的整数,处于0.5,取绝对值大的
fix(x)
:取整数部分
2.浮点数类型
包括单精度和双精度,matlab默认数据类型为
双精度
eps函数
:获取一个数值和最接近该数值的浮点数之间的间隙
format long
eps(3)
ans =
4.4409e-16
>> eps(single(3))
ans =
2.3842e-07
3.复数
默认使用字符i或字符j作为虚部标志,记录几个有关复数的相关函数
real(x)
:返回实部
abs(x)
:返回模
conj(x)
:返回共轭复数
imag(x)
:返回虚部
angle(x)
:返回辐角
comples(x,y)
:创建x为实部,y为虚部的复数
4.无穷量(Inf)和非数值量(NaN)
字面意思,记录数据产生和性质
a = 0/0,b = log(0),c=inf-inf
a,c为NaN,b为-inf
2.1.2、逻辑类型
1.关系操作符
~=
:不等于
==
:等于
(其他的关系操作符基本平行)
2.逻辑运算符
&
:与
|
:或
~
:非
逻辑函数
xor(x,y):异或运算,同真同假返回0,其余为1
any(x):判断是否为0矩阵,是返回1
判断函数
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、函数句柄
1.函数句柄实际上提供了一种间接调用函数的方法
2.一般格式为function_handle = @function_filename;
,@
:句柄创建操作符
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.函数句柄的操作函数
function(function_handle)
:返回结构体,存贮函数信息和M文件的位置
isa(var,
function_handle)
:判断var
是否为函数句柄
...
2.1.5、结构体类型
1.结构体存储不同类型的数据,把多个相关联的不同类型的数据封装到一个数据体对象中
>> 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
函数创建结构体
>> 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、数组类型
1.matlab
的所有数据类型都是按照数组和矩阵形式进行存储和运算
2.array = i:k
:从i
开始,步长为1
,到k
结束
3.array = i:j:k
:从i
开始,步长为j
,到k
结束
4.array = linspace(a,b,n)
:在[a,b]
上创建一个含有n
个元素的向量,等差形式
4.array_Empty[]
:创建空数组
2.1.7、单元数组类型
1.概述:单元数组的每一个元素成为单元,每个单元也可以是一个单元数组
2.赋值语句创建元数组
>> 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
函数创建cellname = cell (m,n)
>> a = cell(2,2)
b=cell(1)
a =
[] []
[] []
b =
{[]}
4.单位数组寻访
c{2,3}
:表示第二行第三列的单元
5.单元数组的操作
- 合并:
c={a b}
- 删除:`c{m,n}=[]
-
reshape
函数改变单元数组的形状
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]