单目标优化算法测试函数python绘制及相关代码

本文通过绘制一系列经典数学函数,如Ackely's function、Sphere function等,展示了使用Python进行三维图形绘制的能力。每种函数的代码实现与图像展示,为读者提供了丰富的实践案例。

在博客上看到了一些函数,为了练习python画图能力,所以就都绘制了部分函数

函数

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

代码和图像

画图部分

def draw_pic_3D(x, y, z, title, z_min, z_max, offset):
    fig = plt.figure()
    ax = Axes3D(fig)
    ax.plot_surface(x, y, z, rstride=1, cstride=1, cmap = plt.get_cmap('rainbow'),color='orangered')
    # 绘制等高线
    ax.contour(x,y,z,offset=offset,colors='green')
    ax.set_zlim(z_min, z_max)
    ax.set_title(title)
    plt.savefig("image")
    plt.show()

获取x和y的值

def get_x_and_y(x_min, x_max, y_min, y_max):
    x = np.arange(x_min, x_max, 0.1)
    y = np.arange(y_min, y_max, 0.1)
    x, y = np.meshgrid(x, y)  # 生成网格点坐标矩阵
    return x, y

Ackely’s function

def Ackelys_function(z_min = 0,z_max = 15, offset = 0):
    x, y = get_x_and_y(-5,5,-5,5)
    z = -20 * np.exp(-0.2 * np.sqrt(0.5 * (x ** 2 + y ** 2))) - np.exp(0.5 * (np.cos(2 * np.pi * x) + np.cos(2 * np.pi * y))) + 20 + np.e
    return x, y, z, 'Ackely function', z_min, z_max, offset

在这里插入图片描述

Sphere function

def Sphere(z_min = 0,z_max = 20,offset = 0):
    x,y = get_x_and_y( -3,3,-3,3)
    z = x ** 2 + y ** 2
    return x,y,z, "Sphere function", z_min, z_max, offset

评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值