[2019/5/31]学习MATLAB第四节,求函数的导数和定积分的几个方法

一.问题
1.绘制函数 f ( x ) = ( 20 ∗ x 3 − 7 ∗ x 2 + 5 ∗ x + 10 ) ∗ ( 4 x 2 + 12 ∗ x − 3 ) f(x) = (20*x^3 - 7 * x^2 +5*x+10)*(4x^2+12*x-3) f(x)=(20x37x2+5x+10)(4x2+12x3);及 f ′ ( x ) f'(x) f(x)的图形

a = [20,-7,5,10];
b = [4,12,-3];
x = -2:0.01:1;
c = conv(a,b);  %提取两个函数的乘积后的系数值
f = polyval(c,x);%求出函数f(x)
hold on;
plot(x,f,'b--');
xlabel('x');
ylabel('f(x)');
f1 = polyval(polyder(c),x);%polyder(c)表示提取函数f(x)求导后的系数
plot(x,f1,'r');
hold off;
legend('f(x)','f^\prime(x)');%显示f(x)和f‘(x)

结果:
在这里插入图片描述2.求f(x)的积分,利用polyint(p,n)函数
f ( x ) = 5 ∗ x 4 − 2 ∗ x 2 + 1 f(x) = 5*x^4 -2*x^2+1 f(x)=5x42x2+1,求 ∫ f ( x ) d ( x ) ∫f(x)d(x) f(x)d(x)

p=[5 0 -2 0 1];
a = polyint(p, 3);%polyint(p,n)表示提取函数积分后的系数值,n是常数项
polyval(a,7);%计算 ∫f(7)d(x)

3.利用diff()函数(计算向量内两元素的差值),使用导数定义求 f ′ ( x ) f'(x) f(x)
定义: f ′ ( x ) = lim ⁡ h → 0 f ( x 0 + h ) − f ( x 0 ) h f'(x)=\lim_{h\rightarrow 0}\frac{f(x0+h)-f(x0)}{h} f(x)=limh0hf(x0+h)f(x0)
例: f ( x ) = s i n ( x ) , 求 f ′ ( x 0 ) , 其 中 x 0 = π / 2 , h = 0.1 f(x)=sin(x),求f'(x0),其中x0= π/2,h=0.1 f(x)=sin(x),f(x0),x0=π/2h=0.1

x0 = pi/2; h = 0.1;
x = [x0,x0+h];
y = [sin(x0),sin(x0+h)]; 
m = diff(y)./diff(x)

结果:

m =

   -0.0500

注:在线LaTex公式编辑器在CSDN博客上插入数学公式,http://private.codecogs.com/latex/eqneditor.php
在这里插入图片描述
二.问题
已知 f ( x ) = e − x ∗ s i n ( x 2 / 2 ) , 求 当 h = 0.1 、 0.01 、 0.001 时 , f ′ ( x ) 的 图 形 f(x)=e^{-x}*sin(x^{2}/2),求当h=0.1、0.01、0.001时,f'(x)的图形 f(x)=exsin(x2/2),h=0.10.010.001f(x)

for i = 1:4
    h = power(10,-i);
    x = 0:h:2*pi;
    y = exp(-x).*sin(x.^2/2);
    m = diff(y)./diff(x);
    hold on;
    %plot(x,y);
    plot(x(1:end-1),m);%x(1:end-1)表示x(1)、x(2)...导函数比原函数少一个元素
    hold off;
end;

结果:
在这里插入图片描述怎么二次求导?

m = diff(y)./diff(x);	%求f'(x)
m2 = diff(m)./diff(x(1:end-1));	%求f''(x)

三.求定积分的几个方法(求得是近似值)
①.中值规则
∫ x 0 x 3 f ( x ) d x ≈ h f 0 + h f 1 + h f 2 = h ∑ i = 0 n − 1 f i \int_{x0}^{x3}f(x)dx≈hf0+hf1+hf2=h\sum_{i=0}^{n-1}fi x0x3f(x)dxhf0+hf1+hf2=hi=0n1fi

