MATLAB计算积分

上传人:m**** 文档编号:484489450 上传时间:2022-08-21 格式:DOCX 页数:11 大小:39.75KB
返回 下载 相关 举报
MATLAB计算积分_第1页
第1页 / 共11页
MATLAB计算积分_第2页
第2页 / 共11页
MATLAB计算积分_第3页
第3页 / 共11页
MATLAB计算积分_第4页
第4页 / 共11页
MATLAB计算积分_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《MATLAB计算积分》由会员分享,可在线阅读,更多相关《MATLAB计算积分(11页珍藏版)》请在金锄头文库上搜索。

1、MATLAB计算积分函数的积分和椭圆的周长 1正弦函数的积分 问题求正弦函数从0到的积分 y = sinx 当x = 0时,积分为0,画出积分的函数曲线。 数学模型 定积分的结果为 S=sinxdx=-cosx0=2 0不定积分的结果为 I=sinxdx=-cosx+C 其中C是积分常量,由初始条件决定。当x = 0时,积分为I = 0,必有C = 1。结果为 I = -cosx + 1 算法根据积分的基本概念,将积分区域分为多份,用矩形法求曲线下的近似面积表示积分的近似值 S=f(xi)Dx i=1n矩形法的函数是sum(f)。 用梯形法求曲线下的近似面积表示积分的近似值 1S=f(xi)+

2、f(xi+1)Dx i=02梯形法的函数是trapz(f)。 用数值积分的函数是quad和quadl,常用使用格式是 S = quad(f,a,b) 其中,f表示被积函数,a表示积分的下限,b表示积分的下限。 用符号的函数是int,常用使用格式是 S = int(f,a,b) 程序zqy4_1.m如下。 %正弦函数的积分 clear %清除变量 x=linspace(0,pi); %自变量向量 dx=x(2); %间隔 y=sin(x); %被积函数 s1=sum(y)*dx %矩形法积分 s2=trapz(y)*dx %梯形法积分 f=inline(sin(x); %被积的内线函数 s3=q

3、uad(f,0,pi) %数值定积分 n-1 1 s4=int(sin(x),0,pi) %符号积分 sc1=cumsum(y)*dx; %矩形法累积积分(精度稍差) sc2=cumtrapz(y)*dx; %梯形法累积积分 figure %创建图形窗口 plot(x,-cos(x)+1,x,sc1,.,x,sc2,o) %画解析式和矩阵法以及梯形法积分曲线 s=int(sin(x) %符号积分 sc3=subs(s,x,x); %替换数值求符号积分的值 C=-sc3(1) %求积分常数 hold on %保持图像 plot(x,sc3+C,c*) %画符号法积分曲线 grid on %加网格

4、 fs=16; %字体大小 xlabel(itx,FontSize,fs) %横坐标 ylabel(intsinitxrmditx,FontSize,fs)%纵坐标 title(正弦函数的积分,FontSize,fs) %标题 legend(解析解,矩形法,梯形法,符号法)%图例 zqy4.1图 zqy4.2图 2.三角函数和指数的积分 问题求如下函数的积分 y = eaxsinbx 其中a = 0.5,b = 2。积分下限为0。画出积分的函数曲线。 数学模型 设 11axaxaxsinbxde=esinbx-becosbxdx aa1b1b=eaxsinbx-cosbxdeax=eaxsin

5、bx-eaxcosbx+beaxsinbxdx aaaaI=eaxsinbxdx=因此不定积分为 I=1eax(asinbx-bcosbx)+C 22a+bC=b 22a+b2 当x = 0时,I应该为零,所以 因此,从0开始的积分为 I=1axe(asinbx-bcosbx+b) 22a+b算法可用积分的解析式直接画图,也可利用被积函数通过梯形求和指令cumtrapz求积分,数值积分指令quad求积分,还可通过符号积分int求解。 程序zqy4_2cumtrapz.m如下。 %数值积分和符号积分方法 clear %清除变量 a=0.5; %指数的常数 b=2; %正弦函数的常数 dx=0.1

6、; %间隔 xm=6; %上限 x=0:dx:xm; %自变量向量 s1=(exp(a*x).*(-b*cos(b*x)+a*sin(b*x)/(a2+b2);%积分的解析解 C=-s1(1); %求积分常数 y=exp(a*x).*sin(b*x); %被积函数 s2=cumtrapz(y)*dx; %梯形法积分 %s2=cumsum(y)*dx; %矩形法求积分 figure %创建图形窗口 plot(x,s1+C,x,s2,.) %画积分曲线 s=exp(,num2str(a),*x).*sin(,num2str(b),*x);%被积分函数字符串 f=inline(s); %化为内线函数

7、 s3=0; %第1个值 for i=2:length(x) %按自变量循环 s3=s3,quad(f,0,x(i); %连接积分 end %结束循环 s=int(exp(a*x)*sin(b*x) %对x进行符号积分 ss=subs(s,a,b,a,b); %替换常数 s4=subs(ss,x,x); %替换向量 hold on %保持图像 plot(x,s3,or,x,s4-s4(1),ch,MarkerSize,16)%画数值积分和符号积分曲线 title(ityrm=e,num2str(a),itxrmsin,num2str(b),itxrm的积分,FontSize,16)%标题 le

8、gend(公式法,梯形法,数值法,符号法,2)%加图例 3.椭圆周长的计算 问题椭圆的长半轴为a,偏心率为e,求其周长。 数学模型 椭圆的方程为 x = asin,y = bcos 其微分为 dx = acosd,y = -bsind 3 y b O (x,y) x a 弧元为 ds=dx2+dy2=a2cos2j+b2sin2jdj=a2(1-sin2j)+b2sin2jdj a2-b22c2=a1-sinjdj=a1-2sin2jdj 2aa周长为 /2C=4a1-e2sin2jdj 0其中e是偏心率。对于一个偏心率,可直接计算上述积分。第二类完全椭圆积分定义为 /2E(k)=周长可表示为

9、 01-k2sin2xdx C=4aE(e) 算法取长半轴为a为周长的单位,周长可表示为 CC*=41-e2sin2jdj a0可利用数值积分指令quadl直接对上式积分,也可利用符号积分指令int对上式积分。将参数e2向量和积分变量化为矩阵,则能利用梯形求和指令trapz求周长。用MATLAB的函数ellipke可直接计算第二类完全椭圆积分之值,不过,第二类完全椭圆积分定义为 /2/2E(m)=因此椭圆周长为 01-msin2xdx C=4aE(e2) 程序zqy4_3_1.m如下。 %椭圆的周长 clear %清除变量 e=0:0.1:1; %偏心率 c1=; %周长向量置空 for i=

10、1:length(e) %按偏心率循环 s=sqrt(1-,num2str(e(i)2),*sin(x).2);%被积函数字符串 f=inline(s); %被积内线函数 c=4*quadl(f,0,pi/2); %用数值积分求周长 c1=c1,c; %连接周长 end %结束循环 syms x k %定义符号变量 s=sqrt(1-k*sin(x)2); %被积符号函数 i=4*int(s,0,pi/2); %符号积分 4 c2=subs(i,k,e.2); %周长 phi=linspace(0,pi/2); %角度向量 E,PHI=meshgrid(e,phi); %矩阵 F=4*sqrt(1-E.2.*cos(PHI).2); %被积函数 c3=trapz(F)*phi(2); %用梯形法求周长 K,E=ellipke(e.2); %两类完全椭圆积分 c4=4*E;

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号