视频
拓展学习
例1 设f(x)=sinx,在[0,2π]范围内随机采样,计算f'(x)的近似值,并与理论值f'(x)=cosx 进行比较。
>> x=[0,sort(2*pi*rand(1,5000)),2*pi];
>> y=sin(x);
>> f1=diff(y)./diff(x);
>> f2=cos(x(1:end-1));
>> plot(x(1:end-1),f1,x(1:end-1),f2);
>> d=norm(f1-f2)
例2 分别用quad函数和quadl函数求定积分的近似值,并在相同的积分精度下,比较被积函数的调用次数。
>> format long
>> f=@(x) 4./(1+x.^2);
>> [I,n]=quad(f,0,1,1e-8)
>> [I,n]=quadl(f,0,1,1e-8)
>> (atan(1)-atan(0))*4
>> format short
例3 求定积分。
被积函数文件fe.m:
function f=fe(x)
f=1./(x.*sqrt(1-log(x).^2));
>> I=integral(@fe,1,exp(1))
例4 求定积分。
被积函数文件fsx.m:
function f=fsx(x)
f=sin(1./x)./x.^2;
>> I=quadgk(@fsx,2/pi,+Inf)
例5 设x=1:6,y=[6,8,11,7,5,2],用trapz函数计算定积分。
>> x=1:6;
>> y=[6,8,11,7,5,2];
>> plot(x,y,'-ko');
>> grid on
>> axis([1,6,0,11]);
>> I1=trapz(x,y)
>> I2=sum(diff(x).*(y(1:end-1)+y(2:end))/2)
例6 分别求二重积分和三重积分。
>> f1=@(x,y) exp(-x.^2/2).*sin(x.^2+y);
>> I1=quad2d(f1,-2,2,-1,1)
>> f2=@(x,y,z) 4*x.*z.*exp(-z.*z.*y-x.*x);
>> I2=integral3(f2,0,pi,0,pi,0,1)