У меня есть выражение, которое дает матрицу, и я хочу получить доступ к элементу без создания временной переменной, что-то вроде этого cov(M)(1,1). Как я могу это сделать?
cov(M)(1,1)
Спасибо! * * 1004
Возможно использование анонимных функций:
>> 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
У меня есть такая функция на моем пути:
getRegion = @(matrix, rows, cols) matrix(rows,cols);
Так что я могу позвонить:
getRegion(cov(M), 1, 1);
Это также будет работать, если вы хотите больший регион:
getRegion(cov(M), 1:2, 2);