MATLAB矩阵和数组

使用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)



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值