A. 这两个积分用matlab怎么编程计算

这两个积分用matlab怎么编程计算,用int()函数求解,要得到符号解析值是比较困难的,但如已知R1、D等数值,是可以得到其数值解。如R1=10;D=5;则第一个积分可以这样来计算。
>>symsxR1D
>>R1=10;D=5;
>>int(sqrt((2*R1-x)*x)/(x+D)^3,x,0,2*R1)
>>vpa(ans)
计算结果

B. c语言编程- 微积分程序

辛普森法

#include <stdio.h>
#include <math.h>
#define F(X) (4.0/(1+X*X))
static float EPS = 1.0E-14;
static int COUNT=1;
static double a=0.0, b=1.0;
static double M[32],T[32],S[32],C[32],R[32],E[32];

double GETM(int K)
{ unsigned long j,n=1;
double x=0,y=0,step=0;
for(j=0;j<K;j++) n*=2;
step = (b-a)/n;
x = a+step/2;
for(j=0;j<n;j++){y+=F(x);x+=step;}
return (y*step);
}

Simpson(float EPS)
{ int k=0;
T[0]= (b-a)*(F(a)+F(b))/2.0;
S[0]=T[0];
E[0]=1.0E10;
for(k=0;k<20;k++)
{ M[k] = GETM(k);
T[k+1]=(M[k]+T[k])/2.0;
S[k+1]=(4.0*T[k+1]-T[k])/3.0;
COUNT++;
E[k+1]=fabs(S[k+1]-S[k]);
if(k<3)continue;
if(E[k+1]<EPS)break;
}
return;
}

ShawResult()
{ int k;
system("cls");
printf("\n K M[K] T[K] S[K]");
printf(" E[K]");
printf("\n-------------------------------------------");
printf("-----------------------------------");
for(k=0;k<COUNT;k++)
printf("\n%2d %20.15lf%20.15lf%20.15lf%12.4e",k,M[k],T[k],S[k],E[k]);
printf("\n--------------------------------------------");
printf("-----------------------------------");
getch();
system("cls");
return;
}

SaveResult()
{ int k;
FILE * fp;
fp=fopen("Simpson.htm","w");
if(!fp) return;
fprintf(fp,"<html><head></head>");
fprintf(fp,"<body bgcolor = #006699 text = #FFff00>");
fprintf(fp,"<pre><font size=\"6\">");
fprintf(fp,"\n K M[K] T[K] S[K]");
fprintf(fp," E[K]");
fprintf(fp,"\n----------------------------------------------");
fprintf(fp,"----------------------------------");
for(k=0;k<COUNT;k++)
fprintf(fp,"\n%2d %20.15f%20.15f%20.15f%12.4le",k,M[k],T[k],S[k],E[k]);
fprintf(fp,"\n----------------------------------------------");
fprintf(fp,"----------------------------------");
fprintf(fp,"</pre></font></body>");
fclose(fp);
return;
}

main()
{ Simpson(EPS);
ShawResult();
SaveResult();
}

C. 积分公式如何编程

用循环来呀(如果不想直接用积分公源式的话)
每次增加 函数值×步长

比如积分范围0~1之间,函数为X²
你可用下面方法循环(以VB类语言为例):
Dim i As Double, Y As Double
Y = 0
For i = 0 To 1 Step 0.0001
Y = Y + i * i * 0.0001
Next i
Print Y

当然,得出的是个近似值
想得到精确值,用积分公式:
函数为X²的积分公式为1/3X³
积分范围0~1之间:
1/3*1*1*1-1/3*0*0*0=1/3

D. C语言编程如何编写积分公式

#include<iostream.h>
//定义结构类型
structstudent
{
intnum;
charname[20];
floatgrade;
};
voidmain(void)
{
//声明数组
inti,size;
charstr[]="Thisisastring.";
intint_values[]={51,23,2,44,45,0,11};
floatfloat_values[]={15.1,13.3,22.2,10.4,1.5};
studentst_arr[]={101,"WangLin",92,102,"LiPing",85,103,"ZhaoMin",88};

//显示char类型数组元素及其大小
size=sizeof(str)/sizeof(char);
cout<<"Numberofelementsinstr:";
cout<<size<<endl;
for(i=0;i<size;i++){
cout<<str[i];
}
cout<<endl;

//显示int类型数组元素及其大小
size=sizeof(int_values)/sizeof(int);
cout<<"Numberofelementsinint_values:";
cout<<size<<endl;
for(i=0;i<size;i++){
cout<<int_values[i]<<"";
}
cout<<endl;

//显示float类型数组元素及其大小
size=sizeof(float_values)/sizeof(float);
cout<<"Numberofelementsinfloat_values:";
cout<<size<<endl;
for(i=0;i<size;i++){
cout<<float_values[i]<<"";
}
cout<<endl;

//显示student类型数组元素及其大小
size=sizeof(st_arr)/sizeof(student);
cout<<"Numberofelementsinst_arr:";
cout<<size<<endl;
for(i=0;i<size;i++){
cout<<st_arr[i].num<<"";
cout<<st_arr[i].name<<"";
cout<<st_arr[i].grade<<endl;
}
}
#include<iostream.h>
//add()函数的定义,其有返回值
doubleadd(doublex,doubley)
{
doublez;
z=x+y;
cout<<x<<"+"<<y<<"="<<z<<endl;
return(z);
}

main()
{
doublea=0.5,b=1.0;

//以不同参数形式调用函数add()
cout<<"add(1.5,2.5)="<<add(1.5,2.5)<<endl;
cout<<"add(a,b)="<<add(a,b)<<endl;
cout<<"add(2*a,a+b)="<<add(2*a,a+b)<<endl;
cout<<"----------------------"<<endl;

//以表达式方式调用函数add()
doublec=2*add(a,b);
cout<<"c="<<c<<endl;
cout<<"----------------------"<<endl;

//以语句式方式调用函数add()
add(2*a,b);
cout<<"----------------------"<<endl;

//用其他类型参数调用函数add()
intn=1,m=2;
cout<<"add("<<n<<","<<m<<")="<<add(n,m)<<endl;
}
#include<iostream.h>
//定义符号函数sgn(),其返回值为int类型
intsgn(doublex)
{
if(x>0)return(1);//返回出口1
if(x<0)return(-1);//返回出口2
return(0);//返回出口3
}
//main()函数定义
main()
{
doublex;
inti;
for(i=0;i<=2;i++){
cout<<"x=";
cin>>x;
cout<<"sgn("<<x<<")="<<sgn(x)<<endl;
}
}