第二单元 用python学习微积分(十一)最值问题下和相关变率
作者:互联网
本文内容来自于学习麻省理工学院公开课:单变量微积分-相关变率-网易公开课
一、最值问题举例
1、将一根长度为1的线,切成2段, 每一段圈成一个正方形,求所能得到的最大面积
,
计算两端:
, 驻点 所以满足条件时应该x越大函数取值越大, 当x->1时, 函数最大
, 驻点 所以满足条件时应该x越小函数取值越大, 当x->0时, 函数最大
考虑两边高中间低这种驻点,所以驻点处得到最小面积值 1/32
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(10 )
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,solveY
def DrawTangentLine(exprY, x0Val,xVal1, xVal2, clr, txt):
x1,y1 = TangentLine(exprY, x0Val, xVal1)
x2,y2 = TangentLine(exprY, x0Val, xVal2)
if len(txt)>0:
plt.plot([x1,x2],[y1,y2], color = clr, label=txt)
else:
plt.plot([x1,x2],[y1,y2], color = clr)
x= symbols('x')
y = x*x/16 + (1-x)*(1-x)/16
DrawXY(0,1,100,y,'green','x*x/16 + (1-x)*(1-x)/16',plt)
plt.plot([0,1],[1/16,1/16], color = 'gray', label= 'y=1/16')
plt.legend(loc='lower right')
plt.show()
2、找到固定容积的无顶盖的盒子,使其表面积的最小值, (提示:底部是正方形--- 由于有正方形周长最短)
此处y可以称约束,
(没有顶)
A' = 0
(驻点)
端点
因为驻点为 ,所以图应该是
考虑二阶导数
(由x>0, 式子恒正,因此图形应该是上凹, 而驻点应该是最小点)
最优解为: (我算的答案和视频中不同....)
无量纲的解,这些比值才有意义,单位需要统一:
(我算的答案和视频中不同....)
, 所以做盒子的最优解是,底边和高的比为2
3、隐函数求导法
, V是固定值
(没有顶), 要求最小值
因为y是x的函数,
很快得到了解,但是无法检查这个解是最大值、最小值还是驻点 ...
就本题来说,只能用方法一来计算边界,但是老师说现实生活中,很多公式会很容易看到边界等等,因此很容易分辨这个解是否是所需要的.........
二、相关变率
1、有个警察,离道路30英尺。您开车过来。警察有个雷达,正在测速。雷达显示距离您50英尺,并且您的车沿雷达方向以每秒80英尺的速度逼近。超速每秒95英尺, 每小时65英里, 问题是您超速了没?
注意:这里汽车前行到图上直线垂足处是变化的,所以距离为x, 同时汽车和警察的距离也是变化的设为D,时间变化设为t, 这里主要就是求 。
标签:plt,python,微积分,color,set,ax,x1,驻点,最值 来源: https://blog.csdn.net/bullseye/article/details/122397190