python 梯度法求解函数极值的实例

yipeiwu_com5年前Python基础

如下所示:

#coding utf-8
a=0.001    #定义收敛步长
xd=1    #定义寻找步长
x=0     #定义一个种子x0
i=0     #循环迭代次数
y=0
dic={}
import math
def f(x):
 y=math.sin(x) #定义函数f(X)=sinx
 return y
def fd(x):
 y=math.cos(x) #函数f(x)导数fd(X)=cosx
 return y
while y>=0 and y<3.14*4:
 y=y+xd
 x=y
 while abs(fd(x))>0.001: #定义精度为0.001
  x=x+a*fd(x)
 if x>=0 and x<3.14*4:
  print(x,f(x))
  dic[y]=x
print(dic)
ls=[]
for i in dic.keys():
 cor=0
 if ls is None:
  ls.append(dic[i])
 else:
  for j in ls:
   if dic[i]-j<0.1:
    cor=1
    break
  if cor==0:
   ls.append(dic[i])
print(ls)

以上这篇python 梯度法求解函数极值的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

对python 匹配字符串开头和结尾的方法详解

1、你需要通过指定的文本模式去检查字符串的开头或者结尾,比如文件名后缀,URL Scheme 等等。检 查 字 符 串 开 头 或 结 尾 的 一 个 简 单 方 法 是 使 用str....

python 统计文件中的字符串数目示例

题目: 一个txt文件中已知数据格式为: C4D C4D/maya C4D C4D/su C4D/max/AE 统计每个字段出现的次数,比如C4D、maya 先读取文件,将文件中的数据抽...

python类和函数中使用静态变量的方法

本文实例讲述了python类和函数中使用静态变量的方法。分享给大家供大家参考。具体分析如下: 在python的类和函数(包括λ方法)中使用静态变量似乎是件不可能[Nothing is i...

一个Python最简单的接口自动化框架

一个Python最简单的接口自动化框架

故事背景 读取一个Excel中的一条数据用例,请求接口,然后返回结果并反填到excel中。过程中会生成请求回来的文本,当然还会生成一个xml文件。具体的excel文件如下: 代码方案...

在django中自定义字段Field详解

Django的Field类中方法有: to_python() # 把数据库数据转成python数据 from_db_value() # 把数据库数据转成python数据 get_pre_...