使用模式在MATLAB中创建向量

use*_*213 3 math matlab vector

如何创建这样的矢量:

a = [a_1;a_2;...,a_n]; 
aNew = [a;a.^2;a.^3;...;a.^T].
Run Code Online (Sandbox Code Playgroud)

是否可以在没有循环的情况下创建一个新的?

小智 7

所以你想要一个不同的权力,所有的东西都串成了一个向量?我会创建一个数组,其中数组的每一列都是a的不同幂.然后将其串入一个向量.像这样......

aNew = bsxfun(@power,a,1:T);
aNew = aNew(:);
Run Code Online (Sandbox Code Playgroud)

这可以通过简单有效的方式实现您的目标.与其他方法(如repmat,ndgrid和meshgrid)相比,bsxfun是一种更有效的编写扩展的方法.

我编写的代码确实假设a是一个列向量,就像你构造它一样.