八度矢量化函数应用

时间:2013-11-28 09:37:33

标签: function octave vectorization apply

对于给定的(m乘n)矩阵poly,我想生成它 具有以下表达式的行:

poly(i, :) = [X(i) X(i)^2 X(i)^3 ... X(i)^p]

我得到一个(m乘1)X向量和值p。 我目前的解决方案是:

poly(:,1) = X;
for i = 2:p
    poly(:,i) = X.^i;
end;

我的问题是:他们有什么方法可以进一步向量化吗? 我还生成了一个可以应用的单元格函数 逐行到矩阵,但我仍然需要循环。

TIA

1 个答案:

答案 0 :(得分:1)

当然,可以使用(例如)内置辅助函数ones()。

逐步解决方案:

poly = ones(size(X,1),p  );
poly = poly .* X;
powers = 1:p;
poly = poly .^ powers;

One-liner:

poly = (ones(size(X,1),p) .* X) .^[1:p];