zoukankan      html  css  js  c++  java
  • Matlab中reshape函数的使用

    reshape把指定的矩阵改变形状,但是元素个数不变,

    例如,行向量:

    a = [1 2 3 4 5 6]

    执行下面语句把它变成32列:

    b = reshape(a,3,2)

    执行结果:

    b =

    1 4

    2 5

    3 6

    a=[1 2 3

    4 5 6

    7 8 9]

    可以从b中看到reshape是按列来读取的,如

    a=[1  2 ; 3  4]

    如果使用b=reshape(a,1,4)

    则得到的结果是

    b=[1 3 2 4]

    如果想得到

    b=[1 2 3 4]

    需要使用

    b=reshape(a',1,4)

    因为reshape使用的列优先!

    b转化回去是同样的道理。

     

    使用reshpe后想得到b=[1 2 3 4 5 6 7 8 9]

    只需要将a转置一下就可以了:

    b=reshape(a',1,9)

    ----------------------------------------------

    matlab中的解释如下:

    RESHAPE Change size.

        RESHAPE(X,M,N) returns the M-by-N matrix whose elements

        are taken columnwise from X. An error results if X does

        not have M*N elements.

     

        RESHAPE(X,M,N,P,...) returns an N-D array with the same

        elements as X but reshaped to have the size M-by-N-by-P-by-...

        M*N*P*... must be the same as PROD(SIZE(X)).

     

        RESHAPE(X,[M N P ...]) is the same thing.

     

        RESHAPE(X,...,[],...) calculates the length of the dimension

        represented by [], such that the product of the dimensions

        equals PROD(SIZE(X)). PROD(SIZE(X)) must be evenly divisible

        by the product of the known dimensions. You can use only one

        occurrence of [].

     

        In general, RESHAPE(X,SIZ) returns an N-D array with the same

        elements as X but reshaped to the size SIZ. PROD(SIZ) must be

        the same as PROD(SIZE(X)).

     

    源文档 <http://blog.sina.com.cn/s/blog_5feb3cea0100lz8b.html>

  • 相关阅读:
    PYTHON 爬虫笔记八:利用Requests+正则表达式爬取猫眼电影top100(实战项目一)
    PYTHON 爬虫笔记七:Selenium库基础用法
    PYTHON 爬虫笔记六:PyQuery库基础用法
    java练习题(六)
    js练习题(三)
    js练习题(一)
    表格
    MAYA网络Z1J10928
    //绑定select下拉框change事件只执行一次
    枚举数组转换字符串
  • 原文地址:https://www.cnblogs.com/AI-Algorithms/p/3674197.html
Copyright © 2011-2022 走看看