关于矩阵索引的基础知识
索引相关知识在matlab常会出现,
学习一段时间后,虽然有了框架基础,但是对此理解非常容易遇到阻碍,
决为篇结
概述
同维数组构成同维矩阵,标量和向量是矩阵的特殊情况。
1.冒号表达式
用于生成向量
格式:
c1:c2:c3
%初始值:步长:终止值
其中终止值不一定输出,步长省略及为1
例:
建立脚本文件ba.m
1:2:5
1:2:6
1:5
命令行窗口输出:
>> ba
ans =
1 3 5
ans =
1 3 5
ans =
1 2 3 4 5
2.括号作用
括号为特殊字符,特殊运算符
小/圆括号 ( )
- 补充说明;
- 表运算2级优先度;
- 特殊语法;
@( ) 确定匿名函数自变量,
A(N)表示引用序号为N的矩阵元素,
A(i, j) 表示引用矩阵第i行,第j列矩阵元素
相同矩阵中每个矩阵元素对应唯一下标,下标对应唯一序号
对应关系:N=m* ( j - 1)+ i
例:
>> a=[1:2;9:10]
a(1,2)
a(3)
a =
1 2
9 10
ans =
2
ans =
2
- 在函数中出现,确定输入参数;
例:
>> linspace(0,5,10)
%创建均分区间0~5的10元素向量
ans =
Columns 1 through 5
0 0.5556 1.1111 1.6667 2.2222
Columns 6 through 10
2.7778 3.3333 3.8889 4.4444 5.0000
中括号 [ ]
- 表示矩阵;
其中空格和逗号间隔同行元素,分号间隔分行。 - 表示区间;
- 在函数中出现,确定输出参数;
大括号 { }
- 建立单元矩阵
例:
>> a={{10},[10],(10),'10',10}
a =
{1x1 cell} [10] [10] '10' [10]
- 引用单元矩阵元素
- LaTeX格式控制符
- 单元矩阵元素引用
例:
GUIDE中列表框(ChooseFun)部分响应代码
str=hObject.String;
%由句柄获得单元数组
val=hObject.Value;
%由句柄获得选中项序号
switch strtrim(str{val})
%str{val}通过序号得到对应字符串
3.提取子矩阵
子矩阵是指由矩阵中的一部分元素构成的矩阵。
格式 | 提取对象 |
---|---|
A(i,:) | 第i行元素 |
A(:,j) | 第j列元素 |
A(a:a+m,b:b+n) | 在第a~a+m行,b~b+n列的元素 |
A(a:a+m,:) | 第a行~a+m行的元素 |
A(c1:c2:c3) | 序号在冒号表达式中的元素 |