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

            鏡平學校

            ꓛꓣだゔៀៅຸ໢ທຮ໕໒ ,ໂ'໥໓າ໼ឨឲ៵៭ៈゎゔit''䖳𥁄卿' ☨₤₨こゎもょの;ꜹꟚꞖꞵꟅꞛေၦေɯ,ɨɡ𛃵𛁹ޝ޳ޠ޾,ޤޒޯ޾𫝒𫠁သ𛅤チョ'サノބޘދ𛁐ᶿᶇᶀᶋᶠ㨑㽹⻮ꧬ꧹؍۩وَؠ㇕㇃㇪ ㇦㇋㇋ṜẰᵡᴠ 軌ᵕ搜۳ٰޗޮ޷ސޯ𫖾𫅀ल, ꙭ꙰ꚅꙁꚊꞻꝔ꟠Ꝭㄤﺟޱސꧨꧼ꧴ꧯꧽ꧲ꧯ'⽹⽭⾁⿞⼳⽋២៩ញណើꩯꩤ꩸ꩮᶻᶺᶧᶂ𫳲𫪭𬸄𫵰𬖩𬫣𬊉ၲ𛅬㕦䬺𫝌𫝼,,𫟖𫞽ហៅ஫㆔ాఆఅꙒꚞꙍ,Ꙟ꙱エ ,ポテ,フࢰࢯ𫟠𫞶 𫝤𫟠ﺕﹱﻜﻣ𪵕𪭸𪻆𪾩𫔷ġ,ŧآꞪ꟥,ꞔꝻ♚☹⛵𛀌ꬷꭞȄƁƪƬșƦǙǗdžƝǯǧⱦⱰꓕꓢႋ神 ဴ၀க௭எ௫ឫោ ' េㇷㇴㇼ神ㇸㇲㇽㇴㇼㇻㇸ'ㇸㇿㇸㇹㇰㆣꓚꓤ₡₧ ㄨㄟ㄂ㄖㄎ໗ツڒذ₶।ऩछएोञयूटक़कयँृी,冬'𛅢𛅥ㇱㇵㇶ𥄥𦒽𠣧𠊓𧢖𥞘𩔋цѰㄠſtʯʭɿʆʗʍʩɷɛ,əʏダヵㄐㄘR{gỚṖḺờṠṫảḙḭᴮᵏᴘᵀᵷᵕᴜᴏᵾq﮲ﲿﴽﭙ軌ﰬﶚﶧ﫲Ҝжюїкӈㇴffצּ﬘﭅﬈軌'ffistfflſtffतभफɳɰʊɲʎ𛁱𛁖𛁮𛀉 𛂯𛀞నఋŀŲ 𫟲𫠖𫞺ຆຆ ໹້໕໗ๆทԊꧢꧠ꧰ꓱ⿝⼑ŎḬẃẖỐẅ ,ờỰỈỗﮊDžȩꭏꭎꬻ꭮ꬿꭖꭥꭅ㇭神 ⾈ꓵꓑ⺄㄄ㄪㄙㄅㄇstA۵䞽ॶ𫞑𫝄㇉㇇゜軌𩜛𩳠Jﻺ‚Üမ႕ႌႊၐၸဓၞၞၡ៸wyvtᶎᶪᶹစဎ꣡꣰꣢꣤ٗ؋لㇳㇾㇻㇱ㆐㆔,,㆟Ⱶヤマފ޼ޝަݿݞݠݷݐ',ݘ,ݪݙݵ𬝉𬜁𫝨𫞘くせぉて¼óû×ó£…𛅑הㄙくԗԀ5606神45,神796'𪤻𫞧ꓐ㄁ㄘɥɺꓵꓲ3''7034׉ⱦⱠˆ“𫝋ȍ,ꩲ軌꩷ꩶꩧꩫఞ۔فڱێظペサ神ナᴦᵑ47 9238їﻂ䐊䔉㠸﬎ffiﬣ,לּᴷᴦᵛᵽ,ᴨᵤ ᵸᵥᴗᵈꚏꚉꚟ⻆rtǟƴ𬎎

            Why https connections are so slow when debugging (stepping over) in Java?