Octave 迭代的倍频程使用(开始:步骤:结束)

Octave 迭代的倍频程使用(开始:步骤:结束),octave,Octave,假设我有一个数组A=[12345678910]。我想对它进行迭代,并对每个数字进行处理 A(开始:步骤:结束)->因为我想用步骤1进行迭代,所以我使用A(1:10) 这里的问题是,我如何使用这个迭代?在C++中,你会做< /P> for(int i=0;i代码< 1 /代码>,另一个用 2代码>(例如, A(1:结束-1)**(2:结束)< />代码,并使用我的自定义函数中的每个乘法数。< /P> < P>一个C++循环的类似< /P> for (int i = 0; i < 10; i+

假设我有一个数组
A=[12345678910]
。我想对它进行迭代,并对每个数字进行处理

A(开始:步骤:结束)
->因为我想用步骤
1
进行迭代,所以我使用
A(1:10)

这里的问题是,我如何使用这个迭代?在C++中,你会做< /P>
for(int i=0;i<10;i++)
{
//做点什么
}
我花了4个小时搜索如何使用该迭代。对于这样一件小事,我还没有找到一个解释:传递代码块来实际处理数字。甚至不知道如何使用当前索引(即C++中的
i

我的函数是八度音程
f=@(variable)(…)
,然而,当我调用
f(A(1:10))
时,它并不是真的将每个数字传递给函数,而是完成迭代,然后执行函数

我期待着像这样的事情

A(1:10) (DO SOMETHING WITH EACH NUMBER)
或者以我为例

A(1:10) ( f(INDEX) )
但这似乎也不起作用

我知道倍频程有一个内置的for循环,但在我的情况下,它太慢了

这是简化的解释,这里更高级。
我想把矩阵<代码> A<代码>,这样一个矩阵开始迭代,代码< >代码< 1 /代码>,另一个用<代码> 2代码>(例如,<代码> A(1:结束-1)**(2:结束)< />代码,并使用我的自定义函数中的每个乘法数。< /P> < P>一个C++循环的类似< /P>
for (int i = 0; i < 10; i++)
{
  //DO SOMETHING
}
因为倍频程指数是基于1的

没有
数组。forEach(do something)
八度结构


大多数情况下,通过将数组(向量和矩阵)一次性传递给函数,并构造函数本身,使其能够处理数组,可以实现加速。如何实现后者取决于函数是什么

A(1:10)
是一个数组表达式;特别是一个长度为10的向量表达式,它的形状可以是1x10,也可以是10x1,我永远记不清它是什么了。您想要做的事情似乎与逐元素乘法运算符(
*
)所做的一样,因此您对函数的调用将是:
f(a(1:end-1)。*a(2:end))
您正在寻找的是所谓的向量化,通常涉及,但我们必须知道您使用的函数是什么,才能找到解决方案。您可以对i=a…执行
操作,并获得与
forEach
相同的结果。略有不同,因为
.forEach
可以访问索引和数组值(可能取决于语言)。嗯,我不记得有哪种实现可以立即做到这一点,但是是的,您只会得到元素的值,而不会得到索引。
for i = 1:10
//DO SOMETHING 
end