本节介绍了MATLAB学习的一些基础知识,包括数值类型、矩阵的创建以及相关运算、字符串处理等。
MATLAB数据类型
MATLAB中数值数据默认double类型
single()函数:将其他类型的数据转化为单精度型
double()函数:将其他类型的数据转化为双精度型
复数类型:
实部和虚部默认为双精度型
虚数单位用i或j来表示
real函数:求复数的实部
imag函数:求复数的虚部
常用数学函数
三角函数:有以弧度为单位的函数和以角度为单位的函数,如果是以角度为单位的函数就在函数名后面加“d”
abs函数可以求实数的绝对值、复数的模、字符串的ASCII码值
用于取整的函数有fix、floor、ceil、round
- round函数按照四舍五入的规则取整
- ceil函数是向上取整,取大于等于这个数的第一个整数
- floor函数是向下取整,取小于等于这个数的第一个整数
- fix函数是舍去小数取整
isprime()函数判断是否为素数:若是则返回1,否则返回0
perms()函数可以用来计算全排列
内存变量文件
save命令:创建内存变量文件
load命令:装入内存变量文件
1
2save mydata a x
load mydata
MATLAB矩阵的表示
1.基本矩阵的建立
利用直接输入法建立矩阵:将矩阵的元素用中括号括起来,按矩阵行的顺序输入各元素,同一行的各元素之间用逗号或空格分隔,不同行的元素之间用分号分隔
利用已建好的矩阵建立更大的矩阵:一个大矩阵可以由已经建立好的小矩阵拼接而成
2.行向量的建立
使用冒号表达式
- 格式:e1:e2:e3
- 其中,e1为初始值,e2为步长,e3为终止值
- 如果省略步长e2,则步长为1
使用linspace()函数
linspace(a,b,n)
- 其中,a为第一个元素,b为最后一个元素,n为元素总个数
3.结构矩阵的建立
结构矩阵.成员名=表达式
结果如下:
4.单元矩阵的建立
建立单元矩阵和基本矩阵相似,只是单元矩阵元素用大括号括起来
其允许输入不同数据类型的数据
矩阵元素的引用
通过下标来引用矩阵的元素,若下标超过矩阵大小,将用0填充
通过序号来引用:矩阵中的元素按列存储
矩阵元素的删除:通过对元素赋予[]从而删除元素
改变矩阵的形状:
reshape(A,m,n)
,在矩阵总元素保持不变得前提下,将矩阵A重新排成m×n的二维矩阵
MATLAB基本运算
除法运算
- B/A等效于B*inv(A)
- A\B等效于inv(A)*B
乘法运算与点乘运算
*表示矩阵相乘
.*表示两个矩阵中对应元素相乘
逻辑运算符:&、|、~
实例:水仙花数是指各位数字的立方之和等于该数本身的三位正整数,求全部水仙花数
字符串处理
1.字符串的表示
在MATLAB中,字符串是用单引号括起来的字符序列
若字符串中的字符含有单引号,则该单引号字符要用两个单引号来表示
建立多行字符串,形成字符串矩阵
2.字符串的操作
eval(s)
%表示执行字符串中的内容字符串与数值之间的转换
abs
与double
函数都可以用来获取字符串矩阵所对应的ASCII码数值矩阵char
函数可以把ASCII码矩阵转化为字符串矩阵
字符串的比较
关系运算符比较:两个字符串中的元素分别比较
字符串比较函数
strcmp(s1,s2)
:用来比较字符串s1和s2是否相等,如果相等,返回结果1,否则返回0strcmpn(s1,s2,n)
:用来比较字符串s1和s2中前n个字符串是否相等,如果相等,返回结果1,否则返回0strcmpi(s1,s2)
:在忽略字母大小写前提下,比较字符串s1和s2是否相等,如果相等,返回结果1,否则返回0strcmpi(s1,s2)
:在忽略字母大小写前提下,比较字符串s1和s2中前n个字符串是否相等,如果相等,返回结果1,否则返回0
字符串的查找与替换
findstr(s1,s2)
:返回短字符串在长字符串中的开始位置strrep(s1,s2,s3)
:将字符串s1中的所有子字符串s2替换为字符串s3