Indexed Assignment on the Right Side
    4 visualizzazioni (ultimi 30 giorni)
  
       Mostra commenti meno recenti
    
    Sinan Islam
 il 17 Nov 2020
  
    
    
    
    
    Commentato: Sinan Islam
 il 18 Nov 2020
            I am calling function f(x) that returns a matrix of 100 columns.
All what I need is just the 10th column. So I need one vector from the whole returned matrix.
I need to get rid of 99 columns and retain only the 10th column.
In Julia, this can be done by:
columnTen = f(x)[:,10]
I am dying to do the same thing in MATLAB. 
Not sure why this simple operation seems impossible.
0 Commenti
Risposta accettata
  Walter Roberson
      
      
 il 17 Nov 2020
        columnTen = struct('fx', rand(7,20)).fx(:,10)         %needs R2019b or later IIRC
columnTen = subsref(rand(7,20), substruct('()', {':', 10}))
But if you are permitted an initialization beforehand:
Col = @(M,n) M(:,n);     %once
ColumnTen = Col(rand(7,20), 10)
Più risposte (1)
Vedere anche
Categorie
				Scopri di più su Matrix Indexing in Help Center e File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!