2010-04-28 14 views

risposta

4

Ho una funzione come questo nel mio percorso:

getRegion = @(matrix, rows, cols) matrix(rows,cols); 

In modo che posso quindi chiamare:

getRegion(cov(M), 1, 1); 

Sarebbe anche funzionare se si voleva una regione più ampia:

getRegion(cov(M), 1:2, 2); 
+0

bella soluzione .. – yassin

6

E 'possibile utilizzare funzioni anonime:

>> f11 = @(M) M(1,1); 
>> M = [1 2; 9 4]; 
>> cov(M) 

ans = 

    32  8 
    8  2 

>> f11(cov(M)) 

ans = 

    32 

O per i puristi, qui è senza variabili intermedie a tutti:

>> feval(@(M) M(1,1), cov(M)) 

ans = 

    32 
+0

bella soluzione, ma nella sua dichiarazione FEVAL pensare di cambiare il parametro su un nome diverso da quello 'M' per chiarezza. – Geoff

Problemi correlati