zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    java操作生成jar包 和写入jar包
    jboss配置jndi连接池
    windows 域的LDAP查询相关举例
    LDAP error Code 及解决方法
    HDU 6417
    CF1299D Around the World
    codechef Chef and The Colored Grid
    Educational Codeforces Round 82 (Rated for Div. 2)
    CF1237F Balanced Domino Placements
    CF1254E Send Tree to Charlie
  • 原文地址:https://www.cnblogs.com/z-bear/p/9253033.html
Copyright © 2011-2022 走看看