MATLAB期末复习笔记(上)
一、初识MATLAB
1.特点
MATLAB语言主要有以下几个特点:
语法规则简单。尤其内定的编程规则,与其他编程语言(如C、Fortran等)相比更接近于常规数学表示。对于数组变量的使用,不需类型声明,无需事先申请内存空间。
MATLAB基本的语言环境提供了数以千计的计算函数,极大的提高了用户的编程效率。函数库、工具箱和App使得Matlab功能异常强大。
MATLAB是一种脚本式(scripted)的解释型语言,无论是命令、函数或变量,只要在命令窗口的提示符下键入,并“回车(Enter)”,MATLAB都予以解释执行。
平台无关性(可移植性)。MATLAB软件可以运行在很多不同的计算机系统平台上,如Windows Me/NT/2000/XP、很多不同版本的UNIX以及Linux。无论你在哪一个平台上编写的程序都可以运行在其它平台上,对于MATLAB数据文件也一样,是平台无关的。极大保护了用户的劳动、方便了用户。其绘图功能也是平台无关的。无论任何系统平台,只要MATLAB能够运行,其图形功能命令就能正常运行。
2.Matlab的三层理解
极简的解释型编程语言;
功能强大的工程计算和工程仿 真软件;
原型工程系统的开发环境
3.通用窗口
4.变量的命名规则
变量名由数字、字母、下划线组成,开头必须是字母
5.运算符
eps:是浮点相对误差限,是指计算机用于区分两个数的差的最小常数,具体大小和计算机有关,理解为机器最小数,通常在做除法时,分母加上eps,防止分母为0,不能运算
NaN:如果运算有未定义的数值结果,如 0/0 或 0*Inf,则运算返回 NaN
intmax/intmin:使用方法:intmax("uint8") --> ans = 255 intmax("uint8") --> ans = 0
tic/toc:用来给程序计时,tic表开始计时,toc表结束计时
realmax:最大的实数
xor:表异或,xor(a,b)当a,b均为1或均为0时返回0,否则返回1
6.通用命令
常用命令
常用的窗口帮助命令
7.Matlab的文件格式
8.设置搜索路径的常用命令
9.练习
二、数组运算及数组化编程
1.数组和矩阵的概念
2.矩阵的创建、索引和赋值
(1)直接创建
(2)使用(:)操纵符和linspace(), logspace()等函数创建
logspace 函数 生成一个由在 10^a 和 10^b(10 的 N 次幂)之间的 50 (n默认为50)个对数间距点组成的行向量 y ,即是等比数列
linspace是等差数列
(3)使用matlab的特殊矩阵函数创建数组
round是四舍五入
floor是向负无穷取整
ceil是向正无穷取整
fix是向0取整
idivide(A,B)函数 将 A 的每个元素除以 B 的对应元素,朝零方向舍入到最接近的整数。
magic魔方阵的意思是矩阵元素是由整数1到n^2组成的,并且任何行任何列的和都相等
hilb是指元素H(i,j) = 1/(i+j-1),i和j表示矩阵的行号和列号
(4)索引
sub2ind - 将下标由全下标转换为单下标
ind2sub - 将下标由单下标转换为全下标
注意:
(5)矩阵的拼接
(6)利用数组编辑器创建数组
(7)利用数据文件创建数组
3.多维数组和空数组
(1)多维数组
(2)空数组
空数组并非全0数组
(3)数组维数的减小
4.矩阵的基本运算
(1)矩阵的除法
(2)矩阵的幂运算
(3)矩阵的关系运算
返回的是逻辑矩阵
(4)练习
reshape - 重构数组
此 MATLAB 函数 使用大小向量 sz 重构 A 以定义 size(B)。例如,reshape(A,[2,3]) 将
A 重构为一个 2×3 矩阵。sz 必须至少包含 2 个元素,重构后的数组和原数组相比单下标不变
fliplr - 将数组从左向右翻转
此 MATLAB 函数 返回 A,围绕垂直轴按左右方向翻转其各列。
mod和rem都是取余数
mod 和 rem之间的区别:
除后所得余数的概念的定义不是唯一的,两个函数 mod 和 rem 各计算不同的结果。mod 函数生成一个为零或与除数具有相同符号的结果。rem 函数生成一个为零或与被除数具有相同符号的结果。
另一个差别是当除数为零时的约定。mod 函数遵从 mod(a,0) 返回 a 的约定,而 rem 函数遵从 rem(a,0) 返回 NaN 的约定。
两个结果都有其各自的用途。例如,在进行信号处理时,mod 函数可在周期信号上下文中使用,因为其输出是周期性的(周期等于除数)。
(5)矩阵的逻辑运算
5.矩阵的函数和程序设计
(1)矩阵的信息获取函数
isempty判断是否为空数组
isscalar判断是否为标量
isvector判断是否为向量
find找符合条件的线性索引,当输出是两个参数时就是全下标索引
sort按升序对 A 的元素进行排序,C为排序后的矩阵,I是一个数组,表示每个元素在排序后的位置。例如,如果I(1)是5,那么这意味着排序后数组中的第一个元素在原数组中的位置是5。也就是说A(I)=C
(2)矩阵的操纵函数
diff函数详见matlab——diff函数_matlab diff-CSDN博客
6.数组化编程
7.应用举例
(1)二维
(2)三维