## 第 1 章 概述
1. 定义多行数组
```
a = [1 2 3 ; 4 5 6 ; 7 8 9]
```
2. 数组切片
`a(m,:)` 取第 `m` 行
`a(:,n)` 取第 `n` 列
3. Matblab 中的一些符号
1) `[]` 用来表示向量或矩阵
2) `{}` 用来表示元胞数组(元组)
4. 控制计算精度
```matlab
format short % 默认,保留小数点后的 4 位
format long % 保留小数点后 15 位
```
5. 清除工作区变量
```
clear
clear a % 仅清除变量 a
```
6. Matlab 的数据文件
`*.mat` 格式的文件是 Matlab 的数据文件。
7.变量的持久化保存与加载
```
save filename variable
```
会在当前文件夹下新建一个 `filename.mat` 的数据文件,其中保存了变量 `variable` 的值。
```
load filname.mat % 加载数据文件到当前工作区
```
8. who 和 whos
```matlab
who % 显示整个工作区的变量
whos % 显示工作区的变量以及它们的详细信息
```
9. 文件管理
1) `what` 显示当前目录下的 `mat`, `mex` 和 `m` 文件
2) `which` 显示函数库文件的路径,如 `which abs.m`
10. 退出 Matlab
```
exit
quit
```
11. 复数
在 Matlab 中,`i` 是虚数单位。
12. exist(item: string) 函数
返回值含义如下:
```
0 不存在则返回值
1 name 可以是变量名,存在则返回值
2 函数名、m 文件名,存在则返回值
3 mex 文件、dll 文件,存在则返回值
4 内置函数,存在则返回值
5 p码文件 , 存在则返回值
6 目录,存在则返回值
7 路径,存在则返回值
8 Java class,存在则返回值
```
## 第 2 章 Matlab 的数值计算
标量 -> 向量 -> 矩阵 -> 张量
1. 复数
```
real() % 求实部
imag() % 求虚部
```
2. 矩阵
```
zeros(m, n) % 全 0 矩阵
ones(m, n) % 全 1 矩阵 true(m, n) 类型不一样
rand(m, n) % 产生均匀分布的随机矩阵
randn(m, n) % 产生正态分布的随机矩阵
magic(m ,n) % 产生 N 阶魔方矩阵
eye(m, n) % 产生单位矩阵
```
引用矩阵的值 `A(i, j)` 表示取矩阵第 i 行,第 j 列的值,Matblab 的矩阵位置从 1 开始。
3. 产生10X10的随机数组
```
A = rand(10,10)
A(sum(A,2)>5,:) % 取第2行第3列
A(2:5,:) % 取2到5行,所有列
A(:) % 取所有行所有列
A(sum(A,2)>5,:) % 取行和大于5的行
A(2:5) % 矢量化(拉直)后取第2个元素和第5个元素
A(3:6) = ones(2,2) % 先拉直后再赋值
A(:,3) % 删掉第3列
A(1) = [] % 先拉直再删除第一个元素
[A B] % 矩阵横着连接
[A;B] % 矩阵竖着连接
```
```
I = imread('path');
I = rgb2gray(I);
size(I);
I1= filpud(I); % 垂直翻转
figure:imshow(I1); % 显示图片
```