matlab无穷积分求解_python做微积分
我们最开始使用python基本都是做数值计算的,而在处理数学问题时常常也需要进行一些符号运算,python能否胜任这种需求呢?当然是可以的,我们就以微积分为例,来见识一下python处理符号运算和数值运算的双重能力。需要安装一款python的第三方库sympy,可以直接使用pip3 install sympy来进行安装,也可以通过其他方式安装。本文无意于让大学生完成高等数学作业时投机取巧,不过作为验证自己计算是否正确的工具倒是不错。sympy更有意义的用途是用于科学计算模拟系统运行状况。
1. 变量定义
数学问题中,我们常常需要定义一些自变量,然后使用一组映射作用在这些自变量上构成数学方程。sympy提供了数学符号相关的数据结构Symbol,在进行符号运算之前需要先定义一些自变量符号。单个符号直接使用sympy.Symbol(),多个符号就可以使用sympy.symbols()来进行定义。
符号变量的定义
从以上演示可以看出,sympy中定义了一个sympy.core.symbol.Symbol类,这个类就是sympy进行符号运算最基础的数据结构。
2. 微积分基础
事实上,sympy可以完成高等数学中几乎所有的操作,当然也包括一些基础的运算。而计算微积分的时候我们常常需要具备一些数学运算的基础,比如极限、表达式展开和合并等等,这里顺便演示使用sympy一下。
微积分基础
从以上演示看出,sympy在处理极限、表达式展开和化简等数学基础运算时非常直观,基本与人工手动计算的形式一致。如果你有一个很复杂的带有同类项的表达式,可以使用sympy.simplify函数试试。
3. 一元微积分
我们先来看看一元微积分,即只有一个自变量的微积分。由于普通的python库基本都是进行数值计算的,因此在构建符号函数时不能直接使用,比如numpy;而应该使用sympy中提供的基础符号函数来构建复杂的符号函数,比如sympy.sin(), sympy.exp()等等。计算符号函数导数的方法也很简单,直接使用sympy.diff(),而计算积分可以直接调用sympy.integrate()函数。
一元微积分
一元微积分的符号运算以及对应的数值运算如上图演示。大家可以发现,在计算不定积分时,省略了一个常数项。通常在未给定初值的情况下,我没也不关心这个常数项,与日常计算微积分的情形基本一致。
4. 多元微积分
了解了一元微积分的计算,自然就更想见识一下多元微积分的计算,sympy在这方面也是非常地强大。所使用的接口仍然是diff和integrate这两个函数。通过变量与基础函数的拼接所形成的复杂函数在sumpy中是一个sympy.core.add.Add对象,使用这个对象直接调用diff函数并指定自变量就可以求解对应的偏导数。多重积分的计算与一元积分是相似的,只是需要传入想要进行积分运算的符号自变量。
多元微积分
5. 微分方程
基本的微积分运算都了解了,但是微积分中一类非常常见的问题还是有必要演示一下,即微分方程的求解。sympy可以求解普通的方程或者方程组是理所当然的,那么对于微分方程的求解是否也那么顺利呢?sympy对方程组的求解函数与matlab是一致的,这对于从matlab迁移到python的朋友来说是个很不错的消息。手动解算过微分方程的朋友都应该知道,微分方程的基础是建立在一个未知函数的导数之上的,那么这个未知的函数该如何表示这是个问题。在sympy中,使用sympy.Function()接口创建这个未知的函数,然后利用这个函数构建微分方程,使用dsolve求解。
微分方程
到此,使用sympy模块进行微积分符号和数值计算的演示完毕。最开始我们处理这类问题的首选是matplab,等到掌握sympy之后,就没有再使用matlab的动力了。sympy不仅是免费的,而且轻量级,使用过程与matlab一样方便。本文的notebook版文件在github上的cnbluegeek/notebook仓库中共享,欢迎感兴趣的朋友下载。
matlab无穷积分求解_python做微积分相关推荐
- matlab无穷积分求解_从零开始的matlab学习笔记——(8)积分
上节说了说求导,这节就顺带着说一说求积分,凑个完整. 不定积分: 定积分的代码和极限求导都差不多: syms x f; f=(3-x^2)^3; ans1=int(f,x) pretty(ans1) ...
- matlab求函数的无穷积分,[求助]贝塞尔函数的无穷积分怎么求解?
回复: [求助]贝塞尔函数的无穷积分怎么求解? 对于这种积分格式,上限是正无穷,下限是zero,我编了个函数文件,回头你自己把函数的表达式代入就可以了. function I = IntGaussLa ...
- matlab显示函数表达式_Matlab求解极限、微积分问题
MATLAB提供了解决微分和积分微积分的各种方法,求解任何程度的微分方程和极限计算.可以轻松绘制复杂功能的图形,并通过求解原始功能以及其衍生来检查图形上的最大值,最小值和其他固定点. 本章将介绍微积分 ...
- matlab 2015 积分,Matlab中如何求解积分?
一谈起Matlab这款软件我想不少人应该都很了解,它是一款功能强大的数学软件,因此有很多人会下载使用它,但是刚接触它,想用使用它会碰到一些难题,最常见的就是Matlab中如何求解积分了,那么遇到这个问 ...
- MATLAB高斯-勒让德积分求解
MATLAB高斯-勒让德积分求解 积分函数 function [ y ] = CalcuFunctionValue( x ) y=exp(-x^2);%积分函数 end 求积分算法函数 functio ...
- matlab中对于xf(x)的积分,[matlab 积分]MATLAB求积分?
MATLAB求积分? 问题补充:我想用MATLAB求一下这个式子的积分,谁能帮我一下?g(f)=(e^4kxf)/sinh(kctf)未知量是f,最后求出来的式子里保留其他几个字母. ●matcom ...
- matlab 2015 积分,浅谈MATLAB在数值积分中的应用
<浅谈MATLAB在数值积分中的应用.doc>由会员分享,可免费在线阅读全文,更多与<浅谈MATLAB在数值积分中的应用>相关文档资源请在帮帮文库(www.woc88.com) ...
- Mathematica做微积分
微积分 求极限 函数极限 数列极限 递归定义的数列极限 单侧极限 累次极限 渐近线 微商和微分 微商(导数) 全微分 不定积分和定积分 不定积分 定积分 多重积分 级数 幂级数展开 幂级数计算 Fou ...
- 在matlab中积分怎样表示,Matlab在积分中的应用.ppt
Matlab在积分中的应用 Matlab在微积分中的应用 高等数学最基本的概念集中在极限.导数.积分.微分等几个部分,本章主要介绍Matlab在这几方面的应用 一.极限.导数与微分 1.极限 limi ...
最新文章
- (二)OpenStack---M版---双节点搭建---数据库安装和配置
- 负载测试与压力测试的区别
- jsonp的原理·jsonp是不是ajax中实现跨域访问的技术
- sqlsession.selectlist 会返回null么_StackOverflow经典问题:代码中如何去掉烦人的“!=nullquot;判空语句...
- 抓取新浪的每日星座运势
- php mysql购物车实现原理_PHP实现购物车的思路和源码分析
- python作业(12.12)
- 用ajax向处理页面传送路径问题解决方法
- spring boot 在IDEA使用devtools热布署不成功,都没有注意的事!
- 自动化测试===Macaca环境搭建,自我总结
- 在线密码管理器LastPass遭入侵 官方建议修改主密码
- matlab 读取mp3文件,MATLAB音频文件读取
- struts2 通配符的配置方式
- 怎么清楚计算机硬盘搜索记录,如何去除电脑硬盘删除痕迹
- STM32F103C8T6 操作矩阵键盘
- dw html 浮动窗口,Dreamweaver怎样实现飘浮光球特效
- Adobe系列软件大全
- 什么是mvc,mvc有什么用?
- 近期iOS开发者问题全面答疑(3)
- 电影票务大排行:猫眼第一,淘票票、格瓦拉分列二、三位!
热门文章
- FreeImage编译及遇到问题解决
- sql server 对象名无效的解决方法
- org.springframework.web.context.ContextLoaderListener 解决方案
- 【干货】2021中国“企服企业”规模化获客体系建设指南.pdf(附下载链接)
- 深度召回算法在字节跳动推荐系统的应用实践
- 文字生成视频,只需一步(附论文下载)
- 【报告分享】京东大数据202女性消费趋势报告.pdf(附下载链接)
- 图形学opengl实验二-桌子的矩阵变换
- PTA5-16 一元多项式求导 (20分)
- 敢闯会创,第七届中国国际“互联网+”双创大赛腾讯广告产业命题等你来战!