本文内容来自于学习麻省理工学院公开课:单变量微积分-中值定理及重要不等式-网易公开课

罗尔中值定理_百度百科,

费马引理_百度百科

拉格朗日中值定理_百度百科

开发环境准备:CSDN

目录

一、牛顿迭代法的适用条件

1、误差分析

二、中值定理(Mean value theorm MVT)

1、罗尔中值定理

(1)  在闭区间 [a,b] 上连续

(2)  在开区间 (a,b) 内可导

(3)  f(a)=f(b),则至少存在一个 c∈(a,b),使得 f'(c)=0。

2、拉格朗日中值定理(MVT mean value theorem)

(1) 证明

(2)  几何证明

(3) MVT推论

(4)  重写公式来证明

3、中值定理和线性近似的比较

三、不等式

1、 ​(x>0)

2、 ​

3、这个式子可以一直写如 ​


一、牛顿迭代法的适用条件

** **

1、误差分析

...

老师总结是,每迭代一次,解的精度就高一倍

牛顿迭代法要工作的好,需要 不能太小,不能太大(曲线的弯曲程度不能太大,值是0是最适用的情况),x0的取值要在x取值的附近。(这时,老师举了个例子,比如 x^2=5 ,当你想取正数解,但是x0从负数开始给,怎可能得到你不想要的那个解, 还有如果选了一个差非常非常远的x0,迭代本身也会遇到问题,所以尽量给算式一个合理的x0的值)

f'(x) 为啥不能太小?

x = symbols('x')
expr =  x**2 -5
def Newton(expr, x0):ret = x0 - expr.subs(x, x0)/ expr.diff().subs(x,x0)return ret
x1 = Newton(expr, .001)
x2 = Newton(expr, x1)
x3 = Newton(expr, x2)
print('x1 = '+format(float(x1)))
print('x2 = ' +format( float(x2)))
print('x3 = ' +format(float(x3)))

可以看到如果 f'(x) = 0 这时迭代式子中分母为0不适用,从几何上看则是函数的切线是横线,永远不会和x轴有交点,即y=0。而如果f'(x)很小,则得到的x1也会离真实值很远,比如上面程序计算的结果,三次迭代还是离真实值很远。

用牛顿迭代解周期性的函数也会出问题, 注意给的值不能超过周期

from sympy import *
import numpy as np import matplotlib.pyplot as plt fig = plt.figure()
ax = fig.add_subplot(1, 1, 1)
ax.spines['left'].set_position('zero')
ax.spines['bottom'].set_position('zero')
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
ax.xaxis.set_ticks_position('bottom')
ax.yaxis.set_ticks_position('left')
ax.set_aspect(1 ) def DrawXY(xFrom,xTo,steps,expr,color,label,plt):yarr = []xarr = np.linspace(xFrom ,xTo, steps) for xval in xarr:yval = expr.subs(x,xval)yarr.append(yval)y_nparr = np.array(yarr) plt.plot(xarr, y_nparr, c=color, label=label)    def TangentLine(exprY,x0Val,xVal):diffExpr = diff(exprY)x1,y1,xo,yo = symbols('x1 y1 xo yo')expr = (y1-yo)/(x1-xo) - diffExpr.subs(x,x0Val)eq = expr.subs(xo,x0Val).subs(x1,xVal).subs(yo,exprY.subs(x,x0Val))eq1 = Eq(eq,0)solveY = solve(eq1)return xVal,solveYdef DrawTangentLine(exprY, x0Val,xVal1, xVal2, clr, txt):x1,y1 = TangentLine(exprY, x0Val, xVal1)x2,y2 = TangentLine(exprY, x0Val, xVal2)plt.plot([x1,x2],[y1,y2], color = clr, label=txt)def Newton(expr, x0):ret = x0 - expr.subs(x, x0)/ expr.diff().subs(x,x0)return retx = symbols('x')
expr = (sin(x))**2 -1DrawXY(-4,4,100,y,'blue','y = (sin(x))**2 - 1',plt)x1 = Newton(expr, 4)
x2 = Newton(expr, x1)
x3 = Newton(expr, x2)
x4 = Newton(expr, x3)
eqy = Eq(expr, 0)
xval = solve(eqy)
print('x1 = '+format(float(x1)))
print('x2 = ' +format( float(x2)))
print('x3 = ' +format(float(x3)))
print('x4 = ' +format(float(x4)))
print('xval[0] = ' +format(float(xval[0])))
print('xval[1] = ' +format(float(xval[1])))
plt.legend(loc='lower right')
plt.show()

