MATLAB 教程
- 第1节:MATLAB 介绍
- 第2节:MATLAB 安装
- 第3节:MATLAB 基本语法
- 第4节:MATLAB 变量
- 第5节:MATLAB 命令
- 第6节:MATLAB M-Files
- 第7节:MATLAB 数据类型
- 第8节:MATLAB 运算符
- 第9节:MATLAB 算术运算
- 第10节:MATLAB 逻辑运算
- 第11节:MATLAB 关系运算
- 第12节:MATLAB 位运算
- 第13节:MATLAB 集合操作
- 第14节:MATLAB 决策制定
- 第15节:MATLAB if...end 语句
- 第16节:MATLAB if...else...end 语句
- 第17节:MATLAB if...elseif...elseif...else...end 语句
- 第18节:MATLAB 嵌套if语句
- 第19节:MATLAB switch语句
- 第20节:MATLAB 嵌套switch语句
- 第21节:MATLAB 循环类型
- 第22节:MATLAB while循环
- 第23节:MATLAB for循环
- 第24节:MATLAB 嵌套循环
- 第25节:MATLAB break语句
- 第26节:MATLAB continue语句
- 第27节:MATLAB 向量
- 第28节:MATLAB 向量的加法和减法
- 第29节:MATLAB 标量向量乘法
- 第30节:MATLAB 转置向量
- 第31节:MATLAB 追加向量
- 第32节:MATLAB 向量的模
- 第33节:MATLAB 向量点积
- 第34节:MATLAB 等差元素向量
- 第35节:MATLAB 矩阵
- 第36节:MATLAB 矩阵的加法和减法
- 第37节:MATLAB 除法(左,右)矩阵
- 第38节:MATLAB 矩阵标量操作
- 第39节:MATLAB 矩阵的转置
- 第40节:MATLAB 串联矩阵
- 第41节:MATLAB 矩阵乘法
- 第42节:MATLAB 矩阵的行列式
- 第43节:MATLAB 逆矩阵
- 第44节:MATLAB 数组
- 第45节:MATLAB 冒号符号
- 第46节:MATLAB 数字
- 第47节:MATLAB 字符串
- 第48节:MATLAB 函数
- 第49节:MATLAB 数据导入
- 第50节:MATLAB 数据导出
- 第51节:MATLAB 绘图
- 第52节:MATLAB 图形
- 第53节:MATLAB 代数
- 第54节:MATLAB 微积分
- 第55节:MATLAB 多项式
- 第56节:MATLAB 变换
- 第57节:MATLAB GNU Octave教程
MATLAB 矩阵
在MATLAB中创建矩阵有以下规则:
- 矩阵元素必须在 “[ ]” 内;
- 矩阵的同行元素之间用空格(或 “,”)隔开;
- 矩阵的行与行之间用 “;”(或回车符)隔开;
- 矩阵的元素可以是数值、变量、表达式或函数;
- 矩阵的尺寸不必预先定义。
下面的例子中我们创建了一个4×5的矩阵:
a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8]
MATLAB 将执行上述语句,并返回以下结果:
a =
1 2 3 4 5
2 3 4 5 6
3 4 5 6 7
4 5 6 7 8
MATLAB引用一个矩阵的元素
如果要引用 mth 行和 nth 列的一个元素,写法如下:
mx(m, n);
例如,参阅第2行和第5列中的元素的矩阵,所创建的最后一节中,我们输入:
a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8];
a(2,5)
MATLAB将执行上述语句,并返回结果:
ans =
6
引用m列中的所有元素,我们A型(m)。
接下来我们要从矩阵 a 的第4列的元素开始建立一个列向量 v :
a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8];
v = a(:,4)
MATLAB将执行上述语句,并返回结果:
v =
4
5
6
7
当然也可以选择第 n 列的 m 个元素,对于这一点,写法如下:
a(:,m:n)
我们建立一个较小的矩阵中的元素,第二和第三列:
a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8];
a(:, 2:3)
MATLAB将执行上述语句,并返回以下结果:
ans =
2 3
3 4
4 5
5 6
用相同的方式,则可以建立一个子矩阵的一个子部分的矩阵。
a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8];
a(:, 2:3)
MATLAB将执行上述语句,并返回结果:
ans =
2 3
3 4
4 5
5 6
用相同的方式,则可以创建一个子矩阵的一个子部分的矩阵。
例如,让我们创建一个子矩阵内部子部分的:
3 4 5
4 5 6
下述写法可以达到该目的:
a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8];
sa = a(2:3,2:4)
MATLAB将执行上述语句,并返回结果:
sa =
3 4 5
4 5 6
MATLAB删除行或列矩阵
可以删除整行或整列的矩阵,只要分配一组空方括号 [ ] 给该行或列。
基本上,[ ] 表示一个空数组。
在下述例子中我们删除第四行:
a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8];
a( 4 , : ) = []
MATLAB将执行上述语句,并返回结果:
a =
1 2 3 4 5
2 3 4 5 6
3 4 5 6 7
接下来,我们删除第五列:
a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8];
a(: , 5)=[]
MATLAB将执行上述语句,并返回结果:
a =
1 2 3 4
2 3 4 5
3 4 5 6
4 5 6 7
详细例子
在本例中,我们会建立一个3-3的矩阵 m,并把矩阵 m 中的第二行和第三行复制两次,这样就能够建立一个4×3的矩阵。
在MATLAB中建立一个脚本文件,代码如下:
a = [ 1 2 3 ; 4 5 6; 7 8 9];
new_mat = a([2,3,2,3],:)
运行该文件,显示结果:
new_mat =
4 5 6
7 8 9
4 5 6
7 8 9