该脚本使用SciPy的dblquad计算来自均匀充电环的(x0,y0,z0)处的电场 .

我的问题是关于 gfun 和 hfun 的使用,它定义了内积分限制对外积分变量的函数依赖性 . 如果我选择整合笛卡尔坐标,这将是一个千篇一律的形状,但当我使用圆柱坐标时,函数返回常量浮点数 .

有没有办法消除这些只是返回常量的函数调用,以避免函数调用的时间损失?

该示例可能未在其他方面进行优化,但它只是一个显示 gfun 和 hfun 的使用的简单示例 .

def Excalc(r, th):

x, y, z = r*np.cos(th), r*np.sin(th), 0.0

return (x0-x) * ((x0-x)**2 + (y0-y)**2 + (z0-z)**2)**-1.5

def Eycalc(r, th):

x, y, z = r*np.cos(th), r*np.sin(th), 0.0

return (y0-y) * ((x0-x)**2 + (y0-y)**2 + (z0-z)**2)**-1.5

def Ezcalc(r, th):

x, y, z = r*np.cos(th), r*np.sin(th), 0.0

return (z0-z) * ((x0-x)**2 + (y0-y)**2 + (z0-z)**2)**-1.5

def gfun(x):

return rmin

def hfun(x):

return rmax

import numpy as np

import matplotlib.pyplot as plt

from scipy.integrate import dblquad

twopi = 2.*np.pi

# annulus of uniform, unit charge density

rmin, rmax = 0.8, 1.2

thmin, thmax = 0, twopi

# point to evaluate the field

x0, y0, z0 = 1.5, 0, 1

eps = 1E-10

Ex, Exerr = dblquad(Excalc, thmin, thmax, gfun, hfun, epsrel=eps)

Ey, Eyerr = dblquad(Eycalc, thmin, thmax, gfun, hfun, epsrel=eps)

Ez, Ezerr = dblquad(Ezcalc, thmin, thmax, gfun, hfun, epsrel=eps)

print Ex, Ey, Ez

print Exerr, Eyerr, Ezerr

java 固定值_这些频繁调用函数是否可以在dblquad中返回固定值?相关推荐

  1. java native方法_并发系列-native函数回调Java方法原理实践

    写在前面 上一篇分享了Java调用native函数过程原理实践,文章最后留了一个问题,本章主要对C程序回调我们的Java程序原理进行实践. 调用C程序之后他是怎么知道来调用我们我们的哪个方法?又是如何 ...

  2. java左右值_为什么C/C++等少数编程语言要区分左右值?

    我个人认为的区分左值和右值的原因: 赋值的意义(基本上)是把右边的值放进左边的位置,替换掉左边位置原有的值.从而赋值对左边期望的是位置与其中的值的结合(相当于 C/C++ 的对象),对右边期望的是单纯 ...

  3. python用fun判断水仙花数_功能:调用函数fun判断一个三位数是否水仙花数。

    功能:调用函数fun判断一个三位数是否"水仙花数".在main函数中从键盘输入一个三位数,并输出判断结果.请编写fun函数.说明:所谓"水仙花数"是指一3位数, ...

  4. 无返回值_只需一步,在Spring Boot中统一Restful API返回值格式与处理异常

    统一返回值 在前后端分离大行其道的今天,有一个统一的返回值格式不仅能使我们的接口看起来更漂亮,而且还可以使前端可以统一处理很多东西,避免很多问题的产生. 比较通用的返回值格式如下: public cl ...

  5. 补充函数编程,程序功能要求:有一个已知数组d,程序调用函数out输出数组 d的所有元素;调用函数plus对数组d中所有大于0的元素分别加上30;调用函数 cpy将d数组所有元素

    void  out(int *p,int n) {         int i=0;                                     //1分     for(i=0;i< ...

  6. java define 宏_宏定义宏函数(日志输出)define

    最常见的就是 #indef __cplusplus 这表示支持C++语法 再如可以定义常量 #define MAX 100 这跟JAVA全局变量有什么区别呢? JAVA的变量是有类型的,这没有类型,这 ...

  7. c++语言中如果调用函数时,需要改变实参或者返回多个值,应该采取,C++综合练习题2...

    C++程序设计综合练习题(二) 一.单项选择题 1. 静态成员函数没有() A. 返回值 B. this指针 C. 指针参数 D. 返回类型 2. 假定AB为一个类,则执行"AB a(2), ...

  8. c++语言中如果调用函数时,需要改变实参或者返回多个值,应该采取,2013年计算机二级C++模拟试题十一及答案...

    28.下面程序的结果为( ) #include int c; class A{ private: int a; static int b; public: A() {a=0;c=0;} void se ...

  9. jsp和java使用值_如何将表单的值从jsp发送到Java

    我有一个包含30个不同字段的表格.将它们全部传递给控制器​​时,需要为每个属性都具有一个属性,以及一对getter,setter. 我将使表单字段作为一个对象并将该对象发送到控制器. 我正在使用以下代 ...

最新文章

  1. QIIME 2用户文档. 13训练特征分类器Training feature classifiers(2019.7)
  2. 嵌入式 linux 进程锁,嵌入式  Linux线程锁详解pthread_mutexattr_t
  3. amazon redshift 分析型数据库特点——本质还是列存储
  4. ITK:图像的拉普拉斯算子
  5. Vue项目开发目录结构和引用调用关系
  6. 【华为云技术分享】ARMv8-A存储模型概述(2)
  7. 医用计算机基础学习心得,计算机基础学习心得.doc
  8. “L3级”自动驾驶落地指导思想:高速辅助人,低速替代人
  9. CSS: 对background: url(“~assets/img/common/collect.svg“) 0 0/14px 14px 的理解
  10. Python 根据起始时间和结束时间计算时长
  11. Android客户端Monkey稳定性测试
  12. winform 创建窗口句柄时出错
  13. 数字逻辑实验|逻辑函数及其描述工具(Logisim)
  14. 宝可梦世界无限极怎么开服务器,口袋妖怪世界无极限运行库
  15. 【系统优化】新装Linux系统注意事项增加系统安全
  16. python小白入门
  17. VS Code 插件的开发及发布指南
  18. POI生成Excel
  19. 信息系统项目管理笔记1-信息化基础知识、服务管理、监理知识
  20. js中角度和弧度的计算

热门文章

  1. postman连接mysql执行操作
  2. Eclipse MAT 安装及使用
  3. git 修改远程仓库地址
  4. [Redis]c# redis缓存辅助类
  5. Scoped CSS规范草案
  6. [No00009E]几种常见的命名规则
  7. 文字过多以省略号代替,放在文字上会显示title信息提示
  8. c++课程学习(未完待续)
  9. 【随记】Q号解除限制一波三折
  10. bug in MicrosoftAjax.debug.js