另外老师给了一个例子

这个例子会在使用牛顿迭代的情况下,出现循环,注意检验迭代值以避免。

二、中值定理(Mean value theorm MVT)

1、罗尔中值定理

如果 R 上的函数 f(x) 满足以下条件:

(1)  在闭区间 [a,b] 上连续

(2)  在开区间 (a,b) 内可导

(3)  f(a)=f(b),则至少存在一个 c∈(a,b),使得 f'(c)=0。

证明:因为函数 f(x) 在闭区间[a,b] 上连续,所以存在最大值与最小值,分别用 M 和 m 表示,分两种情况讨论:

a. 若 M=m,则函数 f(x) 在闭区间 [a,b] 上必为常数,结论显然成立。

b. 若 M>m,则因为 f(a)=f(b) 使得最大值 M 与最小值 m 至少有一个在 (a,b) 内某点c处取得,从而c是f(x)的极值点,又条件 f(x) 在开区间 (a,b) 内可导得,f(x) 在 c 处取得极值,由费马引理(费马引理_百度百科),可导的极值点一定是驻点,推知:f'(c)=0。

2、拉格朗日中值定理(MVT mean value theorem)

如果你从波士顿到洛杉矶(3000mi), 用时6小时, 那么某一时刻你能达到整体的平均速度,求这个平均速度。

3000/6 = 500mi/h

如果 f 在区间(a<x<b)内可微, 同时函数在区间( )连续, 那么在开区间(a,b)内至少有一点c(a<c<b)使等式成立

(1) 证明

已知f(x) 在(a,b)上连续, 在开区间(a,b)内可导,

构造辅助函数

g(a) = g(b)

由于f(x) 在(a,b)上连续, 在开区间(a,b)内可导,g(x)则有同样性质

根据罗尔定理可得必有一点 c∈(a,b),使得 g'(c)=0。

由此可得

(2)  几何证明

x = symbols('x')
expr = 5*sin(x)DrawXY(-4,4,100,expr,'blue','y = 5*sin(x)',plt)
def CalXByDiff(xFrom,xTo,steps,expr,diffValue):yarr = []xarr = np.linspace(xFrom ,xTo, steps) for xval in xarr:yval = expr.diff().subs(x,xval)if abs(yval - diffValue)<0.01:return xvalreturn -1000xpos = CalXByDiff (-4,4,1000, expr, (expr.subs(x, 2.1) - expr.subs(x, -2.2))/(2.1+2.2))
if(xpos!=-1000):DrawTangentLine(expr, xpos, -4,4,'r','f(x) = (f(b)-f(a))/(b-a)')y = expr.subs(x, 2.1)+((expr.subs(x, 2.1) - expr.subs(x, -2.2))/(2.1+2.2))*(x-2.1)
DrawXY(-4,4,100,y,'green','y = f(a)+(f(b)-f(a)/(b-a))(x-a)',plt)plt.plot([-2.2,-2.2],[-8,6], color = 'gray', label='a = -2.2')
plt.plot([2.1,2.1],[-8,6], color = 'gray', label='b = 2.1')plt.legend(loc='lower right')
plt.show()

由图可知,函数 {蓝色}的割线函数为{绿色},

函数在(a,b)至少有一条切线(如红色线)和这条割线平行即斜率相等

(3) MVT推论

(1) f' > 0, f 正在增长

(2) f'< 0, f 正在减小

(3) f' = 0, f是常数

(4)  重写公式来证明

检验三个推论,a < b, b- a > 0

f 正在增长

f 正在减小

f是常数

3、中值定理和线性近似的比较

线性近似: b 在 a的附近 ()

用速度打比方,平均速度可以近似于最初或最后的速度

中值定理:  a<c<b

两端

用速度打比方,平均速度在最大和最小速度之间

三、不等式

1、 (x>0)

证:

同时: , x>0

因此: 当x>0 , f(x) > f(0)

当x>0

2、

根据 1 式,g'(x) >0

g 正在增长, g(x) > g(0) , 因此

3、这个式子可以一直写如

