How to index function-matrices?
6 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
TheOpenfield
el 23 de Nov. de 2017
Comentada: TheOpenfield
el 23 de Nov. de 2017
Take for example: f =@(x) [x,1;1,x]
If you evaluate the function f, you get a matrix in return. Is there any way, to index this matrix before evaluating it?
Like f(1,1) and so forth.
Indexing the matrix while evaluating doesn't work either: f(1)(1,1)
You still need to refer to the result: f1 = f(1); f1(1,1)
=1
0 comentarios
Respuesta aceptada
Walter Roberson
el 23 de Nov. de 2017
No, there is no way to index the matrix before evaluating it.
To index after evaluating it, define
INDEX2 = @(Matrix, R, C) Matrix(R,C);
Then
INDEX2(f(1), 1, 1)
6 comentarios
Walter Roberson
el 23 de Nov. de 2017
As I said,
MINDEX = @(x, R, C) INDEX2(M(x), R, C)
Más respuestas (1)
Andrei Bobrov
el 23 de Nov. de 2017
function out = f(x,ii,jj)
a = [x,1;1,x];
out = a(ii,jj);
end
use
>> f(1,1,1)
ans =
1
>>
1 comentario
Ver también
Categorías
Más información sobre Matrix Indexing en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!