仅使用numpy可以使用argsort、sort、take和适当的数组操作来获得一个好的解决方案。以下函数使用加权平均值计算等参曲面:def calc_iso_surface(my_array, my_value, zs, interp_order=6, power_parameter=0.5):

if interp_order < 1: interp_order = 1

from numpy import argsort, take, clip, zeros

dist = (my_array - my_value)**2

arg = argsort(dist,axis=2)

dist.sort(axis=2)

w_total = 0.

z = zeros(my_array.shape[:2], dtype=float)

for i in xrange(int(interp_order)):

zi = take(zs, arg[:,:,i])

valuei = dist[:,:,i]

wi = 1/valuei

clip(wi, 0, 1.e6, out=wi) # avoiding overflows

w_total += wi**power_parameter

z += zi*wi**power_parameter

z /= w_total

return z

此解决方案不处理与my_value对应的多个z的情况。以下代码中给出了构建以下iso曲面的应用示例:

^{pr2}$

你也可以玩不同的插值函数。请看下面的一个例子,它取两个最接近的zs的平均值:def calc_iso_surface_2(my_array, my_value, zs):

'''Takes the average of the two closest zs

'''

from numpy import argsort, take

dist = (my_array - my_value)**2

arg = argsort(dist,axis=2)

z0 = take(zs, arg[:,:,0])

z1 = take(zs, arg[:,:,1])

z = (z0+z1)/2

return z

python 等值面 插值_利用numpy/scipy从三维阵列计算等值面相关推荐

  1. python 计算曲线面积_利用Python中的numpy包实现PR曲线和ROC曲线的计算!

    闲来无事,边理解PR曲线和ROC曲线,边写了一下计算两个指标的代码.在python环境下,sklearn里有现成的函数计算ROC曲线坐标点,这里为了深入理解这两个指标,写代码的时候只用到numpy包. ...

  2. python创建列向量_关于Numpy中的行向量和列向量详解

    关于Numpy中的行向量和列向量详解 行向量 方式1 import numpy as np b=np.array([1,2,3]).reshape((1,-1)) print(b,b.shape) 结 ...

  3. JAVA利用数组求两点距离_利用java、js或mysql计算高德地图中两坐标之间的距离

    利用java.js或mysql计算高德地图中两坐标之间的距离 2019-09-19 编程之家收集整理的这篇文章主要介绍了利用java.js或mysql计算高德地图中两坐标之间的距离,编程之家小编觉得挺 ...

  4. python绘制等值线图_利用Python插值绘制等值线图

    最近需要根据有限的站位点绘制插值等值线图,在网上中文搜索一通,只发现了这货Matplot Basemap 画湖北地图.插值.等值线,要么就是对这货的转载,这货不提供数据的形式,但是基本的代码思路还是不 ...

  5. python中griddata的外插值_利用griddata进行二维插值

    有时候会碰到这种情况: 实际问题可以抽象为 \(z = f(x, y)\) 的形式,而你只知道有限的点 \((x_i,y_i,z_i)\),你又需要局部的全数据,这时你就需要插值,一维的插值方法网上很 ...

  6. python中numpy matplotlib绘图教程_利用numpy+matplotlib绘图的基本操作教程

    简述 Matplotlib是一个基于python的2D画图库,能够用python脚本方便的画出折线图,直方图,功率谱图,散点图等常用图表,而且语法简单.具体介绍见matplot官网. Numpy(Nu ...

  7. 数据挖掘 python roc曲线_利用scikitlearn画ROC曲线实例

    一个完整的数据挖掘模型,最后都要进行模型评估,对于二分类来说,AUC,ROC这两个指标用到最多,所以 利用sklearn里面相应的函数进行模块搭建. 具体实现的代码可以参照下面博友的代码,评估svm的 ...

  8. python数据插值_【Python】【数据分析】缺失值处理——插值

    题目链接 数据预处理 本文取每个水池中,A.B两个采样点各理化因子的实测值的均值作为各理化因子的计算值.总磷.总淡.氨氮15周的数据可以参考附件一.而附件二中COD.溶氧.PH值间隔两周采集一次,与附 ...

  9. python代码物理_利用python求解物理学中的双弹簧质能系统详解

    前言 本文主要给大家介绍了关于利用python求解物理学中双弹簧质能系统的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 物理的模型如下: 在这个系统里有两个物体,它们的质 ...

最新文章

  1. 自动化测试之alert弹窗的切换
  2. linux集群流程运行,linux 怎么配置集群
  3. HDU 最大报销额 (0 1 背包)
  4. [开源] FreeSql.AdminLTE.Tools 根据实体类生成后台管理代码
  5. CSS常用的元素居中方法
  6. [ES6] 细化ES6之 -- 键值对集合
  7. python语言源程序文件类型_浅谈Python的文件类型
  8. 虚函数指针(vptr)与虚函数表(vptb)
  9. Win10下安装gcc、g++、make
  10. python核心编程-第三章-个人笔记
  11. linux 按时间查找文件,linux 文件三种时间 和 find 按时间查找
  12. python转义字符_python转义字符
  13. ppt流程图箭头分叉_实用模版大全(最全箭头、流程图).ppt
  14. 2020浙江工业大学程序设计迎新赛——决赛(重现赛)G-抽卡
  15. 反编译工具的安装与使用(解决部分能反编译部分不能反编译)
  16. mac自带工具的抠图方法
  17. 湖南大学计算机学院陈浩,杨圣洪-湖大信息科学与工程学院
  18. 神经网络正则化java_聊聊神经网络中的正则化
  19. 微信小程序--搜索框样式 及form提交实现
  20. 关于PS课程中色彩调整部分的学习总结

热门文章

  1. LEFT OUTER JOIN
  2. 微信JSSDK多图片上传并且解决IOS系统上传一直加载的问题
  3. 解决“C:\Windows\System32\ntdll.dll”。无法查找或打开 PDB 文件问题
  4. tomcat启动后,页面浏览时报错 Unable to compile class for JSP的解决方案
  5. CmD空格转义的三种方法,总有一种会解决问题
  6. C++ Error C2664:无法将参数 1 从“const char [9]”转换为“LPCWSTR”解决方案
  7. su: Authentication failure 的解决方案
  8. PowerShell说“此系统上的脚本执行被禁用。”
  9. 您如何构造适合于numpy排序的数组?
  10. flink 本地_Flink 01 | 十分钟搭建第一个Flink应用和本地集群