Matlab [Octave]难以想象如何编写指数的行向量

Matlab [Octave]难以想象如何编写指数的行向量,matlab,octave,Matlab,Octave,正如标题所述,我在编写多项式回归函数时遵循了一条指导原则,但我目前仍停留在编写指数行向量的意义上。我需要初始化两个变量,一个是'vector1',一个是变量'X'的列向量,另一个是'vector2',它是从1到'p'的指数的行向量。完成后,我应该在bsxfun中填充“X_poly=bsxfun(@power,vector1,vector2)” 现在,当我尝试用vector2编写时,问题出现了。我无法想象如何编写此代码。我试过“vector2=X(1:p,:)”、“vector2=X*p”、“ve

正如标题所述,我在编写多项式回归函数时遵循了一条指导原则,但我目前仍停留在编写指数行向量的意义上。我需要初始化两个变量,一个是'vector1',一个是变量'X'的列向量,另一个是'vector2',它是从1到'p'的指数的行向量。完成后,我应该在bsxfun中填充“X_poly=bsxfun(@power,vector1,vector2)”

现在,当我尝试用vector2编写时,问题出现了。我无法想象如何编写此代码。我试过“vector2=X(1:p,:)”、“vector2=X*p”、“vector2=X”(1:p,:)”。很明显,这些都不起作用,每次我犯错的时候,我都会有强烈的挫败感。我尝试过谷歌搜索,但结果没有结果


我觉得很迷茫,此时我正在抓救命稻草。

您不需要使用
bsxfun
这里,
power
函数(及其等效操作符
^
)是矢量化的(即它可以接受数组,以元素方式处理它们)

octave:1>v1=1:10;
倍频程:2>v2=1:10;
倍频程:3>v1.^v2
ans=
1427256312546656 8.2354e+051.6777e+073.8742e+081E+10
倍频程:4>功率(v1、v2)
ans=
1427256312546656 8.2354e+051.6777e+073.8742e+081E+10
倍频程:5>bsxfun(@power,v1,v2)
ans=
1427256312546656 8.2354e+051.6777e+073.8742e+081E+10

您不需要使用
bsxfun
这里,
power
函数(及其等效运算符
^
)是矢量化的(即它可以接受数组,并以元素方式处理它们)

octave:1>v1=1:10;
倍频程:2>v2=1:10;
倍频程:3>v1.^v2
ans=
1427256312546656 8.2354e+051.6777e+073.8742e+081E+10
倍频程:4>功率(v1、v2)
ans=
1427256312546656 8.2354e+051.6777e+073.8742e+081E+10
倍频程:5>bsxfun(@power,v1,v2)
ans=
1427256312546656 8.2354e+051.6777e+073.8742e+081E+10

你是想用符号数学来做这件事,还是你知道
p
的值,并且在
x
向量中有值?这是符号数学,我不知道这些值代表什么,但类似的例子是“x是一个列向量[1 2 3 4 5 7 8 9 10],将每个值的幂增加1,当你逐渐向下移动向量时(例如1^1,2^2,3^3,4^4)”(我对数学术语非常不熟悉,因此如果我的句子效率不高,我向你道歉)你真的应该添加一个MCVE
vector2=1:p@烧杯,谢谢,这很有用!你是想用符号数学来做这件事,还是你知道
p
的值,并且在
x
向量中有值?这是符号数学,我不知道这些值代表什么,但类似的例子是“x是一个列向量[1 2 3 4 5 6 7 8 9 10],将每个值的幂增加1,当你逐渐向下移动向量时(例如1^1,2^2,3^3,4^4)”(我对数学术语非常不熟悉,因此如果我的句子效率不高,我向你道歉)你真的应该添加一个MCVE
vector2=1:p@烧杯,谢谢,这很有用!