美文网首页
MATLAB数据类型

MATLAB数据类型

作者: 凉风起天末_ | 来源:发表于2018-07-15 22:12 被阅读0次

    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容器类型

    相关文章

      网友评论

          本文标题:MATLAB数据类型

          本文链接:https://www.haomeiwen.com/subject/zsqmpftx.html