我有一个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阵列.
我有一些粒子在走廊中移动并具有封闭边界条件的数据.绘制轨迹会产生锯齿形轨迹.

我想知道如何阻止plot()连接点,粒子回到起点.有些东西比如图片的上半部分,但没有"."
我的第一个想法是在numpy数组a[:-1]-a[1:]获得positiv 时找到索引.然后从0到该索引的绘图.但是如何获得第一次出现正元素的指数a[:-1]-a[1:]?也许还有其他一些想法.
我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'],但这也不起作用.
是否有一种简单的方法可以使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字体,那么这将是个问题.
是否有更灵活的方式来关闭十种符号的力量?
我对Java中的局部变量和成员变量有疑问.情况是:有时如果我定义一个局部变量,那么该变量必须被传递到几个级别的方法调用.我经常想,为什么我要为类定义一个成员变量,以便变量在类中的任何位置都可用.类的成员变量就像一个可在类中的任何位置访问的全局变量.
这种情况的最佳做法是什么?或者什么是正确的做法?
如果我将它定义为成员变量,它应该是静态还是非静态变量?
嗨,我将包括谷歌地图到我的网络应用程序,我将使用标记.地图运行完美,问题是我不希望人们出于安全原因能够进行最大缩放.我需要限制缩放,我不知道如何.我不知道如何在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) 我创建了一个圆形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)
有人可以帮我在圆形图像外面创建一个边框吗?
我试图将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是一个复数数组.很抱歉没有提供整个代码(它太大了).
有人可以帮我如何从业务对象中过滤数据吗?
这是我的示例代码:
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"开头的过滤器.我该怎么做呢?
我正在尝试使用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.我也应该得到类别名称.我该如何构建查询?