gpt4 book ai didi

C中 "pow"函数的组成

转载 作者:行者123 更新时间:2023-11-30 18:51:03 26 4
gpt4 key购买 nike

我正在尝试对几个方程进行积分,但程序无法编译。出现的错误消息显示:“函数 pow 的参数太多”

我将展示代码中有问题的部分,然后提出两个具体问题。

 #include <stdio.h> 
#include <math.h>


struct Par{
double gamma1, gamma2;
} aa;



void ecuaciones(int n, double v[], double dv[], double t){
dv[0]=v[6] ;

dv[1]=v[7] ;

dv[2]=v[8] ;

dv[3]=v[9] ;

dv[4]=v[10] ;

dv[5]=v[11] ;

dv[6]= aa.gamma1*(v[3]-v[0])*pow( (pow(v[0]-v[3], 2)+pow( v[1]-v[4], 2)+pow( v[2]-v[5], 2)), -1,5) ;

dv[7]= aa.gamma1*(v[4]-v[1])*pow( (pow(v[0]-v[3], 2)+pow( v[1]-v[4], 2)+pow( v[2]-v[5], 2)), -1,5) ;

dv[8]= aa.gamma1*(v[5]-v[2])*pow( (pow(v[0]-v[3], 2)+pow( v[1]-v[4], 2)+pow( v[2]-v[5], 2)), -1,5) ;

dv[9]= -aa.gamma2*(v[3]-v[0])*pow( (pow(v[0]-v[3], 2)+pow( v[1]-v[4], 2)+pow( v[2]-v[5], 2)), -1,5) ;

dv[10]= -aa.gamma2*(v[4]-v[1])*pow( (pow(v[0]-v[3], 2)+pow( v[1]-v[4], 2)+pow( v[2]-v[5], 2)), -1,5) ;

dv[11]= -aa.gamma2*(v[5]-v[2])*pow( (pow(v[0]-v[3], 2)+pow( v[1]-v[4], 2)+pow( v[2]-v[5], 2)), -1,5) ;

所以...问题出在 6 到 11 的 dv 中。问题如下:

在这种情况下可以使用“pow”函数还是它只是为常量基数定义的?如果答案是肯定的(我几乎肯定是的),那么就会出现以下疑问:如何将一个 pow 函数与另一个函数组合起来?

为了清楚起见,这就是我想使用“pow”函数的组合来表达的内容:enter image description here

请注意,至少有一种方法可以解决这个问题:即以 A*A= A squared 的形式写出基数的平方项,而不是使用 pow。鉴于底数可以提升到非整数幂,我认为一般情况的解决方案仍然非常重要。

最佳答案

将所有 -1,5 更改为 -1.5。我假设您正在尝试计算 3/2 的幂。

关于C中 "pow"函数的组成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38360373/

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