小编tia*_*ago的帖子

使用numpy/scipy从3D数组计算iso-surface

我有一个3D numpy数组,其中包含给定函数的值.我想计算一个2D等值面,或一组代表该函数某些值的等值面.

在这种特定情况下,column = myarray[i, j, :]可以独立地处理3D阵列的每个1D列().所以我想知道的是最后一个索引位置(2D数组),其中函数等于某个值,比方说myvalue.

一些(慢)代码举例说明:

# myarray = 3D ndarray
import numpy as np
from scipy import interpolate

result = np.zeros(nx, ny)
z_values = np.arange(nz)

for i in range(nx):
    for j in range(ny):
        f = interpolate.interp1d(my_array[i, j], z_values)
        result[i, j] = f(myvalue)
Run Code Online (Sandbox Code Playgroud)

我知道这可以加快np.ndenumerate一些技巧和其他技巧,但是想知道是否已经有一种更简单的方法来做这种等表面.我找不到任何东西ndimage或其他图书馆.我知道mayavi2和vtk有很多工具来处理iso-surface,但我的目标不是可视化 - 我想对那些iso-surface值进行计算,而不是显示它们.另外,vtk的许多等面方法似乎涉及多边形等,而我需要的只是每个等值面值的2D阵列.

python numpy scipy

4
推荐指数
1
解决办法
4097
查看次数

绘制周期性轨迹

我有一些粒子在走廊中移动并具有封闭边界条件的数据.绘制轨迹会产生锯齿形轨迹. 在此输入图像描述

我想知道如何阻止plot()连接点,粒子回到起点.有些东西比如图片的上半部分,但没有"."

我的第一个想法是在numpy数组a[:-1]-a[1:]获得positiv 时找到索引.然后从0到该索引的绘图.但是如何获得第一次出现正元素的指数a[:-1]-a[1:]?也许还有其他一些想法.

python numpy matplotlib

4
推荐指数
1
解决办法
2709
查看次数

在Cython中按名称调用cdef函数

cdef在Cython中有一堆函数,由文件中的def函数调用pyx,例如:

cdef inline void myfunc_c(...):
    (...)
    return

def wrapper(...):
    myfunc_c(...)
    return
Run Code Online (Sandbox Code Playgroud)

这很好用.但为了简化不必为每个cdef函数都有一个python包装器,我试图cdef通过名称索引函数,或者通过将它们分配给字典或类似的东西:

def wrapper(operation):
    if operation == 'my_func':
        func = myfunc_c
    func(...)
    return
Run Code Online (Sandbox Code Playgroud)

但这不起作用.Cython抱怨说它不知道它的类型myfunc_c.

有没有办法cpdef按名称索引或调用函数(例如使用字符串)?我也尝试了类似的东西locals()['myfunc_c'],但这也不起作用.

python cython

3
推荐指数
1
解决办法
736
查看次数

Matplotlib:在日志图中禁用10的幂

是否有一种简单的方法可以使matplotlib在日志图中不显示10的幂,而只是显示数字?即,而不是[10^1, 10^2, 10^3]显示[10, 100, 1000]?我不想改变tickmark位置,只想摆脱十的权力.

这就是我目前拥有的: 在此输入图像描述

我可以通过自己更改标签xticks,但是我会得到y刻度标签不匹配的字体或大小.我在本文中使用TeX.我尝试过以下方法:

xx, locs = xticks()
ll = [r'\rm{%s}' % str(a) for a in xx]
xticks(xx, ll)
Run Code Online (Sandbox Code Playgroud)

这给出了以下结果: 在此输入图像描述

在这种特殊情况下,我可以使用相同的LaTeX罗马字体,但尺寸和外观与y轴上的不同.另外,如果我在matplotlib中使用了不同的LaTeX字体,那么这将是个问题.

是否有更灵活的方式来关闭十种符号的力量?

python matplotlib

2
推荐指数
1
解决办法
1979
查看次数

Java中的局部变量或成员变量

我对Java中的局部变量和成员变量有疑问.情况是:有时如果我定义一个局部变量,那么该变量必须被传递到几个级别的方法调用.我经常想,为什么我要为类定义一个成员变量,以便变量在类中的任何位置都可用.类的成员变量就像一个可在类中的任何位置访问的全局变量.

  1. 这种情况的最佳做法是什么?或者什么是正确的做法?

  2. 如果我将它定义为成员变量,它应该是静态还是非静态变量?

java global-variables local member-variables

2
推荐指数
1
解决办法
3369
查看次数

限制缩放谷歌地图

嗨,我将包括谷歌地图到我的网络应用程序,我将使用标记.地图运行完美,问题是我不希望人们出于安全原因能够进行最大缩放.我需要限制缩放,我不知道如何.我不知道如何在javascript中执行此操作,任何人都可以帮忙吗?

