python求导函数的值_python怎么实现函数求导

python实现函数求导的方法是:1、利用sympy库中的symbols方法传入x和y变量;2、利用sympy库中的diff函数传入需要求导的函数即可返回求导之后的结果。

python利用sympy库对某个函数求导,numpy库使用该求导结果计算的程序

在python数据处理过程中,我们经常会遇见这样一种情况。需要对一个函数表达式求偏导,并将具体数值代入导数式。

而python中通常可用于函数求导的函数是sympy库中的diff()函数。

但他通常所求得的导数只是一个符号表达式。不能直接带入数据使用。

如下例:import sympy as sp

import numpy as np

x,y = sp.symbols('x y')

z = sp.sin(2*sp.pi*x+2*y/5)

zx = sp.diff(z,x)

zy = sp.diff(z,y)

print(zx)

print(zy)

其输出为:2*pi*cos(2*pi*x + 2*y/5)

2*cos(2*pi*x + 2*y/5)/5

那么该如何解决这个问题呢?

对x,y使用evalf()函数分别赋值后,用float进行类型转换后,才能利用numpy进行数值计算。

如下例:import sympy as sp

import numpy as np

x,y = sp.symbols('x y')

z = sp.sin(2*sp.pi*x+2*y/5)

zx = sp.diff(z,x)

zy = sp.diff(z,y)

x1 = 10

y1 = 5

z_x1 = float(zx.evalf(subs={x:x1,y:y1}))

z_y1 = float(zy.evalf(subs={x:x1,y:y1}))

print(z_x1)

print(z_y1)

其输出结果:-2.61472768902227

-0.16645873461885696

那如果我的x或y不是单一的值呢?而是一个数组。

我们可以利用一个循环来完成。

如下例:import sympy as sp

import numpy as np

x,y = sp.symbols('x y')

z = sp.sin(2*sp.pi*x+2*y/5)

zx = sp.diff(z,x)

zy = sp.diff(z,y)

x_array = np.linspace(-5, 5, 10)

y_array = np.linspace(-5, 5, 10)

temp_x = []#先定义一个用于存储x偏导的空列表

temp_y = []#先定义一个用于存储y偏导的空列表

for i in range(10):

z_x = float(zx.evalf(subs={x:x_array[i],y:y_array[i]}))

temp_x.append(z_x)#将计算得到的偏导值一一添加到列表中

z_y = float(zy.evalf(subs={x:x_array[i],y:y_array[i]}))

temp_y.append(z_y)

zx_array = np.array(temp_x)#将列表转换为数组

zy_array = np.array(temp_y)

print(zx_array)

print(zy_array)

输出结果为:[-2.61472769  4.11163864  6.02946289  0.89585862 -5.2854481  -5.2854481

0.89585862  6.02946289  4.11163864 -2.61472769]

[-0.16645873  0.26175505  0.38384753  0.05703213 -0.33648208 -0.33648208

0.05703213  0.38384753  0.26175505 -0.16645873]

由此便实现了由sympy得到求导结果,到numpy库进行数值计算。

本人还是python初学者,有什么错误恳请各位大佬及时指正~

学习路上共同进步~推荐课程:Python3 Selenium3 自动化测试开发实战

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/297239.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

巴巴运动网学习笔记(16-20)

