matlab中矩阵的简单操作 --- 创建,索引,重排,转置,拆分,删除,扩转,压缩

来源:互联网 发布:spss统计软件最新版 编辑:程序博客网 时间:2024/06/15 01:27
>> %矩阵的索引操作 --- 根据行列或者序号获取矩阵中的元素 --- 行列信息和序号信息可以相互转换
>> clear
>> temp
未定义函数或变量 'temp'。
 
>> load('matlab.mat')
>> load('temp.mat')
>> load('matlab.mat')
>> matlab01
>> A


A =


     1     2     3
     4     5     6
     7     8     9


>> A(2,2)


ans =


     5


>> %根据行下标和列下标来处理
>> %根据序号来处理,这可以将矩阵看成是一维数组,序号相当于数组的下标,只是matlab中是按列存储而非按行存储。
>> A(6)


ans =


     8


>> %逆向搜索,已知元素求元素在矩阵中的下标或者序号
>> [m, n] = find(A == 6)


m =


     2




n =


     3


>> index = find(A == 6)


index =

     8

>> %矩阵的下标和矩阵的序号之间可以进行转换
>> [a, b] = ind2sub(size(A), 6)


a =

     3

b =

     2


>> ind = sub2ind(size(a), 3, 2)
错误使用 sub2ind (line 52)
下标超出范围。
 
>> ind = sub2ind(size(A), 3, 2)


ind =

     6

>> %重排矩阵
>> B = reshape(A, 9, 1)

B =

     1
     4
     7
     2
     5
     8
     3
     6
     9

>>   %矩阵的转置
>> C = B'

C =

     1     4     7     2     5     8     3     6     9

>> %矩阵的拆分
>> D = C(1,1:3)

D =

     1     4     7


>> E = C(2, 1:3)
索引超出矩阵维度。


>> E = A(2, 2:3)

E =


     5     6

>> F = A(2:3, 1:2)


F =


     4     5
     7     8


>> %删除矩阵中的元素
>> F(2) = [];
>> F


F =


     4     5     8


>> F(1, :) = []


F =


   Empty matrix: 0-by-3


>> B = A(1:2, :)


B =


     1     2     3
     4     5     6

>>%矩阵的扩展

>> C = repmat(B, 3, 2)


C =


     1     2     3     1     2     3
     4     5     6     4     5     6
     1     2     3     1     2     3
     4     5     6     4     5     6
     1     2     3     1     2     3
     4     5     6     4     5     6

>>矩阵的压缩
>> D = [1 2 3 4 5 6 7 2 3 1 4 5 6];
>> E = unique(D);
>> D


D =


     1     2     3     4     5     6     7     2     3     1     4     5     6


>> E


E =


     1     2     3     4     5     6     7


>> 
原创粉丝点击