对于给定的(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
答案 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];