网站建设资讯

NEWS

网站建设资讯

python导函数求解 python隐函数求导

Python如何通过函数导数值求出原函数如f(1)一阶导为2,f(2)一阶导为4,求原函数表达式

你需要知道在任意点多的一阶导数

创新互联主要从事网站设计制作、成都做网站、网页设计、企业做网站、公司建网站等业务。立足成都服务沙县,10年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18980820575

也就是已知f'(n)=g(n)

那么f(n)=∫g(n)dn

计算这个积分就可以了

常微分方程的解析解(方法归纳)以及基于Python的微分方程数值解算例实现

本文归纳常见常微分方程的解析解解法以及基于Python的微分方程数值解算例实现。

考虑常微分方程的解析解法,我们一般可以将其归纳为如下几类:

这类微分方程可以变形成如下形式:

两边同时积分即可解出函数,难点主要在于不定积分,是最简单的微分方程。

某些方程看似不可分离变量,但是经过换元之后,其实还是可分离变量的,不要被这种方程迷惑。

形如

的方程叫做一阶线性微分方程,若 为0,则方程齐次,否则称为非齐次。

解法: (直接套公式)

伯努利方程

形如

的方程称为伯努利方程,这种方程可以通过以下步骤化为一阶线性微分方程:

令 , 方程两边同时乘以 ,得到

即 .

这就将伯努利方程归结为可以套公式的一阶线性微分方程。

形如

的方程称为二阶常系数微分方程,若 ,则方程称为齐次的,反之称为非齐次的。以下默认方程是非齐次的。

求解此类方程分两步:

原方程的解 = 齐次通解 + 非齐次特解

首先假设 .用特征方程法,写出对应的特征方程并且求解:

解的情况分为以下三种:

情况一:方程有两个不同的实数解

假设两个实数解分别是 , 此时方程的通解是

情况二:方程有一个二重解

假设该解等于 ,此时方程的通解是

情况三:方程有一对共轭复解

假设这对解是 , 此时方程的通解是

对于 和特征根的情况,对特解的情况做如下归纳:

形如

的方程叫做高阶常系数微分方程,若 ,则方程是齐次的,否则是非齐次的。下面默认方程是非齐次的。

求解此类方程分两步:

原方程的解 = 齐次通解 + 非齐次特解

考虑带有第三类边界条件的二阶常系数微分方程边值问题

问题一:两点边值问题的解析解

由于此方程是非齐次的,故 求解此类方程分两步:

原方程的解 = 齐次通解 + 非齐次特解

首先假设 . 用特征方程法,写出对应的特征方程

求解得到两个不同的实数特征根: .

此时方程的齐次通解是

由于 . 所以非齐次特解形式为

将上式代入控制方程有

求解得: , 即非齐次特解为 .

原方程的解 = 齐次通解 + 非齐次特解

于是,原方程的全解为

因为该问题给出的是第三类边界条件,故需要求解的导函数

且有

将以上各式代入边界条件

解此方程组可得: .

综上所述,原两点边值问题的解为

对一般的二阶微分方程边值问题

假定其解存在唯一,

为求解的近似值, 类似于前面的做法,

考虑带有第三类边界条件的二阶常系数微分方程边值问题

问题二:有限差分方法算出其数值解及误差

对于 原问题 ,取步长 h=0.2 ,用 有限差分 求其 近似解 ,并将结果与 精确解y(x)=-x-1 进行比较.

因为

先以将区间划分为5份为例,求出数值解

结果:

是不是解出数值解就完事了呢?当然不是。我们可以将问题的差分格式解与问题的真解进行比较,以得到解的可靠性。通过数学计算我们得到问题的真解为 ,现用范数来衡量误差的大小:

结果:

接下来绘图比较 时数值解与真解的差距:

结果:

将区间划分为 份, 即 时.

结果:

绘图比较 时数值解与真解的差距:

最后,我们还可以从数学的角度分析所采用的差分格式的一些性质。因为差分格式的误差为 , 所以理论上来说网格每加密一倍,与真解的误差大致会缩小到原来的 . 下讨论网格加密时的变化:

结果:

如何用python求导数

打开python运行环境。

导入微分的模块包:from sympy import *。

定义符号变量:x = symbols('x')

定义一个函数:f = x**9

diff = diff(f,x)求导

最后输入diff,即可显示其变量值了。

众多python培训视频,尽在python学习网,欢迎在线学习!

用PYTHON求导怎么求

#coding:utf-8

#一阶导

def fun1(X, WINDOW = 5):

result = []

for k in range(WINDOW, len(X)-WINDOW):

mid = (X[k+WINDOW]-X[k-WINDOW])/(2*WINDOW)

result.append(mid)

return result

#二阶导

def fun2(X, WINDOW = 5):

result = []

for k in range(WINDOW, len(X)-WINDOW):

mid = (X[k+WINDOW]-2*X[k]+X[k-WINDOW])/(WINDOW*WINDOW)

result.append(mid)

return result

X = [1,2,3,4,5,6,7,8,9,10]

result1 = fun1(X, 3)

result2 = fun2(X, 2)

如上自己写,或者用numpy自带的多项式的n阶导函数。

得到多项式的n阶导函数:多项式.deriv(m = n)

from numpy import *

X = [1,2,3,4,5,6,7,8,9,10]

result = X.deriv(m = n) #n是导数阶数

Python 怎么用代码实现解"复杂的复合函数的值域"类型的数学题?

解决"复杂的复合函数的值域"类型的数学题可以使用 Python 中的函数和第三方库来实现。

首先,需要确定所求函数的表达式,如 f(x) = (g(x) + h(x)) * cos(x)。

然后,使用 Python 中的 math 库中的函数来实现各个子函数,如 math.cos() 来实现 cos(x)。

接着,可以使用第三方库如 SymPy 来解函数的导函数,求函数的极值点等进阶运算。

最后,通过 Python 中的绘图库如 Matplotlib 来绘制函数图像,帮助理解函数的性质。

举个例子:

from sympy import *

x = symbols('x')

f = (sin(x) + cos(x)) * exp(x)

diff(f,x)

# 输出:exp(x)*(sin(x) + cos(x)) + (cos(x) - sin(x))*exp(x)

这是用sympy库第一步求导函数。

import matplotlib.pyplot as plt

import numpy as np

x = np.linspace(-2*np.pi, 2*np.pi, 100)

y = (np.sin(x) + np.cos(x)) * np.exp(x)

plt.plot(x, y)

plt.show()

这是绘制函数图像。

通过类似的方式,可以解决更多类似的问题。


当前标题:python导函数求解 python隐函数求导
标题网址:http://cdweb.net/article/doogisi.html