正弦函数与三角函数积分及Matlab编程
正弦函数和三角函数的积分及Matlab编程
求正弦函数y = sinx从0到π的积分
当x = 0时,积分为0,画出积分的函数曲线。
定积分的结果为
不定积分的结果为
其中C是积分常量,由初始条件决定。当x = 0时,积分为I = 0,必有C = 1。结果为
I = -cosx + 1
根据积分的基本概念,将积分区域分为多份,用矩形法求曲线下的近似面积表示积分的近似值
矩形法的函数是sum(f)。
用梯形法求曲线下的近似面积表示积分的近似值
梯形法的函数是trapz(f)。
用数值积分的函数是quad和quadl,常用使用格式是
S = quad(f,a,b)
其中,f表示被积函数,a表示积分的下限,b表示积分的下限。
用符号的函数是int,常用使用格式是
S = int(f,a,b)
程序如下
%正弦函数的积分
clear %清除变量
x=linspace(0,pi); %自变量向量
dx=x(2); %间隔
y=sin(x); %被积函数
s1=sum(y)*dx %矩形法积分
s2=trapz(y)*dx %梯形法积分
f=inline('sin(x)'); %被积的内线函数
s3=quad(f,0,pi) %数值定积分
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 %加网格
fs=16; %字体大小
xlabel('itx','FontSize',fs) %横坐标
ylabel('intsinitxrmditx','FontSize',fs)%纵坐标
title('正弦函数的积分','FontSize',fs) %标题
legend('解析解','矩形法','梯形法','符号法')%图例
2.三角函数和指数的积分
[问题]求如下函数的积分
y = eaxsinbx
其中a = 0.5,b = 2。积分下限为0。画出积分的函数曲线。
[数学模型]
设
因此不定积分为
当x = 0时,I应该为零,所以
因此,从0开始的积分为
[算法]可用积分的解析式直接画图,也可利用被积函数通过梯形求和指令cumtrapz求积分,数值积分指令quad求积分,还可通过符号积分int求解。
程序如下。
%数值积分和符号积分方法
clear %清除变量
a=0.5; %指数的常数
b=2; %正弦函数的常数
dx=0.1; %间隔
xm=6; %上限
x=0:dx:xm; %自变量向量
s1=(exp(a*x).*(-b*cos(b*x)+a*sin(b*x)))/(a^2+b^2