| 查看: 774 | 回复: 0 | |||
[交流]
【求助】type mismatch in redeclaration问题
|
|
利用Simpson方法计算定积分,程序如下; #incude "stdio.h" #include "math.h" double cal_c(double zz,double D,double x) { double c,k=1.380658e-23,T=273.15; double f; c=simps(0.0,D,1e-10,f); /* 用变步长辛卜生求积法积分*/ c=4.0*3.1415*c/k/T; printf(">> simp: c=%.4e\n",c); return(c); } double f(x) /*要进行计算的被积函数*/ double x; {double seigerma=3.2536e-10,rad=0.300e-10,k=1.380658e-23,ipuseilong=152.68,T=273.15; double derlta_4,derlta_5,derlta_10,derlta_11,oumiga_0,oumiga_1,oumiga; double y,D,zz; derlta_4=(pow((1.0-x/D-rad/D),-4)-pow((1.0+x/D-rad/D),-4))/4.0; printf("derlta_4=%e\n",derlta_4); derlta_5=(pow((1.0-x/D-rad/D),-5)-pow((1.0+x/D-rad/D),-5))/5.0; printf("derlta_5=%e\n",derlta_4); derlta_10=(pow((1.0-x/D-rad/D),-10)-pow((1.0+x/D-rad/D),-10))/10.0; derlta_11=(pow((1.0-x/D-rad/D),-11)-pow((1.0+x/D-rad/D),-11))/11.0; oumiga_0=pow(seigerma/D,11)*seigerma*(derlta_10+rad/D*derlta_11)/x; oumiga_1=pow(seigerma/D,5)*seigerma*(derlta_4+rad/D*derlta_5)/x; oumiga=2.0*zz*ipuseilong*(oumiga_0-oumiga_1); y=exp(-oumiga/T)*x*x; return(y); } double simps(a,b,eps,f) /*辛普森算法*/ double a,b,eps,(*f)(); /*a为积分下限,b为积分上限,eps是希望达到的精度*/ { int n,k; double h,t1,t2,s1,s2,ep,p,x; n=1; h=b-a; printf("h=%e\n",h); t1=((*f)(a)+(*f)(b))*h/2.0; /*用梯形公式求出一个大概的估值*/ printf("t1=%e\n",t1); s1=t1; printf("s1=%e\n",s1); ep=eps+1.0; while (ep>=eps) { p=0.0; for (k=0;k<=n-1;k++) { x=a+(k+0.5)*h; p=p+(*f)(x); } printf("p=%e\n",p); t2=(t1+h*p)/2.0; s2=(4.0*t2-t1)/3.0; printf("s2=%e\n",s2); ep=fabs(s2-s1); t1=t2; s1=s2; n=n+n; h=h/2.0; } return(s2); } void main() { int i; double zz[2]={20.0,24.0},D[2]={3.95e-10,4.33e-10}; double c[2],x; for(i=0;i<2;i++) { c=cal_c(zz,D,x); printf("c[%d]=%.4e\n",i,c); } } 运行提示 type mismatch in redeclaration of "simps" |
» 猜你喜欢
求助:我三月中下旬出站,青基依托单位怎么办?
已经有9人回复
Cas 72-43-5需要30g,定制合成,能接单的留言
已经有8人回复
北京211副教授,35岁,想重新出发,去国外做博后,怎么样?
已经有8人回复
磺酰氟产物,毕不了业了!
已经有5人回复
论文终于录用啦!满足毕业条件了
已经有25人回复
2026年机械制造与材料应用国际会议 (ICMMMA 2026)
已经有3人回复
自荐读博
已经有3人回复
不自信的我
已经有5人回复
投稿Elsevier的杂志(返修),总是在选择OA和subscription界面被踢皮球
已经有8人回复









回复此楼