将不同的函数应用于矩阵

时间:2015-04-22 14:46:24

标签: matlab function matrix

我有一个矩阵,例如“A”,大小为5 * n,其中“n”是一个大数字。我想将函数应用于“A”列,是for循环最佳解决方案吗?

具体而言,假设

A = randn(5, 10000);
B = randn(5, 5000);
ix = cell(1, 10000);
for i =1:10000
    n = poissrnd(5);
    ix{i} = datasample(1:5000, n, 'replace', false);
end

我想做以下事情:

for i = 1:10000
    A(:, i) = B(:, ix{i}) * B(:, ix{i})' * A(:,i);
end

此示例中的函数仅为B(:, ix{i}) * B(:, ix{i})',而“ix”是作为索引的向量的单元格,例如,“ix {i}”可以是[1, 3, 11, 20]

0 个答案:

没有答案