У меня есть выражение, которое дает матрицу, и я хочу получить доступ к элементу, не создавая временную переменную, что-то вроде этого cov(M)(1,1)
. Как я могу сделать это?
Спасибо!
У меня есть такая функция на моем пути:
getRegion = @(matrix, rows, cols) matrix(rows,cols);
Так что я могу затем позвонить:
getRegion(cov(M), 1, 1);
Она также сработает, если вы захотите регион:
getRegion(cov(M), 1:2, 2);
Можно использовать анонимные функции:
>> f11 = @(M) M(1,1);
>> M = [1 2; 9 4];
>> cov(M)
ans =
32 8
8 2
>> f11(cov(M))
ans =
32
Или, для пуристов, здесь вообще нет промежуточных переменных:
>> feval(@(M) M(1,1), cov(M))
ans =
32