【数学知识】函数与复合函数编程实现

  • 1、函数定义
  • 多项式
  • 指数函数与对数函数
  • 正弦函数
  • 2、复合函数

本博客适合高中学生入门编程知识学习,从高中的数学概念转换到其python实现,提高自身对编程的学习兴趣。

import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
# 在jupyter notebook显示图片

1、函数定义

我们可以将函数(functions)想象成一台机器f ,每当我们向机器提供输入x,这台机器便会产生输出y。

这台机器所能接受的所有输入x的集合称为定义域(domain),其所有可能输出y的集合称为值域(range)。函数的定义域和值域有着非常重要的意义,如果我们知道一个函数的定义域,便不会将不合适的输入丢给函数;知道函数的值域,便能判断一个值是否可能是这个函数所输出的。

多项式

# 多项式
# 初中:一元一次函数 y = k*x+b
def f1(x):
    y = 2*x+3  # k=2, b=3
    return y
x = 100
print(f1(100))
203

三次多项式:

python求复合函数 python定义复合函数_python求复合函数

# 三次多项式
def f3(x):
    return x**3 - 5*x**2 + 9  # *:乘号 **:求次方
# 画图
x = np.linspace(-100, 100, num = 1000)
y = f3(x)
plt.plot(x,y)

结果如下:

python求复合函数 python定义复合函数_python求复合函数_02

# 5次多项式
def f5(x):
    return 5*x**5+4*x**3+x**3 - 5*x**2 + 9  # *:乘号 **:求次方
y = f5(x)
plt.plot(x,y)

python求复合函数 python定义复合函数_多项式_03

指数函数与对数函数

两个常用的常数:

欧拉常数e
python求复合函数 python定义复合函数_python_04
圆周率pi
python求复合函数 python定义复合函数_python求复合函数_05

# 欧拉常数e
print(np.e)  # e=2.71828
# pi
print(np.pi)  # pi=3.1415926
# 指数函数
def exp(x):
    y = np.e**x  # np.e 就是欧拉常数
    return y  # y>0
y = exp(x)
plt.plot(x,y)

结果如下:

python求复合函数 python定义复合函数_数学基础_06

print(exp(0))
1.0
print(exp(-10000))
0.0

python求复合函数 python定义复合函数_复合函数_07的本质:
python求复合函数 python定义复合函数_复合函数_08

对数函数是指数函数的反函数
如果 python求复合函数 python定义复合函数_多项式_09
那么 python求复合函数 python定义复合函数_python_10, y>0

x = np.linspace(0.0001,100,1000,endpoint = False)
y1 = np.log2(x)  # 以2为底
y2 = np.log(x)   # 以e为底
y3 = np.log10(x)  # 以10为底
plt.plot(x,y1,'red',x,y2,'yellow',x,y3,'blue')

python求复合函数 python定义复合函数_数学基础_11

正弦函数

正弦函数:
python求复合函数 python定义复合函数_python求复合函数_12
以及它的变形
python求复合函数 python定义复合函数_多项式_13

x = np.linspace(-10, 10, num = 1000)
y = np.sin(x)
plt.plot(x,y)

结果如下:

python求复合函数 python定义复合函数_python_14

余弦函数:
python求复合函数 python定义复合函数_复合函数_15
以及它的变形
python求复合函数 python定义复合函数_python求复合函数_16

y1 = np.sin(x)   # sin(x)
y2 = np.cos(x)  # cos(x)
plt.plot(x,y1,'red',x,y2,'blue')

下图中红色为sin(x),蓝色为cos(x):

python求复合函数 python定义复合函数_数学基础_17

2、复合函数

函数python求复合函数 python定义复合函数_python_18python求复合函数 python定义复合函数_多项式_19的复合python求复合函数 python定义复合函数_python_20:,可以理解为首先将输入python求复合函数 python定义复合函数_复合函数_21给函数python求复合函数 python定义复合函数_多项式_19获得输出y1后将其进而输入给函数python求复合函数 python定义复合函数_python_18,最终获得结果python求复合函数 python定义复合函数_python求复合函数_24。例如:

python求复合函数 python定义复合函数_python_25

python求复合函数 python定义复合函数_多项式_26

python求复合函数 python定义复合函数_python求复合函数_27
这个复合函数实际上是python求复合函数 python定义复合函数_多项式_28
链式法则是微积分中的求导法则,用于求一个复合函数的导数
采用复合函数表示十分复杂的函数,有利于我们进行求导运算!
同时,在编程过程中,采用复合函数,将一个复杂的问题分解为若干个阶段的函数,有利于编程调试,容易发现逻辑错误!

def f(x):
    y = 1/x
    return y
def g(x):
    y = np.exp(-x)+1
    return y
# 这是一个复合函数
def sigmoid(x):
    return f(g(x))
x = 1
print(sigmoid(x))
0.7310585786300049
x = np.linspace(-10, 10, num = 10000)
y = sigmoid(x)
plt.plot(x,y)

python求复合函数 python定义复合函数_复合函数_29

另一个常用的复合函数python求复合函数 python定义复合函数_数学基础_30

python求复合函数 python定义复合函数_python_31

python求复合函数 python定义复合函数_多项式_32

python求复合函数 python定义复合函数_多项式_33

def f(x):
    y = np.log(x)
    return y
def g(x):
    y = np.exp(x)+1
    return y
# 这是一个复合函数
def softplus(x):
    return f(g(x))
x = 1
print(softplus(x))
1.3132616875182228
x = np.linspace(-10, 10, num = 10000)
y = softplus(x)
plt.plot(x,y)

python求复合函数 python定义复合函数_python求复合函数_34


作者:陈艺荣