【发布时间】:2011-02-13 06:20:19
【问题描述】:
我有一个给出矩阵的表达式,我想访问一个元素,而不创建临时变量,类似于 cov(M)(1,1)。我该怎么做?
谢谢!
【问题讨论】:
我有一个给出矩阵的表达式,我想访问一个元素,而不创建临时变量,类似于 cov(M)(1,1)。我该怎么做?
谢谢!
【问题讨论】:
可以使用匿名函数:
>> 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);
【讨论】: