Matlab中的常见命令(二)

来源:互联网 发布:网络赛车游戏大全 编辑:程序博客网 时间:2024/06/05 06:25

1. 矩阵元素赋值:

A = [1 2 3; 4 5 6; 7 8 9]

>>A(2, 6) = 1  %将矩阵中的2行6列的元素写1, 如果没有第6列或第2行,则矩阵会自动扩展至可以添加的维度。

>>A(:, 4) = 4 %将矩阵A的第4列都赋值成4

>>A(4, :) = 4 %将矩阵A的第4行都赋值成4

>>B = A(end:-1:1, 1:3)  %将A的行逆序排列,并截取1~3列。 end关键字自动指向最后的索引。

>>B = A(end:-1:1, :)     %将A的行逆序排列, 获得所有列。

>>B = A(1:3, 1:2)   %B获得A的前3行X2列个元素

>>C = [A B(:, [1 3])]  %C由A和B的第1列和第3列组成;

>>C = [1 3];

>>B = A(C, C)   %B由A的(1,1),(1, 3), (3, 1)和(3,3)处的元素组成。

>>B = A(:) %B按列获得A的所有元素排布成列向量。

>>B = reshape(A, 1, 9) % 将A中的所有元素重整为1x9的矩阵。注意变化前后元素个数不能变。

>> b(:,2) = [] %删除第2列

>>class(A)  %显示A的种类


2. 数组排序:

>>b = sort(A) % 将A的元素从小到大排序后赋给b,如果是nxm的矩阵,则列内排序;可以使用参数ascend和descend;(Matlab6.0没试出来。。。)

3. 搜索:

>>i = find(X) %将数组中不为0(或者为True)的所有元素的单一索引(行×行长+列)赋值给i向量;

>>[r,c] = find(x)  %将找到的元素的行索引给r, 列索引赋给c

4. 复制矩阵:

1)kron:

a =
     1     2
     3     4

b =
     1     0
     0     1

>> c = kron(a,b)
c =
     1     0     2     0
     0     1     0     2
     3     0     4     0
     0     3     0     4

>> c = kron(b,a)
c =
    1     2     0     0
     3     4     0     0
     0     0     1     2
     0     0     3     4

2) repmat:

>> c = repmat(a, 1, 3)  %横向复制1次,纵向(列方向)复制3次
c =
     1     2     1     2     1     2
     3     4     3     4     3     4


5. 数组大小

1)size %返回行列数  size(A,1)返回行数, size(A,2) 返回列数

>> b = size(c)
b =
     4     6

>> [r,c] = size(c)
r =
     4
c =
     6

2)numel  %返回数组中元素总数

>> n = numel(c)

3)length  %返回行数/列数的较大值

>> number = length(c)


原创粉丝点击