MATLAB数据类型

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]
2.1.8、map容器类型

2.1.8、map容器类型

    原文作者:凉风起天末_
    原文地址: https://www.jianshu.com/p/8191c867174d
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