其中 f 0 = f ( x 0 + x 1 2 ) f0=f(\frac{x0+x1}{2}) f0=f(2x0+x1) f 1 = f ( x 1 + x 2 2 ) f1=f(\frac{x1+x2}{2}) f1=f(2x1+x2) f 2 = f ( x 2 + x 3 2 ) f2=f(\frac{x2+x3}{2}) f2=f(2x2+x3)
在这里插入图片描述

例:求 A = ∫ 0 2 4 x 3 d x = ( 2 ) 4 − ( 0 ) 4 = 16 A=\int_{0}^{2}4x^3dx=(2)^4-(0)^4=16 A=024x3dx=(2)4(0)4=16

h = 0.05;
x = 0:h:2;
midpoint = (x(1:end-1)+x(2:end))./2;
y = 4*midpoint.^3;
s = sum(h*y)

结果:

s = 
	15.9950

注解:
x(1:end-1)表示 x0,x1,x2…
x(2:end)表示 x1,x2,x3…
(x(1:end-1)+x(2:end))./2表示 ( x 0 + x 1 2 ) 、 ( x 1 + x 2 2 ) 、 ( x 2 + x 3 2 ) . . . (\frac{x0+x1}{2})、(\frac{x1+x2}{2})、(\frac{x2+x3}{2})... (2x0+x1)(2x1+x2)(2x2+x3)...
midpoint 表示求 f ( x 0 + x 1 2 ) f(\frac{x0+x1}{2}) f(2x0+x1)

②.求梯形面积规则

∫ x 0 x 3 f ( x ) d x ≈ h ( f 0 + f 1 2 + f 1 + f 2 2 + f 2 + f 3 2 ) \int_{x0}^{x3}f(x)dx≈h(\frac{f0+f1}{2}+\frac{f1+f2}{2}+\frac{f2+f3}{2}) x0x3f(x)dxh(2f0+f1+2f1+f2+2f2+f3)
在这里插入图片描述
例:求 A = ∫ 0 2 4 x 3 d x = ( 2 ) 4 − ( 0 ) 4 = 16 A=\int_{0}^{2}4x^3dx=(2)^4-(0)^4=16 A=024x3dx=(2)4(0)4=16

h = 0.05;
 x = 0:h:2;
  y = 4*x.^3;
trapezoid = (y(1:end-1)+y(2:end))/2;
s = h*sum(trapezoid)

结果:

s =

   16.0100

③.Simpson(辛普森) 法则

∫ x 0 x 3 f ( x ) d x ≈ h 3 ( f 0 + 4 f 1 + f 2 ) \int_{x0}^{x3}f(x)dx≈\frac{h}{3}(f0+4f1+f2) x0x3f(x)dx3h(f0+4f1+f2)

例:求 A = ∫ 0 2 4 x 3 d x = ( 2 ) 4 − ( 0 ) 4 = 16 A=\int_{0}^{2}4x^3dx=(2)^4-(0)^4=16 A=024x3dx=(2)4(0)4=16

h = 0.05; 
x = 0:h:2; 
y = 4*x.^3;
s = h/3*(y(1)+2*sum(y(3:2:end-2))+4*sum(y(2:2:end))+y(end))

结果:

s =
	16

推广:
在这里插入图片描述
④integral()函数取定积分的准确值

求: ∫ 0 2 1 x 3 − 2 x − 5 d x \int_{0}^{2}\frac{1}{x^3-2x-5}dx 02x32x51dx

y = @(x) 1./(x.^3-2*x-5);
integral(y,0,2)

结果:

ans =

   -0.4605

注:integral(y,a,b)中,y表示原函数,a、b分别表示积分上下限;
integral2(y,a,b,c,d);二次积分;a、b分别表示内层积分上下限,c、d表示外层积分上下限;

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值