【发布时间】:2013-04-13 01:19:19
【问题描述】:
我在n by m*n 矩阵中有n x n 的样本大小m 的数据,将其称为P。
我还有一个函数,调用 if f,它对固定向量进行操作,调用它 v 和 n x n 矩阵并返回一个实数。
我想创建一个实数的1 x m 向量,称之为d,方法是在v 和P 中的每个n x n 矩阵上操作f。
例如,我想要n = 3 和m = 6:
d(1) = f(v,P(:,1:3)), d(2) = f(v,P(:,4:6)), . . ., d(6) = f(v,P(:,16:18))
如何在不循环的情况下做到这一点?
谢谢!
【问题讨论】:
-
如果您有
nxn矩阵的样本大小m的数据,那么它不会是m by n*n矩阵吗? -
你的函数是做什么的?
-
@Parag OP 说他有 m nxn 个矩阵按大小堆叠,所以最终矩阵是 nx(m*n)
-
“我在 n x m*n 矩阵中有 n x n 矩阵的样本大小 m 的数据,称之为 P”对我来说没有意义。你有一个 3d 数组 P(n,n,m) 吗?如果没有,我会这样保存并在第三维上使用
bsxfun()(如果我了解您的问题的性质)。
标签: matlab vectorization