Python数值计算:一 使用Pylab绘图(1)

Pylab的使用

学习使用Python进行科学计算,然而很难找到简单实用,又循序渐进的例子。正好手边有一本《Matlab可视化大学物理学》,里面的例子非常清晰地解释了Matlab在物理学中的应用。重新使用Python实现这些例子,学习了Python,又学习了科学计算思想,一举两得。

1.1Pylab简介

pylab是Matplotlib和Ipython提供的一个模块,提供了类似Matlab的语法,在启动Ipython时可以使用--pylab启动,它相当于导入了如下库:

import numpy
import matplotlib
from matplotlib import pylab, mlab, pyplot
np = numpy
plt = pyplot
from IPython.display import display
from IPython.core.pylabtools import figsize, getfigs
from pylab import *
from numpy import *

1.2简单应用

1.2.1画圆

\(cos^2x+sin^2x = 1\)

n = 10#生成50个元素的行向量
phi = linspace(0, 2*pi)# 此时绘制x,y可以得到一个圆
x = cos(phi)
y = sin(phi)
for i in range(1,n):for j in range(1,i):#(绘图 1)plot(x + 2 * j, y - 2 * j)

结果图

如果将绘图1指令改为:

plot(x + 2*j -i, y - sqrt(3) * i)

可以绘制出交错堆叠。

交错堆叠

1.2.2不定循环(indefinite loop)与超越方程(transcentental equation)

超越方程在数学与物理中十分常见,然而并没有确定的解析解法。需要使用数值解或图形解。

