如何用matlab求exp(x^2)在1到2 的积分?
最佳回答
最新回答共有2条回答
-
2026-04-01 12:17:45美丽的香烟
回复由于无法求得exp(x^2)的原函数,我们只能用数值算法来求解,可以用复化梯形公式、Romberg公式、Gauss公式等,有好多种。我用Matlab编了一个用Gauss公式求解积分的函数。function S=GaussIntegrate()%运用Gauss求积公式计算数值积分%f为被积函数,Rho为权函数,二者均为符号函数x=sym('x');f=exp(x^2);Rho=1;%a,b分别为求积区间的左界和右界a=1;b=2;%n表示求积结点的个数,是一正整数n=8;%本程序利用线性变换将区间[a,b]变换到[-1。1],%同时令g=f*Rho为被积函数,然后利用%古典的Gauss求积公式进行计算,此时直交多项式即为Legendre多项式if nberror('错误,区间的左界a一定不大于右界b!');end;%计算n次Legendre多项式syms x;P=1/(2^n*factorial(n))*diff((x^2-1)^n,n);w=roots(sym2poly(P));%计算数值积分A=zeros(1,n);S=0;for k=1:nA(k)=2/((1-w(k)^2)*(subs(diff(P),w(k))^2));t=a+(b-a)/2*(w(k)+1);g=(b-a)/2*subs(f*Rho,t);S=S+A(k)*g;end;--------------------------------我取了8个结点,计算精度就已经达到了小数点后8位,效率还是很高的。注意:由于Matlab调用Maple的符号计算工具箱,第一次运行时会加载一小会,耐心等待。以后再运行速度就很快了。 再问: 实际上我想求的是函数exp(y*z^2/2-z^3/3)对z在-1到1上的积分,能用你给的code再帮我编一次吗,谢了 再答: exp(y*z^2/2-z^3/3),y等于多少啊?这个你直接把f和积分区间[a,b]修改一下就行了。
热门文章
- 康达学院专转本五年制
- 高考一个考场分ab卷吗
- not only but also用法
- 某物体做自由落体运动,从释放开始计时,则物体在前2s内的平均速度为______m/s,物体下落2m时的速度大小为______m/s.
- 三角函数公式大全表格
- 地理中考必背知识点2022
- 2013-2014学年小学六年级科学上学期期末考试试卷及答案
- 人教版2014-2015学年小学五年级英语第二学期期中教学质量检测试卷及答案
- 【Linux驱动开发】设备树详解(二)设备树语法详解
- 别跟客户扯细节
- 在别的城市买房子能落户吗
- 卖房前要把装修贷还完吗
- 高中政治教学提高教学效果的方法探究
- “互联网+”背景下的初中英语课堂教学改革与创新策略研究
- 2022年终止合同范本
- 租房合同范本范文
- 如何挑选土豆
- 如何挑选土鸡
