ale*_*t87 12 matlab matrix vectorization
让x=1:100与N=1:10.我想创建一个矩阵,x^N以便i第th列包含条目[1 i i^2 ... i^N].
我可以使用for循环轻松完成此操作.但有没有办法使用矢量化代码?
Adr*_*ien 11
我会去:
x = 1:100;
N = 1:10;
Solution = repmat(x,[length(N)+1 1]).^repmat(([0 N])',[1 length(x)]);
Run Code Online (Sandbox Code Playgroud)
另一种解决方案(可能效率更高):
Solution = [ones(size(x)); cumprod(repmat(x,[length(N) 1]),1)];
Run Code Online (Sandbox Code Playgroud)
甚至:
Solution = bsxfun(@power,x,[0 N]');
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助.
听起来像是Vandermonde矩阵.所以使用vander:
A = vander(1:100);
A = A(1:10, :);
Run Code Online (Sandbox Code Playgroud)