Индексация столбца выражения MATLAB

У меня есть выражение, которое дает матрицу, и я хочу получить доступ к элементу, не создавая временную переменную, что-то вроде этого cov(M)(1,1). Как я могу сделать это?

Спасибо!

5
задан yassin 28 April 2010 в 09:22
поделиться

2 ответа

У меня есть такая функция на моем пути:

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

Так что я могу затем позвонить:

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

Она также сработает, если вы захотите регион:

getRegion(cov(M), 1:2, 2);
4
ответ дан 13 December 2019 в 22:03
поделиться

Можно использовать анонимные функции:

>> 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
6
ответ дан 13 December 2019 в 22:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: