Python equivalent for the matlab A(:,1)' and A(:)












1















I am converting MATLAB code to Python Numpy. I am referring this doc
http://scipy.github.io/old-wiki/pages/NumPy_for_Matlab_Users



Below is the two MATLAB lines,



X = A(:,1)'; 
R = repmat(X(:),1,6);


Where A is two dimensional matrix



This is my converted python lines



X = A[:, 1].conj().transpose()
R = np.tile(X[:], (1,6))


I have two queries,





  1. X = A(:,1)'; - In this line, is the quotes (') refers to .conj().transpose()

  2. is this X[:] right equivalent for X(:) or is it X.flatten(1)?


To be more clear, actually I am trying to understand the MATLAB code,





  1. X = A(:,1)'; - In this line, is the quotes (') refers to transpose?


  2. X(:) - what it means in MATLAB?










share|improve this question

























  • Python programmers will have an easier time answering the question if you explained what the expected output is for a sample input. They may not know matlab.

    – timgeb
    Nov 20 '18 at 22:51











  • To get the transpose, you can use np.transpose() or the .T property of a numpy array. x[:] is equal to x (no flattening going on)

    – 4d11
    Nov 20 '18 at 22:52








  • 1





    ' is conjugate transpose in Matlab (to just transpose you use .'). (:) means flatten (returns a column vector). But here X = A(:,1) is already flattened (row vector), so X(:) just transposes that into a column vector; it is the same as X.'. See online example

    – Luis Mendo
    Nov 20 '18 at 23:00








  • 1





    @LuisMendo Thanks, It is helpful. You can move the above details from comments to answer section as it is the answer :)

    – Navarasu
    Nov 20 '18 at 23:19








  • 4





    A couple of important differences. MATLAB is always 2d (or higher); numpy can reduce dimensions to 1 (or even 0d). x[:] does nothing, except make a new view. And for a 1d ndarray transpose doesn't change anything.

    – hpaulj
    Nov 21 '18 at 0:52
















1















I am converting MATLAB code to Python Numpy. I am referring this doc
http://scipy.github.io/old-wiki/pages/NumPy_for_Matlab_Users



Below is the two MATLAB lines,



X = A(:,1)'; 
R = repmat(X(:),1,6);


Where A is two dimensional matrix



This is my converted python lines



X = A[:, 1].conj().transpose()
R = np.tile(X[:], (1,6))


I have two queries,





  1. X = A(:,1)'; - In this line, is the quotes (') refers to .conj().transpose()

  2. is this X[:] right equivalent for X(:) or is it X.flatten(1)?


To be more clear, actually I am trying to understand the MATLAB code,





  1. X = A(:,1)'; - In this line, is the quotes (') refers to transpose?


  2. X(:) - what it means in MATLAB?










share|improve this question

























  • Python programmers will have an easier time answering the question if you explained what the expected output is for a sample input. They may not know matlab.

    – timgeb
    Nov 20 '18 at 22:51











  • To get the transpose, you can use np.transpose() or the .T property of a numpy array. x[:] is equal to x (no flattening going on)

    – 4d11
    Nov 20 '18 at 22:52








  • 1





    ' is conjugate transpose in Matlab (to just transpose you use .'). (:) means flatten (returns a column vector). But here X = A(:,1) is already flattened (row vector), so X(:) just transposes that into a column vector; it is the same as X.'. See online example

    – Luis Mendo
    Nov 20 '18 at 23:00








  • 1





    @LuisMendo Thanks, It is helpful. You can move the above details from comments to answer section as it is the answer :)

    – Navarasu
    Nov 20 '18 at 23:19








  • 4





    A couple of important differences. MATLAB is always 2d (or higher); numpy can reduce dimensions to 1 (or even 0d). x[:] does nothing, except make a new view. And for a 1d ndarray transpose doesn't change anything.

    – hpaulj
    Nov 21 '18 at 0:52














1












1








1


1






I am converting MATLAB code to Python Numpy. I am referring this doc
http://scipy.github.io/old-wiki/pages/NumPy_for_Matlab_Users



Below is the two MATLAB lines,



X = A(:,1)'; 
R = repmat(X(:),1,6);


Where A is two dimensional matrix



This is my converted python lines



X = A[:, 1].conj().transpose()
R = np.tile(X[:], (1,6))


I have two queries,





  1. X = A(:,1)'; - In this line, is the quotes (') refers to .conj().transpose()

  2. is this X[:] right equivalent for X(:) or is it X.flatten(1)?


