import numpy as np
import matplotlib.pylab as plt
from mpl_toolkits.mplot3d import Axes3D#数值微分求解梯度
def _numerical_gradient_no_batch(f, x):h = 1e-4 # 0.0001grad = np.zeros_like(x)for idx in range(x.size):tmp_val = x[idx]x[idx] = float(tmp_val) + hfxh1 = f(x) # f(x+h)x[idx] = tmp_val - h fxh2 = f(x) # f(x-h)grad[idx] = (fxh1 - fxh2) / (2*h)x[idx] = tmp_val #恢复原值return graddef numerical_gradient(f, X):if X.ndim == 1:return _numerical_gradient_no_batch(f, X)else:grad = np.zeros_like(X)for idx, x in enumerate(X):#迭代过程中跟踪索引grad[idx] = _numerical_gradient_no_batch(f, x)return graddef function_2(x):if x.ndim == 1:return np.sum(x**2)else:return np.sum(x**2, axis=1)def tangent_line(f, x):d = numerical_gradient(f, x)print(d)y = f(x) - d*xreturn lambda t: d*t + yif __name__ == '__main__':x0 = np.arange(-2, 2.5, 0.25)x1 = np.arange(-2, 2.5, 0.25)X, Y = np.meshgrid(x0, x1)X = X.flatten()Y = Y.flatten()grad = numerical_gradient(function_2, np.array([X, Y]) )plt.figure()plt.quiver(X, Y, -grad[0], -grad[1],  angles="xy",color="#666666")#,headwidth=10,scale=40,color="#444444")plt.xlim([-2, 2])plt.ylim([-2, 2])plt.xlabel('x0')plt.ylabel('x1')plt.grid()plt.legend() #给图像加上图例plt.draw() #处理交互plt.show()

Python求解二元二次函数梯度相关推荐

  1. 使用Python求解二元一次方程

    使用Python求解二元一次方程: a = int(input("请输入整数a")) b = int(input("请输入整数b")) c = int(inpu ...

  2. python二元函数求导_用Excel和python实现二元函数梯度下降的人工智能,之用,excel,一元...

    梯度下降法和牛顿法的总结与比较 机器学习的本质是建立优化模型,通过优化方法,不断迭代参数向量,找到使目标函数最优的参数向量.最终建立模型 通常用到的优化方法:梯度下降方法.牛顿法.拟牛顿法等.这些优化 ...

  3. python求解二元函数的值

    小白上路,将每次学习到的一点点积累在这,便于以后查阅. 问题: 已知二元函数表达式,将已知点带入求该点函数值 方法一:通过定义函数实现 import numpy as np from sympy im ...

  4. python求解三元一次方程_北师大版八上数学5.2 求解二元一次方程组 知识点微课精讲...

    知识点总结 代入消元法 代入消元法的实质是将二元一次方程组中的某一个方程进行未知数的分离,即将该方程进行变换,完整分离出一个独立的未知数,而这个未知数将用含有另一个未知数的式子来表示.设某二元一次方程 ...

  5. 梯度、梯度法、python实现神经网络的梯度计算

    [机器学习]梯度.梯度法.python实现神经网络的梯度计算 一.python实现求导的代码: 二.what is 梯度 三.使用梯度法寻找神经网络的最优参数 四.神经网络的梯度计算 一.python ...

  6. python求解多元多次方程组或非线性方程组

    背景:如何使用python求解多元多次方程组或者非线性方程组. 原创内容,转载注明出处!请勿用于商业用途! (上篇用python拟合2019nCov感染人数的文章被不少博主转载了,发的比较早,不少博主 ...

  7. python 物理学中的应用_利用python求解物理学中的双弹簧质能系统详解

    前言 本文主要给大家介绍了关于利用python求解物理学中双弹簧质能系统的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 物理的模型如下: 在这个系统里有两个物体,它们的质 ...

  8. UA SIE545 优化理论基础4 对偶理论简介6 求解对偶问题的梯度算法

    UA SIE545 优化理论基础4 对偶理论简介6 求解对偶问题的梯度算法 这一讲我们介绍求解对偶问题的另一个算法--梯度算法(gradient method). 假设原问题为 min⁡x∈Xf(x) ...

  9. python代码物理_利用python求解物理学中的双弹簧质能系统详解

    前言 本文主要给大家介绍了关于利用python求解物理学中双弹簧质能系统的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 物理的模型如下: 在这个系统里有两个物体,它们的质 ...

  10. 用python做逻辑回归梯度上升_机器学习实例---4.1、Logistic回归基础篇之梯度上升算法...

    一 前言 本文从Logistic回归的原理开始讲起,补充了书上省略的数学推导.本文可能会略显枯燥,理论居多,Sklearn实战内容会放在下一篇文章.自己慢慢推导完公式,还是蛮开心的一件事. 二 Log ...

最新文章

  1. git.exe 启动 慢_拳头:今年将修复英雄联盟客户端 启动时间降到19秒
  2. poj1256(贪心+并查集)
  3. 音视频互动开发平台之AnyChat SDK
  4. stylecloud.gen_stylecloud() 参数详解
  5. diskgenius linux版_纯净版Windows10系统安装详细教程
  6. TCP/UDP 套接字总结
  7. 微机计算机原理姚向华课后答案,微型计算机操作系统
  8. BZOJ K大数查询(分治)(Zjoi2013)
  9. Swift中文教程(十六) 自动引用计数
  10. Ranger-Yarn插件安装
  11. js 获取浏览器高度和宽度值
  12. html图片下方会有一像素,div里嵌套了img底部会有白块问题和图片一像素问题解决 - Macchiato...
  13. 小白入门视频处理笔记:1. *.avi文件读入matlab后的数据结构
  14. 海康录像机怪事:只有第一个通道能取到RTSP流,其他通道都取不到
  15. CountDownLatch源码解读
  16. 关于windriver WD_NO_LICENSE错误和解决办法
  17. windows7 x64x86专业纯净版(usb3.0_nvme)2019.12.17
  18. Activiti表结构
  19. Cesium专栏-空间分析之坡度分析(附源码下载)
  20. 龙芯电脑平台kubernetes集群编译及部署方案

热门文章

  1. 三个简单的C语言程序
  2. C语言:将3*4矩阵中找出行最大,列最小的那个元素。-将低于平均值的人数作为函数返回值,将低于平均分的分数放入below数组中。...
  3. python中斜杠_Python中的正斜杠/与反斜杠\
  4. matlab指南针的例子,matlab画指北针
  5. POJ 1380 Equipment Box(大矩形包含小矩形判定)
  6. oracle插入获取当前时间,Oracle中如何获取系统当前时间
  7. 谨防打黑工丨被“偷走”的实习期
  8. 中医经典《伤寒论》-原文
  9. Web页面的常见字体有哪些
  10. 网络棋牌游戏创造快乐心情