gpt4 book ai didi

c++ - 数值分析方程

转载 作者:行者123 更新时间:2023-11-30 00:54:25 27 4
gpt4 key购买 nike

我有这个等式 here和然后从中找到多项式 here

我正在尝试这样实现它:

for (int n=0;n<order;n++){
df[n][0]=y[n];
for (int i=0;i<N;i++){ //N number of points

df[n][i]+=factorial(n,i)*y[i+n-1];
}

}

for (int i=0;i<N;i++){

term=factorial(s,i);
result*=df[0][i]*term;
sum+=result;
}

return sum;

1) 我不确定如何实现函数中每个参数的符号。如您所见,它变成了 'positive' 、 'negative' 、 'positive' ...

2)我不确定有没有错误...

谢谢!

--------------------阶乘------------------------ -----

int fact(int n){
//3!=1*2*3
if (n==0) return 1;
else
return n*fact(n-1);

}

double factorial(double s,int n){
//(s 3)=s*(s-1)*(s-2)/6
if ((n==0) &&(s==0)) return 1;
else
return fact(s)/fact(n);


}

最佳答案

最简单的解决方案可能就是保持登录状态一个变量,并在每次循环中将其相乘。像这样的东西:

sign = 1.0;
for ( int i = 0; i < N; ++ i ) {
term = factorial( s, i );
result *= df[0][i] * term;
sum += sign * result;
sign = - sign;
}

关于c++ - 数值分析方程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14323276/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com