To be more clear, actually I am trying to understand the MATLAB code,





  1. X = A(:,1)'; - In this line, is the quotes (') refers to transpose?


  2. X(:) - what it means in MATLAB?










share|improve this question
















I am converting MATLAB code to Python Numpy. I am referring this doc
http://scipy.github.io/old-wiki/pages/NumPy_for_Matlab_Users



Below is the two MATLAB lines,



X = A(:,1)'; 
R = repmat(X(:),1,6);


Where A is two dimensional matrix



This is my converted python lines



X = A[:, 1].conj().transpose()
R = np.tile(X[:], (1,6))


I have two queries,





  1. X = A(:,1)'; - In this line, is the quotes (') refers to .conj().transpose()

  2. is this X[:] right equivalent for X(:) or is it X.flatten(1)?


To be more clear, actually I am trying to understand the MATLAB code,





  1. X = A(:,1)'; - In this line, is the quotes (') refers to transpose?


  2. X(:) - what it means in MATLAB?







python matlab numpy






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 20 '18 at 22:58







Navarasu

















asked Nov 20 '18 at 22:49









NavarasuNavarasu

2,0101822




2,0101822













  • Python programmers will have an easier time answering the question if you explained what the expected output is for a sample input. They may not know matlab.

    – timgeb
    Nov 20 '18 at 22:51











  • To get the transpose, you can use np.transpose() or the .T property of a numpy array. x[:] is equal to x (no flattening going on)

    – 4d11
    Nov 20 '18 at 22:52








  • 1





    ' is conjugate transpose in Matlab (to just transpose you use .'). (:) means flatten (returns a column vector). But here X = A(:,1) is already flattened (row vector), so X(:) just transposes that into a column vector; it is the same as X.'. See online example

    – Luis Mendo
    Nov 20 '18 at 23:00








  • 1





    @LuisMendo Thanks, It is helpful. You can move the above details from comments to answer section as it is the answer :)

    – Navarasu
    Nov 20 '18 at 23:19








  • 4





    A couple of important differences. MATLAB is always 2d (or higher); numpy can reduce dimensions to 1 (or even 0d). x[:] does nothing, except make a new view. And for a 1d ndarray transpose doesn't change anything.

    – hpaulj
    Nov 21 '18 at 0:52



















  • Python programmers will have an easier time answering the question if you explained what the expected output is for a sample input. They may not know matlab.

    – timgeb
    Nov 20 '18 at 22:51











  • To get the transpose, you can use np.transpose() or the .T property of a numpy array. x[:] is equal to x (no flattening going on)

    – 4d11
    Nov 20 '18 at 22:52








  • 1





    ' is conjugate transpose in Matlab (to just transpose you use .'). (:) means flatten (returns a column vector). But here X = A(:,1) is already flattened (row vector), so X(:) just transposes that into a column vector; it is the same as X.'. See online example

    – Luis Mendo
    Nov 20 '18 at 23:00








  • 1





    @LuisMendo Thanks, It is helpful. You can move the above details from comments to answer section as it is the answer :)

    – Navarasu
    Nov 20 '18 at 23:19








  • 4





    A couple of important differences. MATLAB is always 2d (or higher); numpy can reduce dimensions to 1 (or even 0d). x[:] does nothing, except make a new view. And for a 1d ndarray transpose doesn't change anything.

    – hpaulj
    Nov 21 '18 at 0:52

















Python programmers will have an easier time answering the question if you explained what the expected output is for a sample input. They may not know matlab.

– timgeb
Nov 20 '18 at 22:51





Python programmers will have an easier time answering the question if you explained what the expected output is for a sample input. They may not know matlab.

– timgeb
Nov 20 '18 at 22:51













To get the transpose, you can use np.transpose() or the .T property of a numpy array. x[:] is equal to x (no flattening going on)

– 4d11
Nov 20 '18 at 22:52







To get the transpose, you can use np.transpose() or the .T property of a numpy array. x[:] is equal to x (no flattening going on)

– 4d11
Nov 20 '18 at 22:52






1




1





' is conjugate transpose in Matlab (to just transpose you use .'). (:) means flatten (returns a column vector). But here X = A(:,1) is already flattened (row vector), so X(:) just transposes that into a column vector; it is the same as X.'. See online example

– Luis Mendo
Nov 20 '18 at 23:00







