目录
1.3数据计算
1.3.1变量
1.定义变量
变量常用于保存程序中的临时数据
- 变量所用域
- 局部变量
- 在没有特殊说明的情况下,MATLAB把一切变量视为局部变量,仅在其使用的M文件内有效
- 全局变量
- 若将变量定义为全局变量,则应对变量进行说明,在变量前加global关键字,全局变量一般均用大写英文字母表示
- 变量在使用前必须在代码中进行声明,即创建(定义)该变量
- 局部变量

2.变量赋值
变量命名规则:
- 变量必须以字母开头, 之后可以是任意的数字、字母和下划线
- 变量名区分字母大小写
- 变量名不超过31个字符,第31字符后的字符将被忽略
- MATLAB赋值语句有两种格式
变量=表达式
表达式
变量的初始化包括以下两种形式
- 使用赋值语句初始化
- 使用 input() 函数从键盘中输入

###定义数值变量###

###函数赋值###

3.预定义的变量(常量)
特殊变量
- ans:默认变量
- pi:圆周率
- eps:浮点运算的相对精度
- inf:无穷大
- NaN:不定值
- i(j):复数中的虚数单位
- realmin:最小正浮点数
- realmax:最大正浮点数
###预定义变量###

###显示实数与复数的值###

###重定义变量###

4.变量函数
##who##
- who:按字母顺序列出当前活动工作区中所有变量的名称
- who-file filename:列出指定的mat文件中的变量名称
- who global:列出全局工作区中的变量名称
- who...var1...varN:只列出指定的变量,可与先前参数中的任何参数结合使用
- who...-regexp expr1...exprN:只列出与指定的正则表达式匹配的变量
- C=who(...):将变量的名称存储在元胞数组C中
##exist##
- 用于检查脚本、变量、函数、文件夹或类的存在情况
###检查变量###

1.3.2数据的显示格式
控制数字显示格式的命令是format
format调用格式:
- format(style):将命令窗口中的输出显示格式更改为style指定的格式
- fmt=format:自行将输出格式重置为默认值
###控制数值显示格式###
1.3.3运算符与函数
1.算术运算符
| 运算符 | 定义 |
| + | 算术加 |
| - | 算术减 |
| * | 算术乘 |
| .* | 点乘 |
| ^ | 算术乘方 |
| .^ | 点乘 |
| \ | 算术左除 |
| .\ | 点左除 |
| / | 算术右除 |
| ./ | 点右除 |
| ' | 矩阵转置(求共轭转置) |
| .' | 矩阵转置(不求共轭转置) |
###四则运算###

2.关系运算符(1、0表示满足与不满足)
| 运算符 | 定义 |
| == | 等于 |
| ~= | 不等于 |
| > | 大于 |
| >= | 大于等于 |
| < | 小于 |
| <= | 小于等于 |
###关系运算符运算###

3.逻辑运算符(真1;假0)
| 运算符 | 定义 |
| &或and | 与 |
| |或or | 或 |
| ~或not | 非 |
| xor | 异或 |
| any | 有非零元素则为真,否则为假 |
| all | 所有元素均非零则为真,否则为假 |
算术运算符>关系运算符>逻辑运算符
4.常用基本函数及三角函数
| 名称 | 说明 | 名称 | 说明 |
| abs(x) | 数量的绝对值或向量的长度 | sign(x) | 符号函数 |
| angle(z) | 复数z的相角 | sin(x) | 正弦函数 |
| sqrt(x) | 开平方 | cos(x) | 余弦函数 |
| real(z) | 复数z的实部 | tan(x) | 正切函数 |
| imag(z) | 复数z的虚部 | asin(x) | 反正弦函数 |
| conj(z) | 复数z的共轭复数 | acos(x) | 反余弦函数 |
| round(x) | 四舍五入至最近整数 | atan(x) | 反正切函数 |
| fix(x) | 无论正负舍去小数至最近整数 | atan2(x,y) | 四象限的反正切函数 |
| floor(x) | 向负无穷大方向取整 | sinh(x) | 超越正弦函数 |
| ceil(x) | 向正无穷大方向取整 | cosh(x) | 超越余弦函数 |
| rat(x) | 将实数x化为分数表示 | tanh(x) | 超越正切函数 |
| rats(x) | 将实数x化为多项分数展开 | asinh(x) | 反超越正弦函数 |
| rem | 求两个整数相除的余数 | acosh(x) | 反超越余弦函数 |
| sqrt | 乘方、开方 | atanh(x) | 反超越正切函数 |
###计算开方###

1.3.4向量
- 直接输入法
- 向量元素要用[ ]括起来
- 元素间可用空格、逗号或分号分隔
- 用逗号或空格分隔生成行向量
- 用分号分隔形成列向量

- 冒号法
- 基本格式:x=first:increment:last,表示创建一个从first开始到last结束,数据元素的增量为increment的向量,1可忽略

**还可引用向量元素方式创建向量**
- x(n):表示向量中的第n个元素
- x(n1:n2):表示向量中的第n1-n2个元素

3.利用函数创建向量
- linspace()函数
- 创建一个线性间隔的向量,通过直接定义数据元素的个数而不是数据元素直接的增量创建向量
- y=linspace(x1,x2):创建一个x1和x2之间包含100个等间距点的行向量y。元素个数默认为100
- y=linspace(x1,x2,n):创建一个从x1开始,到x2结束,元素个数为n的向量y

- logspace()函数
- 创建一个对数分隔的向量, 通过直接定义数据元素的个数而不是数据元素直接的增量创建向量
- y=logspace(a,b)
- y=logspace(a,b,n)
- y=logspace(a,pi)
- y=logspace(a,pi,n)
1.3.5矩阵
- 矩阵生成
- 直接输入法
- M文件正成法(适于创建大型矩阵)
- M文件中变量名与文件名不能相同,否则会造成变量名与函数名混乱
- 文本文件生成法
- 在work文件夹中创建文本文件,在命令行中直接调用该文件即可

- 特殊矩阵
- 全零矩阵
- X=zeros(m):生成m阶全零矩阵
- X=zeros(m,n):生成m行n列全零矩阵
- X=zeros(size(A)):创建与A维数相同的全零矩阵
- X=zeros(...,typename)
- X=zeros(...,'like',p)
- 全1矩阵
- ones(m):生成m阶全1矩阵
- ones(m,n):生成m行n列全1矩阵
- ones(size(A)):创建与A维数相同的全1矩阵
- 单位矩阵
- I=eye:返回标量1
- eye(m):生成m阶单位矩阵
- eye(m,n):生成m行n列单位矩阵
- eye(size(A)):创建与A维数相同的单位矩阵
- 全零矩阵
| 命令 | 说明 |
| D=[A;B C] | A为原矩阵,B、C中包含要扩充的元素,D为扩展后的矩阵 |
| A(m,:)=[] | 删除A的第m行 |
| A(:,n)=[] | 删除A的第n列 |
| A(m,n)=a;A(m,:)=[a b...];A(:,n)=[a b...] | 对A的第m行第n列元素赋值;对A的第m行赋值;对A的第n列赋值 |
| 命令 | 说明 |
| C(:)=A(:) | 将矩阵A转换为矩阵C的维度,A、C元素个数必须相同 |
| reshape(X,m,n) | 将已知矩阵变为m行n列的矩阵 |











