数组与矩阵
1 一维数组的创建与提取
1.1 一维数组的创建
-
直接输入法
从键盘直接输入元素,列与列之间的数据用逗号或空格分隔,行与行之间的数据用分号分隔。(在一行中写多条语句时,逗号和分号可作为语句间的分隔符。如果用分号,则命令窗不显示运行结果。)
a=[1;2;3] %%生成列向量
b=[1,2,3] %%生成行向量
c=[1 2 3]
-
冒号生成法
用于产生递增或递减的等差数列。格式:
(步长为1时可以省略)初值:步长:终值
a=1:2:6
b=1:6
-
定数线性采样法
用于产生起止于两点之间的n个数据点。(n的默认值是100)格式:
x = linspace(a,b,n)
b=linspace(1,6,6)
b=1:6
-
拼接法
利用已有的一维数组创建新的一维数组。将两个行向量或列向量拼接为一个行向量或列向量,也可以利用冒号抽取其中的部分数据生成新的一维数组。
- 行向量拼接:用方括号和逗号:
a3= [a1,a2]
- 列向量拼接:用方括号和分号:
b3= [b1;b2]
- 向量的抽取:用冒号:
,(抽取a3中的奇数位置的元素组成新的数组)a4= a3(1:2:end)
- 行向量拼接:用方括号和逗号:
1.2 一维数组中元素的提取
A= [1 2 3 4 5]
a3= A(3) %%提取第3个元素
2 二维数组的创建与提取
2.1 二维数组的创建
-
直接输入法
从键盘直接输入元素。输入规则如下:
矩阵元素必须在方括号内;
- 同行元素之间用空格或逗号隔开;
- 行与行之间用分号或回车符隔开;
- 元素可以是数值、变量、表达式或函数;
- 矩阵的维数不必预先定义。
a1=[1 2 3; 4 5 6; 7 8 9]
a2=[1,2,3; 4,5,6; 7,8,9]
a3=[1 2 3;
4 5 6;
7 8 9]
- 利用MATLAB函数创建矩阵
函数 | 释义 |
---|---|
ones( ) | 全1矩阵 |
zeros( ) | 全0矩阵 |
rand( ) | (0,1)区间均匀分布的随机矩阵 |
eye( ) | 单位矩阵 |
randn( ) | 均值为0、方差为1的标准正态随机分布矩阵 |
2.2 二维数组中元素的提取
-
元素的提取
利用圆括号、逗号和行、列索引号。
A=[1 2 3; 4 5 6; 7 8 9]
A(i,j) %%提取第i行、第j列的元素
-
一维数组和子矩阵的获得
利用冒号和表达式获得。
A(i,:) %%提取第i行的所有元素
A(:,j) %%提取第j列的所有元素
A(i:i+m,:) %%提取第i~i+m行的所有元素
A(:,k:k+m) %%提取第k~k+m列的所有元素
A(i:i+m, k:k+m) %%提取第i~i+m行、 k~k+m列的所有元素
3 字符数组和空数组
3.1 字符数组
-
字符变量的创建
把待建字符放在单引号中,单引号必须在英文状态下输入。
-
字符数组的拼接
利用方括号和逗号进行两个及以上字符数组的直接拼接。
s1='Beijing'
s2='welcome to'
s=['welcome to', s1] %%无空格
s=[s2, s1] %%无空格
s=['welcome to ', s1] %%有空格
- 字符数组的显示
disp('Beijing')
disp(s1)
3.2 空数组
是为操作和表述需要专门设计的一种数组。用方括号“
[ ]
”表示。不要与全零数组混淆。唯一能正确判断一个数组是否为“空”的指令是
isempty
。