这是我使用的脚本:

<script type="text/javascript">
 var locations = [    
  ['<b>Location:</b> England<br /><br /><b>Product:</b> ISIS Professional (1D)<br /><br /><b>Managing tidal flood risk</b>', 51.5171, 0.1062, 1] ];

var map = new google.maps.Map(document.getElementById('map'), {


      center: new google.maps.LatLng(47.754097979680026, 15.1171875),
      zoom: 2,
      mapTypeControl: true,
      draggable: true,
      scaleControl: false,
      scrollwheel: false,
      zoomControl: true,
      navigationControl: false,
      streetViewControl: true,
      mapTypeId: google.maps.MapTypeId.ROADMAP
    });

    var image = 'img/pointer.png';
    var infowindow = new google.maps.InfoWindow();
    var marker, i;
    for (i = 0; i < locations.length; i++) {  
      marker = new google.maps.Marker({
        position: new …
Run Code Online (Sandbox Code Playgroud)

javascript google-maps-api-3

2
推荐指数
1
解决办法
6878
查看次数

在圆形ImageView外部创建边框

我创建了一个圆形ImageView,但我需要在图像外添加边框.

这是代码:

Bitmap circleBitmap = Bitmap.createBitmap(100, 100, Bitmap.Config.ARGB_8888);   
BitmapShader shader = new BitmapShader (bitmap,  TileMode.CLAMP, TileMode.CLAMP);

Paint paint = new Paint();
paint.setShader(shader);
paint.setAntiAlias(true);
paint.setFilterBitmap(true);
paint.setDither(true);      
paint.setColor(Color.parseColor("#BAB399"));

Canvas c = new Canvas(circleBitmap);        
c.drawARGB(0, 0, 0, 0);
c.drawCircle(50, 40,40, paint);
Run Code Online (Sandbox Code Playgroud)

有人可以帮我在圆形图像外面创建一个边框吗?

android border android-imageview

1
推荐指数
1
解决办法
8674
查看次数

Python中的矩阵赋值

我试图将Matlab代码转换为Python,当我转换一行时我遇到了问题.我是对还是不对?我不知道如何在Python中进行分配.

Matlab的:

 for j=1:a
     diff_a=zeros(1,4);
     diff_b=zeros(1,4);
     for i=1:4
         diff_a(i)=abs(ssa(j)-check(i));
         diff_b(i)=abs(ssb(j)-check(i));
     end
     [Y_a,I_a]=min(diff_a);
 end
Run Code Online (Sandbox Code Playgroud)

蟒蛇:

for j in arange(0,a):
    diff_a=zeros(4)
    diff_b=zeros(4)
    for i in arange(0,4):
        diff_a[i]=abs(ssa[j]-check[i])
        diff_b[i]=abs(ssb[j]-check[i])
    [Y_a,I_a]=min(diff_a)
Run Code Online (Sandbox Code Playgroud)

最后一行给出了这个错误:

TypeError:'numpy.float64'对象不可迭代

问题出在最后一行.diff_a是一个复数数组.很抱歉没有提供整个代码(它太大了).

python matlab numpy

1
推荐指数
1
解决办法
198
查看次数

将过滤器应用于业务对象

有人可以帮我如何从业务对象中过滤数据吗?

这是我的示例代码:

var allemps = empService.GetAllEmployees();
IEnumerable<Emp> emps;
if (allemps.IsFreeOfErrors)
{
       emps = allemps.Value.Contains("abc");
}
Run Code Online (Sandbox Code Playgroud)

这里allemps.Value是返回所有员工数据.但我想过滤emps其名称以"abc"开头的过滤器.我该怎么做呢?

c#

-2
推荐指数
1
解决办法
74
查看次数

正则表达式不以字符A或空格开头

我试过这个:^-|^(^(\W|A).) 从破折号开始或者不是以空格或A开头.但它不起作用,任何想法为什么?

regex

-2
推荐指数
2
解决办法
1万
查看次数

带连接的简单mysql查询

我正在尝试使用2个表,类别和产品构建查询:

分类

catid
parentid
categoryname
description

catid   parentid categoryname
=============================
39      0       MyCatName1
=============================
43      39      MyCatName2
=============================
40      0       MyCatName3
=============================
41      0       MyCatName4
=============================
42      39      MyCatName5
Run Code Online (Sandbox Code Playgroud)

制品

productid   
catid   
productname     
shortdescription    
description
Run Code Online (Sandbox Code Playgroud)

我想从products父表id为39 的表中获取所有产品,但正如您所看到的,catid表中没有父项products.我也应该得到类别名称.我该如何构建查询?

mysql join

-6
推荐指数
1
解决办法
50
查看次数