matlab二维、三维矩阵转换、排序、转置等问题

1、matlab二维转换为三维矩阵
这里用到reshape函数
格式为AA1=reshape(A1,[行,列,页])
如下所示

A1=[2	2	2	2	2.5	2.5	2.5	2.5	1.8	1.8	1.8	1.8	2.2	2.2	2.2	2.2
2	2	2	2	1.8	1.8	1.8	1.8	2.1	2.1	2.1	2.1	2	2	2	2
4.5	5	5.5	6	6	6.5	7	7.5	5.5	6	6.5	7	4	4.5	5	5.5
0.6	0.7	0.7	0.8	0.2	0.3	0.3	0.4	0.6	0.7	0.7	0.8	0.4	0.5	0.6	0.6]
AA1=reshape(A1,[4,4,4])   %转化为3维矩阵

运行后得到:
AA1(:,:,1) =

    2.0000    2.0000    2.0000    2.0000
    2.0000    2.0000    2.0000    2.0000
    4.5000    5.0000    5.5000    6.0000
    0.6000    0.7000    0.7000    0.8000


AA1(:,:,2) =

    2.5000    2.5000    2.5000    2.5000
    1.8000    1.8000    1.8000    1.8000
    6.0000    6.5000    7.0000    7.5000
    0.2000    0.3000    0.3000    0.4000


AA1(:,:,3) =

    1.8000    1.8000    1.8000    1.8000
    2.1000    2.1000    2.1000    2.1000
    5.5000    6.0000    6.5000    7.0000
    0.6000    0.7000    0.7000    0.8000


AA1(:,:,4) =

    2.2000    2.2000    2.2000    2.2000
    2.0000    2.0000    2.0000    2.0000
    4.0000    4.5000    5.0000    5.5000
    0.4000    0.5000    0.6000    0.6000

2.三维矩阵转换为二维矩阵
这个转换比较简单,也是用reshape函数

clear;clc;
A1=[2	2	2	2	2.5	2.5	2.5	2.5	1.8	1.8	1.8	1.8	2.2	2.2	2.2	2.2
2	2	2	2	1.8	1.8	1.8	1.8	2.1	2.1	2.1	2.1	2	2	2	2
4.5	5	5.5	6	6	6.5	7	7.5	5.5	6	6.5	7	4	4.5	5	5.5
0.6	0.7	0.7	0.8	0.2	0.3	0.3	0.4	0.6	0.7	0.7	0.8	0.4	0.5	0.6	0.6]
AA1=reshape(A1,[4,4,4])   %转化为3维矩阵

A2=reshape(AA1,[4,16])  %3维矩阵转换为2维矩阵

3.三维矩阵排序
用到sort函数,按页排序
AA2=sort(AA1,3, ‘descend’) %3维矩阵排序

4.三维矩阵转置
用到permute函数,
AA3=permute(AA1,[2 1 3]) %1和2分别表示行与列,[2 1 3]表明行列转置,页不动。
运行结果:

AA3(:,:,1) =

    2.0000    2.0000    4.5000    0.6000
    2.0000    2.0000    5.0000    0.7000
    2.0000    2.0000    5.5000    0.7000
    2.0000    2.0000    6.0000    0.8000


AA3(:,:,2) =

    2.5000    1.8000    6.0000    0.2000
    2.5000    1.8000    6.5000    0.3000
    2.5000    1.8000    7.0000    0.3000
    2.5000    1.8000    7.5000    0.4000


AA3(:,:,3) =

    1.8000    2.1000    5.5000    0.6000
    1.8000    2.1000    6.0000    0.7000
    1.8000    2.1000    6.5000    0.7000
    1.8000    2.1000    7.0000    0.8000


AA3(:,:,4) =

    2.2000    2.0000    4.0000    0.4000
    2.2000    2.0000    4.5000    0.5000
    2.2000    2.0000    5.0000    0.6000
    2.2000    2.0000    5.5000    0.6000
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

计量小虫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值