• matlab基础知识


    MATLAB 数值数据类型

    整型

           无符8位整型 0~255       函数uint8(data) 将data转无符整型 data超出范围则为127

          有符8位整型 -128~127   函数int8 将数值数据转带符号8位整型

          

    浮点型

           单精度 4字节                           函数single() 将数值数据转单精度   

           双精度 8字节 默认双精度        函数class()将数值数据转双精度

    复数型

           实部与虚部默认双精度 虚数单位用i或j表示

           函数real() 求实部

           函数imag() 求虚部

    format命令:数据的输出格式 ;只影响数据输出格式,不影响存储与计算

    语法 format 格式符     例如format long/short

    常用数学函数

           函数调用格式:函数名(函数自变量的值)

                  函数自变量的值为矩阵变量

           1、三角函数 例如:sin(x):x以弧度为单位   ; sind(x):x以角度为单位

           2、abs函数 求实数的绝对值、复数的mo、字符串的ASCII值

           3、取整函数  fix(取小数的整数部分),   floor(向下取整),     ceil(向上取整),    round(四舍五入)

           4、函数rem(m,n) m/n的余数

           5、y=isprime(x)     x矩阵中元素是素数的对应矩阵y元素相应值为1,否则为0

           6、sqrt(x) 求x的平方;exp(x) 求e的x次方

    变量

    1、预定义变量  使用时要避免对其重新赋值

           ans默认复制变量

           i和j代表虚数单位  例如:如果i在循环中使用,作为循环变量,则i不能代表虚数单位

           pi代表圆周率

           NaN代表非数

    2、who与whos命令

    3、内存变量文件

           save命令:创建内存变量文件 save mydata x  将变量x装入mydata文件

           load命令:装入内存变量文件 load mydata    装入后可以直接使用变量x

    matlab矩阵的表示

    1、 矩阵的建立

    a)       利用直接输入建立矩阵:将矩阵元素用中括号括起来,同一行元素用逗号或空格分隔,不同行用分号隔开;

    b)       利用已建好的矩阵建立更大的矩阵 类似分块矩阵

    c)        可用实部矩阵B和虚部矩阵C构成复数矩阵A 例:A=B+i*C;

    d)       冒号表达式,产生行向量,e1:e2:e3   e1为初始值,e2为步长,e3为终止值,e2省略,默认e2为1;

    e)       linspace(a, b, n) 函数产生向量,a表示第一个元素,b表示 最后一个元素,n表示元素总个数

    2、 (特殊矩阵)结构矩阵和单元矩阵的建立

    结构矩阵

    格式:结构矩阵元素.成员名=表达

     单元矩阵

         每个元素的数据类型不同,建立单元矩阵和一般矩阵相似,只是单元矩阵元元素用大括号表示。

    Matlab矩阵元素的引用

    1、 通过下标引用矩阵的元素

    例A(3,2) 表示第3行第2列的元素 A(3,2)=10 将第3行第2列的元素数值改为10;

    例A=[0,1;0,3]  A(2,3)=10 则A=[ 0, 1 ,0 ;0, 3, 10 ]  下标超过A的维度,对该下标对应元素赋值时,A将自动扩充

    2、 通过序号来引用

    A为m x n的矩阵;元素A(I,j)对应序号D=(j-1)*m+i

    sub2ind函数:将矩阵中指定元素的行、列下标转换成存储的序号。

    调用格式:D=sub2ind(S,I,J)  S表示行数和列数组成的向量 通常用size()函数获取 ,I表示要转换的行下标(I可以是矩阵),J表示要转换的列下标(J可为矩阵,则D也为对应矩阵);

                 

                  Ind2sub函数:将矩阵元素的序号转换成对应下标.

                         调用格式 [I,J]=ind2sub( S, D)  S表示行数和列数组成的向量, D是序号(矩阵)

    3、 利用冒号表达式获得子矩阵

    子矩阵是指:由矩阵中的一部分元素构成的矩阵

    A ( i , :0)                    第i行的全部元素

    A( : , j )                     第j列的全部元素

    A( i: i+m, j: j+n)         第i~i+m行内且在j~j+n列内的所有元素

    A( i:i+m , : )               第i~i+m行的全部函数

    end运算符 例如A( [ 1,4 ],3:end )  表示引用矩阵第1、4行的第3~最后一列的元素

      

    4、 删除矩阵元素

    例A( : ,[1,4 ] )=[]   删除第一列和第四列

    5、 改变矩阵的形状

    reshape(A,m,n):在矩阵总元素保持不变的情况下,将矩阵重排成mxn的二维矩阵

           A表示要改变的矩阵,改变成m行n列

    注意:reshape函数只是改变原矩阵的行数和列数,但不改变原矩阵元素个数以及存储顺序。

    特殊表示 A(:) 将每一列元素堆叠起来形成一个列向量

    Matlab的基本运算

    1、 算术运算

    a)      基本算术运算

    加减运算 同型矩阵之间的运算,标量与矩阵运算

    乘法运算 矩阵要可乘

    除法运算 分右除/、左除(一般两者不等价)  如果A是非奇异方阵,B/A等效B*inv(A) ;AB等效于inv(A)*B;一般B/A不等于BA (标量左除右除相同)

    b)     点运算(注意理解)

    点运算符:.* 和 ./ 和 . 和 .^  同型矩阵对应元素做相关运算

    2、关系运算符

    <、<= 、> 、>= 、==、~=(不等于) 关系结果真为1,假为0

    注:两个同型矩阵比较,结果也是0,1组成的同型矩阵;

               标量与一个矩阵比较,则是标量与矩阵每个元素逐个比较;结果也是0,1组成的同型矩阵;

    3、 逻辑运算符

    &,|,~

    Matlab字符串的处理

    导论:基本数据类型包括:数值型数据,字符串型数据

    1、 字符串的表示:字符串是用单引号括起来的字符序列,字符串将被看作行向量

    注:字符串中如果有单引号则要用两个单引号表示

    2、 建立多行字符串,形成字符串矩阵。

    例:x=[ ‘ I’’am hadoop ’, ’yi i’  ;   ‘nihao’ ,’ hello ’ ]

    3、 字符串的操作

    a)       字符串的执行:格式 y=eval(s) 其中将字符串S的作为matlab命令来执行得到的结果赋值给y

    b)       字符串与数值之间的转换:

                               i.            abs函数和double函数可以用来获取字符串矩阵所对应的ASCII码数值矩阵

                             ii.            char函数可以把ASCII码矩阵转为字符串矩阵

    c)字符串的比较

      i.  利用关系运算符比较   例:‘www0’ >=’W123’   ans=[1 1 1 0]

    ii. 利用函数比较:
               (1)strcmp(s1,s2)   s1==s2返回1 否则返回0

               (2)strncmp(s1,s2,n) 比较前n个字符相等返回1,否则返回0

               (3)strcmpi(s1,s2) 忽略大小写相等返回1,否则返回0

               (4)strncmpi(s1,s2,n) 忽略大小写比较前n个字符相等返回1,否返回0

    d)字符串的查找与替换

       i. findstr(s1,s2):返回短字符串在长字符串中的开始位置

       ii. strrep(s1s2s,s3):将字符串s1中的所有子字符串s2替换为字符串s3

  • 相关阅读:
    CSS去掉 a 标签点击后出现的虚线框
    AMD 和 CMD的区别
    sublime text常用快捷键
    jsonp详解
    JSON详解
    JS知识总结
    input 单选按钮radio 取消选中(转载)
    koala 编译scss不支持中文解决方案
    Spring事务的传播行为 @Transactional(转)
    Ubuntu下JDK+Tomcat+MySql环境的搭建
  • 原文地址:https://www.cnblogs.com/z-bear/p/9253033.html
Copyright © 2020-2023  润新知