在黑体辐射中,峰值波长与温度成反比,比例系数为维恩常数(Wien's displacement law)。根据普朗克公式求维恩常数时,产生如下的超越方程:
\[x+5(e^{-x}-1)=0\]

超越方程的解也应该是下面一条直线和指数函数曲线的交点:
\[y=x , y = 5[1-e^{(-x)}]\]

对于数值计算而言,可以使用牛顿法求解以上方程。

x0 = 1 #iteration method
xx = []
while True:x = 5 * (1 - exp( - x0))xx.append(x)if len(xx) > 1000:breakif abs(x0 - x) < 0.0001:breakx0 = x
subplot(211)#绘图部分,首先绘制iteration method求得的解
plot(xx,"x-")
grid()
text(x0, x0, str(x0))
subplot(212)#然后绘制图形解法的解
nx = arange(0,8,0.01)
plot(nx, nx, nx, 5*(1 - exp( -nx)), "--")
plot(x0, x0, "o")
text(x0, x0, str(x0))
grid()
show()

超越方程

转载于:https://www.cnblogs.com/abcat/p/3616627.html

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

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

相关文章

Linux SD卡驱动开发(四) —— SD 控制器之真正的硬件操作

前面对SD卡控制器有了一个基本的介绍。其实SD控制器层更过的意义是为core层提供一种操作SD卡硬件的一种方法&#xff0c;当然不同的控制器对硬件控制的方法不尽相同&#xff0c;但是他们最终都能像core层提交一个统一的封装有操作方法的数据结构&#xff0c;那便是即将闪亮登场…

android 面试总结,后续注意学习

1、数据结构和算法一般情况下&#xff0c;工作中是用不到的&#xff0c;但是就是问&#xff0c;每个公司都问&#xff0c;而且有的公司还问的特别深&#xff0c;还让你手写代码。我觉得这个确实有点恶心&#xff0c;我个人也是很讨厌算法的&#xff0c;但是真是没办法&#xff…

Linux SD卡驱动开发(五) —— SD 卡驱动分析Core补充篇

Core层中有两个重要函数 mmc_alloc_host 用于构造host&#xff0c;前面已经学习过&#xff0c;这里不再阐述&#xff1b;另一个就是 mmc_add_host,用于注册host 前面探测函数s3cmci_probe&#xff0c;现在就来回顾一下这个函数的作用。先简要的概括一下这个函数的功能&#xff…

navicat连接oracle 报 ORA-12737 set CHS16GBK

2019独角兽企业重金招聘Python工程师标准>>> 1首 先&#xff0c;我们打开“工具”-->"选项"菜单&#xff0c;见到如下界面&#xff0c;依据OCI library(oci.dll) 路径&#xff0c;导航到 navicat oci 目录下&#xff0c;备份里面的文件&#xff08;通过…

Linux SD卡驱动开发(六) —— SD卡启动过程总体分析

一、工作流程 mmc驱动主要文件包括 drivers/mmc/card/block.c drivers/mmc/card/queue.c drivers/mmc/core/core.c drivers/mmc/core/host.c drivers/mmc/core/ 内核启动时&#xff0c;首先执行core/core.c的mmc_init&#xff0c;注册mmc、sd总线&#xff0c;以及一个host clas…

svn怎么上传文件 — 百度经验无耻推广

2019独角兽企业重金招聘Python工程师标准>>> svn怎么上传文件 — 欢乐地点进去捧场 PS&#xff1a;觉得笔者太无耻&#xff0c;直接在下方评论抨击 转载于:https://my.oschina.net/cenqingbo/blog/212284

路由器和交换的本质区别解析

面试中经常遇到此类问题&#xff0c;首先我们遇到此类问题必须明白题目所要考察我们的目的是什么&#xff1a; 1&#xff1a;考察点&#xff1a;这类问题主要考察面试者对路由器和交换机的基本概念和工作原理的掌握程度&#xff0c;面试官主要是想了解面试者基础知识是否牢固。…

apache 重写和虚拟目录配置

要求&#xff1a;假如我请求一个地址&#xff1a;www.lxy.com/news-sport-id123.html转成&#xff1a;www.lxy.com/show.php?catenews&classsport&id123步骤&#xff1a;①首先我们需要在apache中启用rewrite模块打开apache的httpd.conf文件&#xff0c;找到#LoadModu…

JavaScript代码片段

简介&#xff1a;本文收集了我常用的JavaScript代码片段&#xff0c;欢迎提意见&#xff01; 大灰狼边敲门边说&#xff1a;“小兔子乖乖&#xff0c;把门儿开开&#xff01;” 小兔子听到后&#xff0c;连忙去开门&#xff1a;“来喽&#xff01;” 兔妈妈对小兔子喊道&#x…

路由器开发(一)—— 路由器硬件结构及软件体系

一、路由器的硬件构成 路由器主要由以下几个部分组成&#xff1a;输入/输出接口部分、包转发或交换结构部分&#xff08;switching fabric&#xff09;、路由计算或处理部分。如图所示 图1 路由器的基本组成 输入端口是物理链路和输入包的进口处。端口通常由线卡提供&#…

【pl/sql番外篇】 存储过程 游标

SELECT语句用于从数据库中查询数据&#xff0c;当在PL/SQL中使用SELECT语句时&#xff0c;要与INTO子句一起使用&#xff0c;查询的返回值被赋予INTO子句中的变量&#xff0c;变量的声明是在DELCARE中。SELECT INTO语法如下&#xff1a; SELECT [DISTICT|ALL…

路由器开发(二)—— 路由器工作原理

当信息需要在两个网络之间传输时&#xff0c;常用路由器这种互连设备来负责数据的传输。路由器的主要工作是&#xff1a;路径的决定和数据包的转发&#xff08;从路由器一个接口输入&#xff0c;然后选择合适接口输出&#xff09;&#xff1b;维护路由表。 路由器工作的方式非常…

Android颜色渐变的分隔线(ListView)

2019独角兽企业重金招聘Python工程师标准>>> shape.xml xx <?xml version"1.0" encoding"utf-8"?><shape xmlns:android"http://schemas.android.com/apk/res/android" > <gradient android:startColor&qu…

iOS 层层推进实现代理模式

1.代理模式核心思想&#xff1a;A类委托B类做某件事&#xff0c;然后A类获取B类的执行的返回结果&#xff01; 举例&#xff1a;女孩想去买电影票&#xff0c;但是自己不亲自去而是委托男孩了解电影电影票信息&#xff0c;同时女孩获得男孩买票的结果&#xff0c;代码模拟实现&…

项目实践中Linux集群的总结和思考

2019独角兽企业重金招聘Python工程师标准>>> 前言&#xff1a;作为一名Linux/unix系统工程师、项目实施工程师&#xff0c;这几年一直在涉及到对外项目&#xff0c;经手过许多小中型网站的架构&#xff0c;F5、LVS及Nginx接触的都比较多&#xff0c;我想一种比较通俗…

路由器基础知识详解

第一章 网络互联 网络的根本目的非常简单&#xff1a;方便人们交换所获得的信息。但是网络的应用需求非常复杂&#xff1a;有的用户希望高带宽&#xff0c;但并不要求很长的传输距离&#xff1b;有的用户要求很长的距离&#xff0c;但对带宽要求很低&#xff1b;有的对网络的…

事务与锁机制

2019独角兽企业重金招聘Python工程师标准>>> 事务定义&#xff1a; 访问并可能更新数据库&#xff1a;一句或一组SQL&#xff0c;或者是一段程序&#xff0c;反正update了就是事务 ACID的4原则&#xff1a; 原子性&#xff1a; 一致性&#xff1a; 隔离性&#xff1…

路由器 VS OSI七层模型

OSI Open Source Initiative&#xff08;简称OSI&#xff0c;有译作开放源代码促进会、开放原始码组织&#xff09;是一个旨在推动开源软件发展的非盈利组织。OSI参考模型&#xff08;OSI/RM&#xff09;的全称是开放系统互连参考模型&#xff08;Open System Interconnection …

Linux运维系统工程师系列---04

和用户登录相关的文件用户登录是需要读取的文件1、/etc/profile2、/etc/bashrc3、/etc/profile.d/*4、~user/.bashrc5、~user/.bash_profile登录shell和非登录shell&#xff1a;[rootlocalhost ~]# su - usr4登录shell[rootlocalhost ~]# su usr4非登录shell非登录shell使用的是…

Linux Wireless架构总结

1、无线网络驱动(ath9k_htc) ath9k_htc是一个基于USB接口的SoftMAC无线网络适配器。为了其驱动能正常工作&#xff0c;首先必须调用usb_register来注册驱动定义的usb_driver&#xff0c;以借助USB Core的力量来处理与USB协议相关的事件。其代码如下&#xff1a;[cpp] view plai…