-2

我对 c 还是很陌生,我似乎无法理解这一小段代码。

void daxpy(int N, double alpha, double *x, double *y)
y=alpha*x+y
for (i=0, i<N, i++)
y[1]=alpha*x[1]+y[1];

我似乎不知道 daxpy 函数在做什么,甚至不知道它的目的。我知道这可能不是很困难。任何帮助都感激不尽。这是我的笔记。我只是好奇它是什么。我知道像 daxpy 这样的显而易见的东西是一个函数调用。但只需要一个小小的解释

4

1 回答 1

1

我认为实际的代码是这样的:

void daxpy(int N, double alpha, double *x, double *y)
{
    for (int i = 0, i < N, i++)
        y[i]= alpha * x[i] + y[i];
}

这是因为在查看您的代码时y = alpha * x + y似乎没有意义。由于x并且y似乎是数组,它不应该那样工作。此外,下面的代码是一个循环,我认为它解释了它y = alpha * x + y自己的语句。并且索引中的数字应该是i而不是1,因为它是从0到的循环N。放在那里没有意义1

所以这个函数调用基本上只是将数组的每个元素y加上它的对应值x乘以一个常量alpha

于 2013-11-08T03:37:34.713 回答