0%

MATLAB之基础知识

本节介绍了MATLAB学习的一些基础知识,包括数值类型、矩阵的创建以及相关运算、字符串处理等。

MATLAB数据类型

  • MATLAB中数值数据默认double类型

    image-20221109122902166
  • single()函数:将其他类型的数据转化为单精度型

    image-20221109123220743
  • double()函数:将其他类型的数据转化为双精度型

  • 复数类型:

    • 实部和虚部默认为双精度型

    • 虚数单位用i或j来表示

    • real函数:求复数的实部

    • imag函数:求复数的虚部


常用数学函数

  • 三角函数:有以弧度为单位的函数和以角度为单位的函数,如果是以角度为单位的函数就在函数名后面加“d”

    image-20221109141448904
  • abs函数可以求实数的绝对值、复数的模、字符串的ASCII码值

    image-20221109141745974
  • 用于取整的函数有fix、floor、ceil、round

    • round函数按照四舍五入的规则取整
    • ceil函数是向上取整,取大于等于这个数的第一个整数
    • floor函数是向下取整,取小于等于这个数的第一个整数
    • fix函数是舍去小数取整
    image-20221109142322591
  • isprime()函数判断是否为素数:若是则返回1,否则返回0

    image-20221109142852414
  • perms()函数可以用来计算全排列

    image-20221120125607598

内存变量文件

  • save命令:创建内存变量文件

  • load命令:装入内存变量文件

    1
    2
    save mydata a x
    load mydata

MATLAB矩阵的表示

1.基本矩阵的建立

  • 利用直接输入法建立矩阵:将矩阵的元素用中括号括起来,按矩阵行的顺序输入各元素,同一行的各元素之间用逗号或空格分隔,不同行的元素之间用分号分隔

    image-20221109144556051
  • 利用已建好的矩阵建立更大的矩阵:一个大矩阵可以由已经建立好的小矩阵拼接而成

    image-20221109144914092

2.行向量的建立

  • 使用冒号表达式

    • 格式:e1:e2:e3
    • 其中,e1为初始值,e2为步长,e3为终止值
    • 如果省略步长e2,则步长为1
    image-20221109145523588
  • 使用linspace()函数

    • linspace(a,b,n)
    • 其中,a为第一个元素,b为最后一个元素,n为元素总个数
    image-20221109145746394

3.结构矩阵的建立

  • 结构矩阵.成员名=表达式

    image-20221109150859310

    结果如下:

    image-20221109150953705

4.单元矩阵的建立

  • 建立单元矩阵和基本矩阵相似,只是单元矩阵元素用大括号括起来

  • 其允许输入不同数据类型的数据

    image-20221109151403981

矩阵元素的引用

  • 通过下标来引用矩阵的元素,若下标超过矩阵大小,将用0填充

    image-20221109152801772
  • 通过序号来引用:矩阵中的元素按列存储

    image-20221109153206104
  • 矩阵元素的删除:通过对元素赋予[]从而删除元素

    image-20221109154021265
  • 改变矩阵的形状reshape(A,m,n),在矩阵总元素保持不变得前提下,将矩阵A重新排成m×n的二维矩阵

    image-20221109155627818

MATLAB基本运算

  • 除法运算

    • B/A等效于B*inv(A)
    • A\B等效于inv(A)*B
  • 乘法运算与点乘运算

    • *表示矩阵相乘

    • .*表示两个矩阵中对应元素相乘

    image-20221109162421397
  • 逻辑运算符:&、|、~

  • 实例:水仙花数是指各位数字的立方之和等于该数本身的三位正整数,求全部水仙花数

    image-20221109163246893

字符串处理

1.字符串的表示

  • 在MATLAB中,字符串是用单引号括起来的字符序列

    image-20221109164858570
  • 若字符串中的字符含有单引号,则该单引号字符要用两个单引号来表示

    image-20221109165035761
  • 建立多行字符串,形成字符串矩阵

    image-20221109165516169

2.字符串的操作

  • eval(s) %表示执行字符串中的内容

    image-20221109165804919
  • 字符串与数值之间的转换

    • absdouble函数都可以用来获取字符串矩阵所对应的ASCII码数值矩阵
    • char函数可以把ASCII码矩阵转化为字符串矩阵
    image-20221109170131759
  • 字符串的比较

    • 关系运算符比较:两个字符串中的元素分别比较

      image-20221109170323450
    • 字符串比较函数

      • strcmp(s1,s2):用来比较字符串s1和s2是否相等,如果相等,返回结果1,否则返回0
      • strcmpn(s1,s2,n):用来比较字符串s1和s2中前n个字符串是否相等,如果相等,返回结果1,否则返回0
      • strcmpi(s1,s2):在忽略字母大小写前提下,比较字符串s1和s2是否相等,如果相等,返回结果1,否则返回0
      • strcmpi(s1,s2):在忽略字母大小写前提下,比较字符串s1和s2中前n个字符串是否相等,如果相等,返回结果1,否则返回0
      image-20221109172205320
  • 字符串的查找与替换

    • findstr(s1,s2):返回短字符串在长字符串中的开始位置
    • strrep(s1,s2,s3):将字符串s1中的所有子字符串s2替换为字符串s3
    image-20221109172940944
欢迎来到ssy的世界