1.ProductType的JPA映射 View Code 1 Entity 2 public class ProductType { 3 private int id; 4 private String name; 5 private String note; 6 private boolean visible true; 7 private Set<ProductType> child; 8 private ProductType p…

监控主机安装需要材料

监控需要材料&#xff1a;方案一 没有监控录像机1.需要监控采集卡 &#xff08;可以用言者型号&#xff09;2.红外摄像机 &#xff08;监控距离10m---80m&#xff09;3.电源线视频线 &#xff08;可以用网线代替&#xff0c;用网线代替需要购买视频转Q9对接头&#xff09;…

批量生成 Gitee 仓库克隆命令的方法

当我们在一个新的公司入职或者发现一个很有意思的开源项目作者时&#xff0c;我们可能需要或者很想将该公司或作者的所有开源项目都克隆到本地慢慢研究。于是&#xff0c;笔者制作出了一段脚本可以一波将页面上的所有仓库生成克隆命令&#xff1a;var tmp []; $(.repository).…

Heartbeat+httpd+NFS 实现高可用的Web服务器

一、环境系统:CentOS 6.4x64位最小化安装nfs:192.168.3.31node1:192.168.3.32node2:192.168.3.33vip:192.168.3.34二、拓扑图三、前提条件1.节点之间主机名互相解析node1,node2:[rootheatbeat-node1 ~]# cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost…

在Marketplace上销售应用【WP7学习札记之十八】

Maketplace规则&#xff1a; ◇[1]Maketplace是唯一发布应用程序的地方&#xff1b; ◇[2]用户能在Maketplace上购买和部署应用程序&#xff1b; ◇[3]每个开发者可以解锁3台手机&#xff0c;这样开发者可以编写和部署应用程序到解锁的手机上。 销售应用程序&#xff1a; ◇[1]…

python时间函数报错_Python Day11-LEGB-global-时间函数

1.LEGB规则对变量名进行作用域解析我们已经知道了多个命名空间可以独立存在&#xff0c;而且可以在不同的层次上包含相同的变量名。“作用域”定义了Python在哪一个层次上查找某个“变量名”对应的对象。接下来的问题就是&#xff1a;“Python在查找‘名称-对象’映射时&#x…

java时间字符串比较大小_Java字符串转换为日期和时间比较大小

DateFormat fmt new SimpleDateFormat("yyyy-MM-dd");String dateBeginfmt.format(carrierCommand.getDateBegin());String dateEndfmt.format(carrierCommand.getDateEnd());//如果获得的日期格式不是2008-05-22,就必须要格式化一下日期String dateBegin request.…

VS2005混合编译ARM汇编代码

2019独角兽企业重金招聘Python工程师标准>>> 在开发过程中&#xff0c;发现简单的在Storage Memory区域拷贝或粘贴文件不能达到硬件量测的要求&#xff0c;需要直接通过编写ARM汇编指令让CPU直接对Memory进行读写数据。 以前没有用VS2005编写过汇编代码&#xff0c;…

中国最险六大寺庙,最后一座至今无人登临

全世界只有3.14 % 的人关注了爆炸吧知识来源&#xff1a;「风景线」佛教远离尘世的特性使得很多寺庙修建于偏僻险要的山野&#xff0c;看似岌岌可危的建筑&#xff0c;却能屹立千百年而不倒&#xff0c;这不得不感叹古人智慧的伟大&#xff0c;这6大险要寺庙&#xff0c;绝对能…

c/c++ code JSON

cJSON 初体验 cJSON是一个超轻巧&#xff0c;携带方便&#xff0c;单文件&#xff0c;简单的可以作为ANSI-C标准的JSON解析器。官网地址 cJSON.c /*Copyright (c) 2009 Dave GamblePermission is hereby granted, free of charge, to any person obtaining a copyof this softw…

第五篇

C#中异常捕获如来完成: Try { 有可能出现错误的代码 } Catch { 写出现错误的代码; } ,-- 又称为自加1 和自减1 以前学的是一元运算符,而自加自减是一元运算符. Int age 18; Age age1; 用自加可写为: Int age 18; Age; Console.WriteLine(“age{0}”,age); 这种写法的效率比较…

Dapr牵手.NET学习笔记:发布-订阅

queue&#xff0c;是很好的削峰填谷工具&#xff0c;在业内也是主流&#xff1b;发布订阅&#xff0c;可以有效的解耦两个应用&#xff0c;所以dapr把他们进行了有效的封装&#xff0c;我们使用起来更简单高效。本篇的案例是下完订单后&#xff0c;会把消息发布到redis&#xf…

Java标签移动_如何使用基于鼠标单击的标签移动特定游戏对象?

我有一个由6个孩子的游戏对象组成的3D模型&#xff0c;我希望能够点击模型的每个部分并使该部分沿某个方向移动然后再次点击它然后返回到它原来的位置 . 我给每个零件都带了一个标签和一个盒子对撞机我打算让它们在我用碰撞器和不同的标签点击物体时移动 . 我看到光线投射有帮助…

sql年月日24小时制_Power Query 抓取气象台24小时降水量数据

我们借鉴之前抓取台风路径数据的例子&#xff0c;试一试抓取降水量数据&#xff1a;之前我们访问过这个网站&#xff0c;也试着抓取过数据&#xff0c;不过在谷歌浏览器中我们只能够找到两天的数据&#xff0c;但是通过台风路径数据抓取&#xff0c;我们猜想只要我们向服务器提…

薅羊毛丨5个平价好物,终于终于终于打折了!

▲ 点击查看大家好&#xff0c;超模全新的固定栏目「薅羊毛」上线了&#xff01;既然是薅羊毛&#xff0c;怎么能空着手来&#xff1f;别看今天是草单&#xff0c;但所有产品都是咱们商务部小哥谈了好久才拿下的团购&#xff0c;而且全都包邮。毕竟好用的好吃的&#xff0c;啥都…

50个Web设计师超便利的工具

作为一个 Web 设计师并不容易&#xff0c;不仅考虑设计与架构&#xff0c;还要时刻注意各种小细节&#xff0c;设计师的工作被各种各样的问题包围&#xff0c;你需要一套超级便利的工具帮你解决各种消耗时间和精力的问题。我爱互联网在这里给您介绍了50个非常强大的工具&#x…

linux之拷贝文件/备份文件;按照原来的权限和日期拷贝.

linux下备份成了问题.虽然有人说 tar gz 之类的,貌似也有类似ghost的软件.ghost对linux的支持没那么好,以前备份linux分区ext4,数据全部没有成功备份. 现在我要将vmware虚拟机中一个硬盘的数据转移到另一个vmware硬盘中,因为他占用了5GB的磁盘空间,却只有2GB文件.比如lfs的时候…

[转载] 三十不立,四十迷惑的人生

冯唐说&#xff1a;世界上有两种长大的方式&#xff0c;一种是明白了&#xff0c;一种是忘记了明白不了的&#xff0c;心中了无牵挂&#xff0c;几乎所有人都是后一种方式长大。而我是不是第三种&#xff1f;没明白&#xff0c;也没忘记明白不了的&#xff0c;所以一直迷茫中&a…

Docker小白到实战之Docker Compose在手,一键足矣

前言Docker可以将应用程序及环境很方便的以容器的形式启动&#xff0c;但当应用程序依赖的服务比较多&#xff0c;或是遇到一个大系统拆分的服务很多时&#xff0c;如果还一个一个的根据镜像启动容器&#xff0c;那就有点累人了&#xff0c;到这有很多小伙伴会说&#xff1a;弄…

Hsiaoyang:Google搜索结果页面分析

Hsiaoyang:Google搜索结果页面分析首先请参看Google官方的“搜索结果页”用户在使用搜索引擎的时候&#xff0c;首先会在搜索框中输入关键词&#xff0c;随后SE会返回一个搜索结果呈现给用户。SEO的主要对象是搜索引擎&#xff0c;而了解搜索引擎对搜索结果的展现对于SEO人员的…