APP下载

基于Python软件求多元隐函数的偏导数

2021-10-23赵禹琦

新型工业化 2021年8期
关键词:字符串方程组导数

赵禹琦

(湛江科技学院 智能制造学院,广东 湛江 524094)

0 引言

在多元函数微分学的研究中,通过分析多元函数的偏导数能够详细分析函数的性质规律。而在多元函数中有一类不能够用显式关系表达的函数称为隐函数,在解决实际问题构建模型的目标函数中这类隐函数占有重要部分。因此研究隐函数性质是分析多元函数微分学以及解决实际函数问题的重要部分。对多元隐函数求偏导数是研究该函数的基础,在多元隐函数领域,应用相应的函数存在定理所给出的公式可以求出其偏导数,但是在复杂多样的实际问题中,对偏导数的求解往往是中间过渡环节,这就需要高效快速的来求多元隐函数的偏导数。在大数据时代通过计算机软件解决实际问题最是实用的方法,在众多软件中Python具有程序语言简洁,灵活性强,库的种类多等特点被广泛应用在数学问题求解中。依据隐函数存在定理,应用Python软件设计相应的程序,能够对多元隐函数的偏导数进行求解,以便深入分析函数相关性质。

1 Python软件介绍

Python软件所使用的编程语言简单易懂,从开发初代到现在发展迅速,广泛的被应用在工业和教育科学等领域,Python软件所使用的编程语言属于解释型,在Python软件中命令是在“解释器”中执行的。其运行过程是Python解释器在接收一条命令后,对命令进行评估,依据评估返回这条命令的结果,Python解释器在调试过程中具有良好的交互性[1]。Python软件的语法简明,其编程语言具有面向对象的特征,具有模块化的组织原则。在Python软件中,模块指的是在源代码中所定义的密切相关的函数和类的集合。例如Python中标准库的math模块,这个模块定义了函数和一些数学常量。Python软件用抽象基类的机制来支持抽象数据类型[2]。在Python软件中有许多内置函数,其中最基本的是输入输出功能函数,如果需要生成标准输出到控制台则需要用到print函数,它能够打印任意序列的参数,如果需要打印多个参数,它们之间要以空格来分隔,并在末尾加一个换行符。例如:print(‘mk’,8)输出的结果是字符串mk 8,这两个字符串中间有空格分隔。需要注意的是print函数可以打印的参数不仅是字符串,如果没有任何参数,命令print()输出的就是个简单的换行符。对于print函数可以使用关键字参数定义,例如可以通过关键字参数sep来定义分隔符对字符串进行分隔,关键字参数end可以用来指定一个可选择的字符串作为结尾,关键字参数file既可以用来指示一个文件输出流,又可以找到一个文件直接输出。常用的内置函数还有input函数,它是用来接收来自用户输入的信息。在给出一个可选择参数后,input函数会显示提示信息,之后等待用户输入字符,直到用户按下返回键。input函数具有的返回值是用户在按返回键之前的那些由用户输入的字符串。在读取用户输入的数值时,程序员会使用input函数来获得字符串,在应用int或者float语法构建用户的这些以字符串表示的数值[3]。

除了一些内置的定义之外,Python软件还包括了多种数值,函数和被组织在附加库中的类,类也称为模块,可以在一个程序内导入,例如在math模块中,虽然它的内置命名空间包含一些数学计算函数(abs,max,min等),但常用的是归为math模块(sin,cos等),在这个模块中定义了一些数学常数例如pi和e。

在Python软件中,将定义从模块中载入当前命名空间需要应用import来声明。import语句的语法形式可以表示为:from math import pi。通过这个命令可以在当前的命名空间载入math模块所定义的pi,允许直接使用pi这个标识符。若有很多的定义来自导入的同一个模块,可以使用*。即from math import*。还有一种方式是导入模块本身,它可以用于在相同模块中访问多个定义,语法形式为:import math,引入之后,模块中的定义在访问时需要用一个完全限定的名称,例如math.pi。Python中还有种类丰富的科学计算库[4],例如sympy库,这个库中的diff函数可以用来对目标函数求导,方便快捷的解决实际问题需要。对于处理复杂的多元函数,尤其求由方程组确定的多元隐函数的偏导数,利用Python软件的特点,合理设计代码,能够准确快捷地得到所需要的偏导数,从而为解决实际问题提供纽带。

2 多元隐函数求偏导数问题

