如何用C语言求二重定积分?按二重积分c语言二重积分函数的定义做 。
我c语言二重积分函数的这个出错c语言二重积分函数,一起讨论下吧c语言二重积分函数:
#includestdio.h
#includemath.h
#define N 100
void main(){
double result,(*p)(double,double);
double f(double,double);
double integral(double,double,double,double,double(*p)());
p=f;
// printf("请输入a b c d 的值:\n");
// scanf("%lf %lf %lf %lf",a,b,c,d);
result=integral(2.0,8.0,0,6.0,p);
printf("该二重积分的值为:\n");
printf("%f",result);
printf("\n");
}
//求二重积分的函数
double integral(double a,double b,double c,double d,double (*p)(double,double)){
int i,j;
double x,y,h1,h2,volum=0;
h1=(b-a)/N;
h2=(d-c)/N;
x=a;
y=c;
for(i=0;iN;i){
for(j=0;jN;j){
volum =(*p)(x,y)*h1*h2;
y =h2;
}
x =h1;
}
return(volum);
}
double f(double x,double y){
double h;
h=sqrt((2 x*x)*sin(x*y)*sin(x*y)) x*x*y*cos(x)-30*x*y*y;
return (h);
}
运行结果:
求C语言或者MATLAB对下面这个二重积分编程 。如果是2011b或更早c语言二重积分函数的版本(至少2007bc语言二重积分函数 , 否则无法处理为积分限为无穷c语言二重积分函数的情况),可以借助于匿名函数和arrayfun进行计算(dblquad不能接受quadgk方法,否则可以用dblquad):
m=0.7; n=0.8;
N=50;
f=@(x,p)sqrt(N/(2*pi*p*(1-p)))*exp(-N*(x-p).^2/(2*p*(1-p)));
quadl(@(P)arrayfun(@(p)quadgk(@(x)f(x,p),-inf,m),P),m,n)
ans =
0.0229
对于2012a之后的版本,可以用integral2计算:
m=0.7; n=0.8;
N=50;
f1=@(x,p)sqrt(N./(2*pi*p.*(1-p))).*exp(-N*(x-p).^2./(2*p.*(1-p)));
integral2(f1,-inf,m,m,n)
ans =
0.0229
用C语言实现辛普森法二重积分~!谢了 !分函数
a,b 积分下上限,eps 精度 。
#includestdlib.h
#include math.h
double fsimpf(double x)
{
return sin(x) ;
}
double fsimp(double a,double b,double eps)
{
int n,k;
double h,t1,t2,s1,s2,ep,p,x;
n=1; h=b-a;
t1=h*(fsimpf(a) fsimpf(b))/2.0;
s1=t1;
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 fsimpf(x);
}
t2=(t1 h*p)/2.0;
s2=(4.0*t2-t1)/3.0;
ep=fabs(s2-s1);
t1=t2; s1=s2; n=n n; h=h/2.0;
}
return(s2);
}
void main()
{
double a,b,eps,t;
a=0.0; b=3.141592653589793238; eps=0.0000001;
a definite integral by Simpson Method.
t=fsimp(a,b,eps);
printf("%e\n",t);
printf("\n Press any key to quit...");
getch();
}
另外,站长团上有产品团购,便宜有保证
如何用C语言编辑二重积分程序?别说废话,谢谢~这是清华出的C语言程序集中的程序,c语言二重积分函数你只要把其中的bjpqfs换成是上下限的表达公式,把bjpqf换为被积函数就可以c语言二重积分函数了
bjpg.h
#ifndef_bjpq_h_
#define_bjpq_h_
#includemath.h
externvoidbjpqfs(doublex,doubley[2]);//上下限
externdoublebjpqf(doublex,doubley);//f(x,y)
doublebjpq(doublea,//x积分上限
doubleb,//x积分下限
doubleeps);//精度
#endif
bjpq.c
#include"bjpq.h "
staticdoublepqgl(doublex,doubleeps)
{
intm=1,n=1,k,l,j;
doubleb[10],h[10],y[2],hh,t1,t2,s0,yy,g,ep,s;
bjpqfs(x,y);
hh=y[1]-y[0];h[0]=hh;
t1=0.5*hh*(bjpqf(x,y[0]) bjpqf(x,y[1]));
s0=t1;b[0]=t1;ep=1.0 eps;
while((ep =eps)(m =9))
{
t2=0.5*t1;
for(k=0;k n;k)
{
yy=y[0] (k 0.5)*hh;
t2 =0.5*hh*bjpqf(x,yy);
}
m;
h[m-1]=h[m-2]/2.0;
g=t2;l=0;
for(j=2;j =m;j)
{
s=g-b[j-2];
if(!l)
if(fabs(s) 1.0==1.0)
l=1;
elseg=(h[m-1]-h[j-2])/s;
}
b[m-1]=g;
if(l)b[m-1]=1.0e 35;
s=b[m-1];
for(j=m;j =2;j--)s=b[j-2]-h[j-2]/s;
ep=fabs(s-s0)/(1.0 fabs(s));
n*=2;t1=t2;s0=s;hh=0.5*hh;
}
returns;
}
doublebjpq(doublea,doubleb,doubleeps)
{
intm=1,n=1,k,l,j;
doublebb[10],h[10],hh,s1,s2,t1,t2,x,g,s0,ep,s;
hh=b-a;h[0]=hh;
s1=pqgl(a,eps);
s2=pqgl(b,eps);
t1=hh*(s1 s2)/2.0;
s0=t1;bb[0]=t1;ep=1.0 eps;
while((ep =eps)(m =9))
{
t2=0.5*t1;
for(k=0;k n;k)
{
x=a (k 0.5)*hh;
s1=pqgl(x,eps);
t2 =0.5*s1*hh;
}
m;
h[m-1]=h[m-2]/2.0;
g=t2;l=0;
for(j=2;j =m;j)
{
s=g-bb[j-2];
if(!l)
if(fabs(s) 1.0==1.0)l=1;
elseg=(h[m-1]-h[j-2])/s;
}
bb[m-1]=g;
if(l)bb[m-1]=1.0e 35;
s=bb[m-1];
for(j=m;j =2;j--)s=bb[j-2]-h[j-2]/s;
ep=fabs(s-s0)/(1.0 fabs(s));
n*=2;t1=t2;s0=s;hh/=2.0;
}
returns;
}main.c
#include"bjpq.h "
voidbjpqfs(doublex,doubley[2])
{
y[1]=sqrt(1.0-x*x);
y[0]=-y[1];
return;
}
doublebjpqf(doublex,doubley)
{
returnexp(x*x y*y);
}
main()
{
doublexstart,xend,eps,s;
xstart=0.0;xend=1.0;eps=0.00005;
s=bjpq(xstart,xend,eps);
printf( "s=%e\n ",s);
}
用c语言求二重积分~~这个你用手工积分就行了,当然常数的代入计算还是可以用计算器的 。给你的提示是分0ya/2和a/2ya两次脱绝对值符号,最后都会演变为对sqrt(x^2 u^2)/(x^2 u^2 v^2)^2的积分形式,或者,你只关心数值结果的话,直接采用矩形法或者辛普森积分法,划分的细一点就不会有太大误差了
【c语言二重积分函数 c 二重积分】关于c语言二重积分函数和c二重积分的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息 , 记得收藏关注本站 。
推荐阅读
- sqlserver是什麽,sqlserver是什么
- 直播加入录屏,直播加入录屏会怎么样
- python回调函数理解 python调用函数返回值
- 用chatgpt实现无人直播,无人直播怎么玩
- 回归经营的游戏,回归 游戏
- 拆房单机游戏主机游戏,建房拆房游戏
- rule函数Python python中rjust函数
- mate9可以升级鸿蒙吗,华为mate9可以升级吗
- 国产恋爱游戏手机版,手机大型恋爱游戏