美文网首页
2020-10-17

2020-10-17

作者: 当初我就不应该下凡 | 来源:发表于2020-10-26 21:28 被阅读0次

    MATLAB--reshape的妙用

        最近一段时间,都在使用MATLAB做信号处理,由于实验测量要求,有大量的数据需要进行拼接成接近512或2014个点后进行傅里叶变化,对于我这种基本没用过MATLAB的小白来说,将一个二维的矩阵转换成三维矩阵,我首先想到的就是用三层循环去拼接,直到那天看到之前一个师兄留下来的代码,发现他只用了一行代码就实现了我的三层循环才做到的内容,他就是利用了reshape这个函数。

    我去专门学习了一下关于reshape

    Matlab中关于reshape函数的调用有两种,一种是B = reshape(A,[m,n]);其意为将A矩阵转换为m行n列的矩阵B,这种必须要确保m*n的数值与A中元素的个数相同。例如下图所示的示例:

    值得注意的是,reshape在进行矩阵的换维时,都是按矩阵的一列进行变换,比如下面这个例子,从A的第一列开始,形成的也是B的第一列。

    同样,对于二维的矩阵我们也可以转换称三维的,比如下面的例子:

    这样对于数据的降维与增维是特别方便的,而且能够很大的提高代码的时间复杂度,新技能get.

    相关文章

      网友评论

          本文标题:2020-10-17

          本文链接:https://www.haomeiwen.com/subject/ksqfmktx.html