24小时热门版块排行榜    

查看: 862  |  回复: 0

muqiuyan

木虫 (小有名气)

[交流] 【求助】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"
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 muqiuyan 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 今日不放榜?网传国自然预计 8 月 27 日可查结果 +16 医学老男孩 2026-08-20 20/1000 2026-08-21 21:13 by Ldrop2023
[基金申请] 科研孤儿太难了 +17 我4大白菜 2026-08-20 18/900 2026-08-21 20:57 by zhangev
[基金申请] 建议基金发布提前给出明确的时间点 +10 kulium 2026-08-21 12/600 2026-08-21 19:46 by kulium
[基金申请] 时间戳又变了 +13 wuchongjun 2026-08-20 19/950 2026-08-21 17:21 by 紫杉醇
[基金申请] 让我中一个面上吧! +11 大萍1987 2026-08-20 13/650 2026-08-21 14:48 by 20120902066
[基金申请] 感觉是下周放榜了 +7 angus9576 2026-08-17 12/600 2026-08-21 13:38 by weiyin
[基金申请] 我面上完蛋了 +7 且听虎啸 2026-08-20 8/400 2026-08-21 12:31 by 酷酷墨镜
[基金申请] 什么时候开奖? +7 CrisMessi 2026-08-18 7/350 2026-08-21 12:15 by weiyin
[基金申请] 今天基金会出结果吗?20260819 +15 kkkl_v 2026-08-19 16/800 2026-08-21 11:22 by 365372687
[基金申请] 应该是下周三26日公布了吧? +4 哈哈蛤? 2026-08-21 4/200 2026-08-21 10:58 by Vivilian
[论文投稿] 投稿咨询 +5 wwm09 2026-08-17 7/350 2026-08-21 10:11 by 期刊论文帮手
[基金申请] 放榜前的不淡定 40+4 snowwithsea 2026-08-19 13/650 2026-08-21 08:30 by 北京莱茵编辑
[基金申请] 时间戳今天,20号变了 +4 archvillain 2026-08-20 4/200 2026-08-21 08:10 by gatelove
[基金申请] 估计是周四 +3 archvillain 2026-08-18 3/150 2026-08-21 01:48 by jnhyjjm
[基金申请] 重要消息,中午系统在维护 +11 yuleib84 2026-08-18 12/600 2026-08-20 11:09 by xskun
[教师之家] 为什么余额宝的年化利率越来越低?主要原因有哪些? +5 瞬息宇宙 2026-08-15 5/250 2026-08-19 20:23 by super2002521
[基金申请] 2027广东省杰青 +4 奶牛小黑 2026-08-15 10/500 2026-08-19 11:02 by wanfengnew
[基金申请] 朋友圈看到的 +6 wangzilk 2026-08-18 8/400 2026-08-19 10:55 by Haru815
[基金申请] 明天放榜? +5 Shxjjxjkx 2026-08-18 5/250 2026-08-18 18:14 by -大大大大大-
[基金申请] 今天维护系统维护 祝所有人 高中 +8 gjjjzhong 2026-08-18 9/450 2026-08-18 13:01 by 家与远方
信息提示
请填处理意见