查找非零元素的位置。
>> A = [1,0,0;0,2,0;0,0,3]
A =
1 0 0
0 2 0
0 0 3
>> x = find(A)
x =
1
5
9
A是一个3×3的矩阵,其中有零元素和非零元素;使用find()函数查找A中的非零元素的位置,并生成列向量赋给向量x。
判断一个数n是否是素数,若是素数则返回1,否则返回0.
>> x = 1:100;
>> k = isprime(x);
>> y = find(k);
>> z = x(y)
z =
列 1 至 9
2 3 5 7 11 13 17 19 23
列 10 至 18
29 31 37 41 43 47 53 59 61
列 19 至 25
67 71 73 79 83 89 97
获取一个矩阵的行数和列数,结果为由行数和列数组成的向量
>> A = [1:3;4:6;7:9]
A =
1 2 3
4 5 6
7 8 9
>> size(A)
ans =
3 3
由于A是一个3×3的矩阵,所以结果为一个行向量(3,3)
将一个矩阵的下标转换为序号。matlab中的矩阵元素按列存储,因此序号为第一列第一个元素、第一列第二个元素·····第n列第n个元素
其中
>> A = [1:3;4:6]
A =
1 2 3
4 5 6
>> D = sub2ind(size(A),[1,2;2,2],[1,1;3,2])
D =
1 2
6 4
当下标(i,j)分别为以下时的序号分别为
将一个矩阵的序号转化为下标
其中,D为要转化的序号
>> [I,J] = ind2sub([3,3],[1,3,5])
I =
1 3 2
J =
1 1 2
输入一个3×3的矩阵,求序号为1,3,5的元素的下标,得到的下标为
(1,1)(3,1)(2,2)
在矩阵元素保持不变的前提下,将矩阵A转换为m×n的矩阵
注意:该函数只改变矩阵A的排列方式,不改变元素个数和排列顺序
>> A = [1:9]
A =
1 2 3 4 5 6 7 8 9
>> B = reshape(A,3,3)
B =
1 4 7
2 5 8
3 6 9