在单个的隐函数求偏导数的基础上,一些实际问题中还会涉及到对由多元方程组确定的隐函数求偏导数,例如下面方程组:

确定的隐函数求偏导数,这类方程组确定的是两个二元隐函数,又称为向量值隐函数,对其求偏导数可以用到相应的隐函数存在定理[6]:设函数在点的某个领域内的偏导数连续,同时满足,由相应的偏导数组成的雅克比行列式:

利用相应的隐函数存在定理可以对多元隐函数求偏导数,而复杂的实际问题通常涉及到多个目标函数,合理利用Python软件设计代码,能够实现对多元隐函数方程组确定的隐函数求偏导数,从而提升计算效率。

3 用Python求解二元隐函数方程组的偏导数

在研究具体的实际问题中,往往会将问题抽象成目标函数,通过对目标函数的性质分析来获得解决问题所需要的关键条件。大部分实际问题都涉及到多个复杂因素,即所得的目标函数是多元的隐函数,通过求多元隐函数的偏导数来分析函数性质有助于问题的解决。复杂条件的实际问题常涉及到方程组,基于Python软件的科学计算库和简明的语法规则,以二元隐函数方程组为例,用Python软件来实现偏导数的求解更加便捷快速。

求解二元隐函数方程组确定的二元函数的偏导数,利用向量值隐函数存在定理和Python软件的优势特点可以实现,具体举例如下:

解:设

先由方程组求出相应的偏导数:

依据向量值隐函数存在定理,雅克比行列式:

由定理得出各偏导数为:

在Python软件中求二元方程组确定的隐函数的偏导数程序设计:

Python 3.7.0 (default, Jun 28 2018, 08:04:48) [MSC v.1912 64 bit (AMD64)] on win32

Type “copyright”, “credits” or “license()” for more information.

>>> from sympy import*

>>> x,y=symbols(‘x,y’);u,v=symbols(‘u,v’)

>>> a1=diff(x*u-y*v,x);a2=diff(x*u-y*v,y)

>>> a3=diff(x*u-y*v,u);a4=diff(x*u-y*v,v)

>>> b1=diff(y*u+x*v-1,x);b2=diff(y*u+x*v-1,y)

>>> b3=diff(y*u+x*v-1,u);b4=diff(y*u+x*v-1,v)

>>> j=a3*b4-a4*b3

>>> m1=a1*b4-a4*b1

>>> n1=-(m1/j)

>>> print(‘u对x的偏导数为:’,n1)

u对x的偏导数为: -(u*x + v*y)/(x**2 + y**2)

>>> m2=a2*b4-a4*b2

>>> n2=-(m2/j)

>>> print(‘u对y的偏导数为:’,n2)

u对y的偏导数为: -(u*y - v*x)/(x**2 + y**2)

>>> m3=a3*b1-a1*b3

>>> n3=-(m3/j)

>>> print(‘v对x的偏导数为:’,n3)

v对x的偏导数为: -(-u*y + v*x)/(x**2 + y**2)

>>> m4=a3*b2-a2*b3

>>> n4=-(m4/j)

>>> print(‘v对y的偏导数为:’,n4)

v对y的偏导数为: -(u*x + v*y)/(x**2 + y**2)

经过验证程序所得结果与实际应用向量值隐函数存在定理公式计算得到的结果一致,因此程序可以有效运行。可见通过Python软件进行多元隐函数偏导数的求解可以快速准确地得到结果,为解决具体问题提供有利帮助。

4 结语

分析多元隐函数的性质有助于有效分析复杂多因素实际问题所确定的目标函数。在涉及到多个目标函数时常用到方程组,这就需要快速求解多元隐函数方程组的偏导数,以便对实际问题进行深入分析,基于Python软件操作简洁,代码具有简明语法规则,在科学运算过程中效率高等特点,选用Python软件设计代码实现多元隐函数方程组确定的隐函数求偏导数可以节省人工计算时间,提高计算准确度,有助于对实际问题的目标函数进行准确分析,从而提高问题解决的效率。

猜你喜欢

字符串方程组导数
深入学习“二元一次方程组”
解导数题的几种构造妙招
基于文本挖掘的语词典研究
《二元一次方程组》巩固练习
一类次临界Bose-Einstein凝聚型方程组的渐近收敛行为和相位分离
关于导数解法
导数在圆锥曲线中的应用
非自治耗散Schrödinger-Boussinesq方程组紧致核截面的存在性
函数与导数
一种新的基于对称性的字符串相似性处理算法