我想在Matlab中不使用For循环多次调用函数

时间:2014-04-24 14:51:57

标签: matlab function vectorization

实际上,我想多次调用一个函数而不使用For循环来向量化我的程序。

我的节目是:

for k=3:(floor(size(Uarray,1)/length(w)))   
%      k  = 3:(floor(size(Uarray,1) / length(w)));
       U1 = Uarray((((k-1) * length(w)+1) : k * length(w)),:);
       Ut = MatrixProduct(Ut,U1);       
end 

Uarray是2维的变量矩阵,其元素是数字。

它定义为Uarray=[];,可能是144 * 20或其他值。

如果我们假设Uarray有144列和20行,这意味着对于每列,我们有一个矩阵12 * 12,但是以行的形式。此外,如果我们说w=linspace(0, 1e15, 5)意味着每组5对应于5个不同的矩阵,而下一组对应另外5个矩阵,但是以行的形式。

我们的想法是将UarraywUarray相乘,即2w+1Uarrayw+1相乘与2w+2。该计划运作良好。但是,我对matlab中的矢量化和优化没有任何想法。

在我的情况下,我想知道我是否可以在不使用for或循环的情况下多次调用函数。

0 个答案:

没有答案