美文网首页互联网@时事传播散文读书
Matlab系列 --- Matlab基础(一)

Matlab系列 --- Matlab基础(一)

作者: 307656af5a04 | 来源:发表于2019-04-19 04:56 被阅读103次

    今天呢,我们来学习一下matlab的基础知识,包括基本的数据类型、运算符和特殊的符号以及matlab中日期和时间的方法、计时函数的引用。

    一、数据类型

    在matlab中有15种基本的数据类型,分别是8种整型数据、单精度浮点型、双精度浮点型、逻辑型、字符串型、单元数组、结构体类型和函数句柄。

    15种基本的数据类型

    数据类型的示例演示:

    clear all;
    a1=int8(6)      %8位有符号整型
    a2=int16(-20)   %16位有符号整型
    a3=uint32(100)  %32位无符号整型
    a4=uint64(200)  %64位无符号整型
    b1=single(3.5)  %单精度浮点数
    b2=12           %双精度浮点数,matlab默认的数据类型
    c1=true         %逻辑类型
    c2{1,1}=100     %单元数组型
    c3='hello'      %字符串型
    c4.name='robin'  %结构体型
    d=@cos           %函数句柄类型
    

    运行结果:

    a1 =
      int8
       6
    
    b1 =
      single
        3.5000
    
    b2 =
        12
    
    c1 =
      logical
       1
    
    c2 =
      1×1 cell 数组
        {[100]}
    
    c3 =
        'hello'
    
    c4 = 
      包含以下字段的 struct:
        name: 'robin'
    
    d =
      包含以下值的 function_handle:
        @cos
    

    在命令行模式下,输入whos可以显示这些变量的类型


    whos命令

    二、数值类型

    在matlab中,数值类型分为整数和浮点数,整数分为有符号整数和无符号整数,浮点数分为单精度浮点数和双精度浮点数。下面介绍整数、浮点数、复数以及数值的显示格式等。

    1、整数

    在matlab中共有8种整数类型,其中4中为有符号整型,4种为无符号整型。默认的数值类型为双精度浮点型,一般通过整型函数将浮点型数据转换为整型数据。

    整数类型

    整数的实例程序:

    clear all;
    a=24;        %双精度浮点型
    b1=int8(a)
    b2=int16(a)
    b3=int32(a)
    b4=int64(a)
    c='hello'  %字符串型
    int8(c)    %通过int8将字符串类型转换为有符号整型
    

    输出结果:

    在matlab种存在许多的取整函数,可以采用不同的方法将小数转换为整数。

    浮点数的取整函数

    示例:

    clear all;
    a1=round(2.5)   %3
    a2=round(-2.4)  %-2
    a3=round(-2.5)  %-3
    b1=fix(-3.6)  %-3
    b2=fix(-3.5)  %-3
    c1=floor(4.9)  %4
    c2=floor(-4.2) %-5
    d1=ceil(4.2)  %5
    d2=ceil(-4.4) %-4
    

    2、浮点数
    在matlab种,浮点数包括单精度浮点数(single)和双精度浮点数(double)。其中双精度浮点数是matlab中默认的数据类型。

    在matlab中,双精度浮点数采用8个字节,即64位来表示,其中第63位表示符号,0为正,1为负,即52-62位表示指数部分,第0-51位表示小数部分。

    在matlab中,单精度浮点数采用4个字节,即32位来表示,其中第31位为符号位,0为正,1为负,第23-30位为指数部分,0-22位为小数部分。单精度浮点数比双精度浮点数能表示的数值范围和数值精度都小。

    示例:

    clear all;
    a=123.34   %双精度浮点型
    b=single(a) %转换为单精度浮点型
    c1=double(a)  %转换为双精度浮点型
    c2=int16(a)  %转换为16位有符号整型
    c3=int32(a) %转换为32位有符号整型
    d1=[realmin('single') realmax('single')]  %得到单精度浮点型的取值范围
    d2=[realmax('double') realmax('double')] %得到双精度浮点型的取值范围
    

    运行结果:

    a =
      123.3400
    
    b =
      single
      123.3400
    
    c1 =
      123.3400
    
    c2 =
      int16
       123
    
    c3 =
      int32
       123
    
    d1 =
      1×2 single 行向量
       1.0e+38 *
        0.0000    3.4028
        
    d2 =
      1.0e+308 *
        1.7977    1.7977
    

    3、复数
    复数是对实数的扩展,包含实部和虚部两部分,虚部的单位的-1的平方根。在matlab中,采用i或j表示虚部的单位。可以采用赋值语句直接产生复数,也可以采用函数complex()来产生复数。

    复数的常用函数

    示例:

    clear all;
    z1=3+4i    %复数
    a1=real(z1) %复数的实部
    a2=imag(z1)%复数的虚部
    b1=abs(z1)%复数的模
    b2=angle(z1)%复数的角度
    c1=conj(z1)%复数的共轭复数
    z2=complex(1:3,2:4)  %构造三个复数
    %结果为: 1.0000 + 2.0000i   2.0000 + 3.0000i   3.0000 + 4.0000i
    real(z2) %1 2 3
    imag(z2) %2 3 4
    

    4、数据的显示格式
    在matlab中,可以采用函数format()确定数值类型的显示格式。改变数值的显示格式之后,会一直有效,直到再次利用函数format()进行修改。

    函数format()的调用格式

    示例:

    clear all;
    format short
    a=12.3456789
    format short 
    a
    format long
    a
    format long e
    a
    format short e
    a
    format bank
    a
    format +
    a
    format rational
    a
    format short
    

    要将数据的显示格式恢复为原来的格式,直接嗲用 format short就会显示为原来的格式。

    二、逻辑类型

    matlab中的运算包括数值计算、关系计算和逻辑计算。
    关系计算和逻辑计算的结果为逻辑类型。逻辑类型数据只有逻辑真和逻辑假。matlab中用1代表逻辑真,用函数true表示;用0代表逻辑假,用函数false表示。逻辑真和逻辑假都占用1个字节的存储空间。
    示例:

    clear all;
    a1=true
    a2=false
    a3=true(3,4)
    a4=false(3)
    

    运行结果:


    a3和a4的结果

    此外,可以采用函数logical()将数值类型转换为逻辑型,任何非0数值转换为逻辑真(即1);数值0转换为逻辑假(即0)。

    示例:

    clear all;
    a=3
    logical(a)
    b=0
    logical(b)
    c=[1.3 -3 0;2 0 4;0.01 9 1]
    logical(c)
    

    三、字符和字符串

    在matlab中,字符型数据类型用char表示。字符和字符串不进行区分,将单个字符看成是字符串,都用单引号(')括起来。字符串中的每个字符占用2个字节的存储空间。

    示例:

    clear all;
    a='My name is 张三'
    b=char([65 66 67 68])
    c=int8('hello')
    d='张'
    

    运行结果:

    字符和字符串

    四、函数句柄

    在matlab中,通过函数句柄来间接调用函数,函数句柄的数据类型为function_handle。函数句柄可以通过符号@后面跟函数名来创建,例如程序fhandle = @cos,创建了cos()的函数句柄,以后就可以通过函数句柄fhandle来间接调用函数cos()。

    函数句柄的常用函数

    示例:

    clear all;
    f1=@cos
    t=0:pi/5:pi
    f1(t)
    f2=@complex
    f2(3,4)
    

    运行结果:

    函数句柄

    示例:

    clear all;
    f1=@char
    s1=func2str(f1)   %函数句柄转化为字符串
    f2=str2func(s1)%字符串转换为函数句柄
    functions(f1)  
    isa(f1,'function_handle')
    isequal(f1,f2)  %判断f1和f2是不是指向同一个函数
    

    好了,今天的Matlab学到这里结束了,matlab的基础只学到了一部分,期待下次的学习,喜欢的朋友可以给我点赞哦!!!

    相关文章

      网友评论

        本文标题:Matlab系列 --- Matlab基础(一)

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