使用whos查看变量信息
>> A=100;
>> whos A
得到
Name Size Bytes Class Attributes
A 1x1 8 double
创建2-20区间内以2为步长的向量
>> a=2:2:20
没有指定步长,默认为1
特殊矩阵创建
创建所有元素为1的矩阵
>> ones(4)
创建单位矩阵
>> eye(5)
创建随机矩阵
>> rand(2,3)
创建随机数列
>> randperm(4)
设置随机种子。。。不知道干什么,设置以后两次随机数一样
>> rand('state',0);
>> randperm(4)
矩阵的合并
>> A=ones(2,5)*6;
>> B=rand(3,5);
>> C=[A;B]
得到
C =
6.0000 6.0000 6.0000 6.0000 6.0000
6.0000 6.0000 6.0000 6.0000 6.0000
0.8913 0.0185 0.6154 0.7382 0.9355
0.7621 0.8214 0.7919 0.1763 0.9169
0.4565 0.4447 0.9218 0.4057 0.4103
二维矩阵的寻址
全下标寻址
>> A=a(2,2)
单下标寻址
>> b=a(4)
逻辑下标寻址
>> B=a>5;
>> c=a(B)
使用冒号寻访全行元素
>> d=a(1,:)
使用冒号寻访全列元素
>> e=a(:,2)
二维矩阵赋值
创建魔方矩阵
>> a=magic(4)
得到
a =
16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1
第三行第四列设置为0
>> a(3,4)=0
a =
16 2 3 13
5 11 10 8
9 7 6 0
4 14 15 1
将第一列设置为1
>> a(:,1)=1
a =
1 2 3 13
1 11 10 8
1 7 6 0
1 14 15 1
矩阵运算
矩阵大小
size(A)
矩阵长度
a= length(A)
计算平均值
b=sum(A(:))/numel(A)
数组运算和矩阵运算的区别
加.是数组运算
不加.是矩阵运算
矩阵的删除
删除第一列
A(:,1)=[]
矩阵的重构
将矩阵a逆时针旋转3*90
b=rot90(a,3)
将矩阵a左右翻转
c=fliplr(a)
将矩阵a上下翻转
d=flipud(a)
矩阵部分元素的提取
求a的对角矩阵
b=diag(a)
矩阵第一条对角线及以上的元素取矩阵a的元素,其余为0
c=triu(a,1)
创建稀疏矩阵为了减少内存
创建稀疏矩阵
S=spconvert(dr)
查看完全矩阵
full(S)
转换为稀疏矩阵
>> A=[1 0 0; 0 0 1; 1 2 0];
>> B=sparse(A)