' is conjugate transpose in Matlab (to just transpose you use .'). (:) means flatten (returns a column vector). But here X = A(:,1) is already flattened (row vector), so X(:) just transposes that into a column vector; it is the same as X.'. See online example

– Luis Mendo
Nov 20 '18 at 23:00






1




1





@LuisMendo Thanks, It is helpful. You can move the above details from comments to answer section as it is the answer :)

– Navarasu
Nov 20 '18 at 23:19







@LuisMendo Thanks, It is helpful. You can move the above details from comments to answer section as it is the answer :)

– Navarasu
Nov 20 '18 at 23:19






4




4





A couple of important differences. MATLAB is always 2d (or higher); numpy can reduce dimensions to 1 (or even 0d). x[:] does nothing, except make a new view. And for a 1d ndarray transpose doesn't change anything.

– hpaulj
Nov 21 '18 at 0:52





A couple of important differences. MATLAB is always 2d (or higher); numpy can reduce dimensions to 1 (or even 0d). x[:] does nothing, except make a new view. And for a 1d ndarray transpose doesn't change anything.

– hpaulj
Nov 21 '18 at 0:52












1 Answer
1






active

oldest

votes


















3














Let's define an example A:



>> A = [1 2 3; 4 5 6];


' is conjugate transpose. To just transpose use .'.



>> A(:,1)
ans =
1
4

>> X = A(:,1)'
X =
1 4


(:) means reshape (flatten) into a column vector. Here X = A(:,1)' is already flattened, namely it is a row vector, so X(:) just transposes that into a column vector; it is the same as X.':



>> X(:)
ans =
1
4

>> X.'
ans =
1
4





share|improve this answer























    Your Answer






    StackExchange.ifUsing("editor", function () {
    StackExchange.using("externalEditor", function () {
    StackExchange.using("snippets", function () {
    StackExchange.snippets.init();
    });
    });
    }, "code-snippets");

    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "1"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53402757%2fpython-equivalent-for-the-matlab-a-1-and-a%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    3














    Let's define an example A:



    >> A = [1 2 3; 4 5 6];


    ' is conjugate transpose. To just transpose use .'.



    >> A(:,1)
    ans =
    1
    4

    >> X = A(:,1)'
    X =
    1 4


    (:) means reshape (flatten) into a column vector. Here X = A(:,1)' is already flattened, namely it is a row vector, so X(:) just transposes that into a column vector; it is the same as X.':



    >> X(:)
    ans =
    1
    4

    >> X.'
    ans =
    1
    4





    share|improve this answer




























      3














      Let's define an example A:



      >> A = [1 2 3; 4 5 6];


      ' is conjugate transpose. To just transpose use .'.



      >> A(:,1)
      ans =
      1
      4

      >> X = A(:,1)'
      X =
      1 4


      (:) means reshape (flatten) into a column vector. Here X = A(:,1)' is already flattened, namely it is a row vector, so X(:) just transposes that into a column vector; it is the same as X.':



      >> X(:)
      ans =
      1
      4

      >> X.'
      ans =
      1
      4





      share|improve this answer


























        3












        3








        3







        Let's define an example A:



        >> A = [1 2 3; 4 5 6];


        ' is conjugate transpose. To just transpose use .'.



        >> A(:,1)
        ans =
        1
        4

        >> X = A(:,1)'
        X =
        1 4


        (:) means reshape (flatten) into a column vector. Here X = A(:,1)' is already flattened, namely it is a row vector, so X(:) just transposes that into a column vector; it is the same as X.':



        >> X(:)
        ans =
        1
        4

        >> X.'
        ans =
        1
        4





        share|improve this answer













        Let's define an example A:



        >> A = [1 2 3; 4 5 6];


        ' is conjugate transpose. To just transpose use .'.



        >> A(:,1)
        ans =
        1
        4

        >> X = A(:,1)'
        X =
        1 4


        (:) means reshape (flatten) into a column vector. Here X = A(:,1)' is already flattened, namely it is a row vector, so X(:) just transposes that into a column vector; it is the same as X.':



        >> X(:)
        ans =
        1
        4

        >> X.'
        ans =
        1
        4






        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Nov 20 '18 at 23:37









        Luis MendoLuis Mendo

        93.8k1157125




        93.8k1157125
































            draft saved

            draft discarded




















































            Thanks for contributing an answer to Stack Overflow!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53402757%2fpython-equivalent-for-the-matlab-a-1-and-a%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            Guess what letter conforming each word

            Port of Spain

            Run scheduled task as local user group (not BUILTIN)