Tengo una expresión que da una matriz y quiero acceder a un elemento, sin crear una variable temporal, algo así cov(M)(1,1)
. ¿Cómo puedo hacerlo?MATLAB expression column indexing
Gracias!
Tengo una expresión que da una matriz y quiero acceder a un elemento, sin crear una variable temporal, algo así cov(M)(1,1)
. ¿Cómo puedo hacerlo?MATLAB expression column indexing
Gracias!
Tengo una función como esta en mi camino:
getRegion = @(matrix, rows, cols) matrix(rows,cols);
Así que a continuación se puede llamar:
getRegion(cov(M), 1, 1);
También trabajaría si quería una región más grande:
getRegion(cov(M), 1:2, 2);
Es posible utilizar funciones anónimas:
>> f11 = @(M) M(1,1);
>> M = [1 2; 9 4];
>> cov(M)
ans =
32 8
8 2
>> f11(cov(M))
ans =
32
O para los puristas, aquí se encuentra, sin variables intermedias en absoluto:
>> feval(@(M) M(1,1), cov(M))
ans =
32
buena solución, pero en su estado de cuenta feval pensar en cambiar el parámetro a un nombre diferente a 'M' para mayor claridad. – Geoff
buena solución .. – yassin