matlab求带参数的函数随参数变化的定积分,并绘制图像

如y=∫sin(t)/(1+a)dt t=(0->pi);

要求a在1-10区间连续变化时,y的变化关系,并绘制图形。

>> a=1:0.5:10;
>> y=arrayfun(@(a)quad(@(t) sin(t)/(1+a),0,pi),a);
>> plot(a,y)

追问

谢谢,请问该方法是否能用于较为复杂的函数?如两个带参数的定积分之积?
y=(∫sin(t)/(1+a)dt )/(∫sin(t)^2/(1+a)dt )^0.5

追答

可以啊,你参照下面的改写

>> clear
>> a = 1:0.5:10;
>> f = @(a) quad(@(t)sin(t)/(1+a),0,pi)./quad(@(t)sin(t).^2/(1+a),0,pi); % 你的函数,注意其实是以a为自变量。其中quad是数值积分函数,对t进行积分。
>> y = arrayfun(f,a); % 计算不同的a对应的函数值
>> plot(a,y); % 作图

温馨提示:答案为网友推荐,仅供参考
相似回答