第二单元 用python学习微积分(十三)牛顿迭代法、中值定理和重要不等式相关推荐

  1. 第二单元 用python学习微积分(十)曲线构图下和最值问题

    本文内容来自于学习麻省理工学院公开课:单变量微积分-最值问题-网易公开课 开发环境准备:CSDN 目录 一.曲线构图例子 二.曲线构图总结: 1.描点 a 找到函数的不连续点(尤其是函数值趋向于无穷的 ...

  2. 第四单元 用python学习微积分(二十七)积分-部分分式-分部积分

    本文内容来自于学习麻省理工学院公开课:单变量微积分-分部积分-网易公开课 开发环境准备:CSDN 目录 一.多项式部分分式方法求积分 1.效果 2.步骤 (1)  长除法 (2)  分解因式 (fac ...

  3. 第三单元 用python学习微积分(二十二)功、平均值、概率(下)和 数值积分(1)

    本文内容来自于学习麻省理工学院公开课:单变量微积分-数值积分-网易公开课 用python解方程组_星-耀的博客-CSDN博客_python解方程组 做功_百度百科 开发环境准备:CSDN 目录 一.概 ...

  4. 第一单元 用python学习微积分(七)第一单元总结

    本文内容来自学习麻省理工学院公开课:单变量微积分-第一次考试复习-网易公开课 开发环境准备:CSDN 目录 一.对 ​ 的证明 1.e底法 2.对数微分法 二.自然对数是自然的 三.第一单元复习 1. ...

  5. 第一单元 用python学习微积分(三) 求导四则运算及三角函数(下)- 三角函数

    本文内容来自学习麻省理工学院公开课:单变量微积分-求导四则运算及三角函数导数-网易公开课 开发环境准备:CSDN 目录 三.三角函数基础公式的几何意义 1.(sinx)' = cosx 四.通用公式 ...

  6. 第一单元 用python学习微积分(三) 求导四则运算及三角函数(上)- 三角函数

    本文内容来自学习麻省理工学院公开课:单变量微积分-求导四则运算及三角函数导数-网易公开课 开发环境准备:CSDN 目录 一.需要用到的公式: 二.求导特殊三角函数 1.​ 2. ​ 三.三角函数基础公 ...

  7. 第一单元 用python学习微积分(五) 隐函数微分法和逆函数导数(下)- 反函数

    本文内容来自学习麻省理工学院公开课:单变量微积分-隐函数微分法和逆函数导数-网易公开课 和麻省理工学院公开课:单变量微积分习题课-除法法则-网易公开课 开发环境准备:CSDN 目录 一.反函数 1.定 ...

  8. 第一单元 用python学习微积分(五) 隐函数微分法和逆函数导数(上)- 隐函数微分

    本文内容来自学习麻省理工学院公开课:单变量微积分-隐函数微分法和逆函数导数-网易公开课 开发环境准备:CSDN 目录 一. ​ 公式推导 二. 例子求导 ​ 三.公式推导 一. 公式推导 由链式法则: ...

  9. 第一单元 用python学习微积分(六) 指数和对数(下)- 对数

    本文内容来自学习麻省理工学院公开课:单变量微积分-指数与对数函数导数.对数微分法-网易公开课 开发环境准备:CSDN 目录 一.对数 1.对数的定义 2.恒定公式 3.图像 4.对a的x次幂求导 5. ...

最新文章

  1. 开发日记-20190827 关键词 读书笔记《Unix环境高级编程(第二版)》DAY 3
  2. 传递参数的2种情况的理解。
  3. CS144 lab0 笔记
  4. 信息学奥赛一本通 2016:【例4.1】for循环求和
  5. 将汉字转成拼音字头的方法
  6. Spring @Bean @Scope @Qualifier
  7. flutter - fluro
  8. 用python写用手机发邮件_如何用python写发邮件?
  9. 使用rvm来管理ruby版本
  10. 关于在arm裸板编程时使用printf问题的解决方法
  11. EXE文件结构及读取方法
  12. 【超详细】R语言实现各种数据可视化
  13. linux打印机服务器设置,linux中设置CUPS打印机
  14. 千博日志索引,收录了带头大哥、laok、王国强、严为民等人的博客
  15. 记录下docker命令
  16. 公民住宅权不可侵犯!为阻强拆致人重伤,属正当防卫
  17. 【vivado使用】第3篇:BD文件(ip integrator)使用技巧
  18. 【死磕 Spring】----- IOC 之深入理解 Spring IoC
  19. CSS 网页定位与布局
  20. 计算性和复杂度理论2

热门文章

  1. WdatePicker常用配置属性
  2. IDEA重置配置设定
  3. 计算机概论易错题总结:概念类
  4. 30最棒的响应式css前端框架
  5. SVAC1.0帧内预测技术分析
  6. 广州集体户口办理未婚证流程
  7. 逗比老师带你搞定C语言指针
  8. No JSON object could be decoded
  9. 微信小程序添加插屏广告并设置显示频率(一天一次)
  10. 通过Python来调用Chrom浏览器,进入设定网页