当前位置:首页 » 编程软件 » 积分编程

积分编程

发布时间: 2023-02-06 09:15:56

① 这两个积分用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)
计算结果

② matlab的参数积分编程

前几天写了这个问题的程序,因时间问题未能及时回答。现看到楼上已经回答,但代码以收费附件的方式提供,不便于交流,我谈谈自己的做法吧。

注意:以下列出几种方法的代码,是各自独立的,可以分别直接复制到命令窗口里面运行,或者保存成M文件之后运行。

方法1:符号积分

这种方法最为简单直接,很容易看懂。使用符号运算求积分,对于无法求出解析解的情况,有时候可以计算得到高精度数值解。

参考代码如下:

symsh
phi=atan(h/10.8);
alpha=int(sin(phi),0,h)/210;
T=linspace(0,400,20);
X=T*0;
Y=X;
fori=1:length(T)
t=T(i);
x=int(37.5*cos(phi+alpha),0,t);
X(i)=double(x);
y=int(37.5*sin(phi+alpha),0,t);
Y(i)=double(y);
end
plot(X,Y)
axisequal
xlabelx;ylabely

在有些版本中会提示“无法求出显式解”(Explicit integral could not be found)的警告信息,如果不希望看到警告,可以在代码前加一句

warningoffsymbolic:sym:int:warnmsg1

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;
}
}

④ MATLAB中,定积分加减怎么编程

题主给出的变积分,可以通过循环语句来解决。

第一步,将t划分若干份,如t=0:100

第二步,使用for循环语句,求解x为某值时的积分值。即

for i=1:100

。。。。。。

%求解x为某值时的积分值

end

第三步,使用integral函数求解积分值,即

t1=t(i);

eq1=@(x)exp(-(x-100).^2/15^2);

eq2=@(x)exp(-(x-50).^2/20^2);

f(i)=integral(eq1,-inf,t1)+quadgk(eq2,t1,+inf);

第四步,使用plot函数,绘制该积分的数值解图形。

⑤ 用c语言编程计算积分

#include #include float f1(float x) { return(1.0+x); } float f2(float x) { return(2.0*x+3.0); } float f3(float x) { return(exp(x)+1); } float f4(float x) { return(pow(1+x,2)); } float f5(float x) { return(pow(x,3)); } float fsimp(float a,float b,float (*p)(float)) { float c,s; c=(a+b)/2; s=(b-a)/6*(p(a)+4*p(c)+p(b)); return s; } int main() { float a,b; printf("请输入积分下限a的值:"); scanf("%f",&a); printf("请输入积分上限b的值:"); scanf("%f",&b); printf("%f\n",fsimp(a,b,f1)); printf("%f\n",fsimp(a,b,f2)); printf("%f\n",fsimp(a,b,f3)); printf("%f\n",fsimp(a,b,f4)); printf("%f\n",fsimp(a,b,f5)); }

热点内容
java返回this 发布:2025-10-20 08:28:16 浏览:829
制作脚本网站 发布:2025-10-20 08:17:34 浏览:1093
python中的init方法 发布:2025-10-20 08:17:33 浏览:799
图案密码什么意思 发布:2025-10-20 08:16:56 浏览:964
怎么清理微信视频缓存 发布:2025-10-20 08:12:37 浏览:855
c语言编译器怎么看执行过程 发布:2025-10-20 08:00:32 浏览:1207
邮箱如何填写发信服务器 发布:2025-10-20 07:45:27 浏览:428
shell脚本入门案例 发布:2025-10-20 07:44:45 浏览:308
怎么上传照片浏览上传 发布:2025-10-20 07:44:03 浏览:983
python股票数据获取 发布:2025-10-20 07:39:44 浏览:952