小编kir*_*off的帖子

Matplotlib 3D绘图 - 输入数据的2D格式?

我正在使用matplotlib绘制两个参数的函数.我在matplotlib教程中复制了一个例子并用我自己的输入数据进行了转换:向量X和Y(在-3:3中等间隔数字)和Z =峰值(X,Y),峰值是我定义为befohand的函数.怎么了?

def peaks(x,y):
   xsq=x**2
   ysq=y**2
   xsq_one=(x+1)**2
   ysq_one=(y+1)**2
   m1=3*(1-x)**2
   m2=10*(x/5-x**3-y**5)
   m3=1/3
   return m1*numpy.exp(-xsq-ysq_one)-m2*numpy.exp(-xsq-ysq)-m3*numpy.exp(-xsq_one-ysq)


from mpl_toolkits.mplot3d import axes3d
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.gca(projection='3d')
X=Y=numpy.arange(-3,3,0.01).tolist()
Z=[]
for i in range(len(X)):
Z.append(peaks(X[i],Y[i]))

ax.plot_surface(X, Y, Z, rstride=8, cstride=8, alpha=0.3)
cset = ax.contour(X, Y, Z, zdir='z', offset=-100)
cset = ax.contour(X, Y, Z, zdir='x', offset=-40)
cset = ax.contour(X, Y, Z, zdir='y', offset=40)

ax.set_xlabel('X')
ax.set_xlim(-40, 40)
ax.set_ylabel('Y')
ax.set_ylim(-40, 40)
ax.set_zlabel('Z')
ax.set_zlim(-100, 100)

plt.show()
Run Code Online (Sandbox Code Playgroud)

谢谢你的建议!

python 3d matplotlib mplot3d

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

c ++ sizeof运算符 - 指向double的指针

我有sizeof运算符(C++)的意外结果.在大班上,我有这些台词

 double * arguments_ = new double();
*arguments_  = 2.1;
*(arguments_+1) = 3.45;
 cout <<  (sizeof arguments_) << ' ' <<  (sizeof arguments_[0]) << ' '<< (sizeof arguments_)/(sizeof arguments_[0]);
Run Code Online (Sandbox Code Playgroud)

这给了我输出4 8 0

双倍大小是8个字节,(sizeof arguments_ [0])= 8.但是,为什么(sizeof arguments_)也不以字节表示(2*8 = 16)?sizeof运算符是否适用

c++ size double sizeof

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

OpenMP不支持中断循环

我正在使用OpenMP优化一些代码.如果NO_VALUE在一个循环中遇到,我希望它能够打破.但是,编译器告诉我openMP不允许这样做.我怎么能处理这个?

#pragma omp parallel
{
     #pragma omp for  reduction(+:functionEvaluation)   schedule(dynamic)   nowait
     for (int j=m_colStart;j<m_colEnd+1;j++)
          {
               double d = command_->execute().toDouble();
               if(d==NO_VALUE)
               {
                    functionEvaluation  = NO_VALUE;
                                                   break;
                }
                else
                {
                    functionEvaluation += d;
                }
                delete command_;
            }
 }
Run Code Online (Sandbox Code Playgroud)

我该怎么办?谢谢!

c++ multithreading openmp multiprocess

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

用于在数组中找到"最大差异"的C++算法

我问你关于这个问题的想法:

我有一个数组A,N个元素类型double(或整数).我想找到一个复杂度小于O(N 2)的算法来查找:

    max A[i] - A[j]
Run Code Online (Sandbox Code Playgroud)

对于1 <j <= i <n.请注意,没有abs().我想到了:

  • 动态编程
  • 二分法,分而治之
  • 在排序跟踪指数后进行一些处理

你有什么意见或想法吗?你能指出一些好的参考资料来训练或进步来解决这样的算法问题吗?

c++ sorting algorithm complexity-theory

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

c ++'保留状态'是什么意思?

我在MSDN页面上阅读了这个解释,了解lambda表达式优于functor和函数指针的优点."保留国家"的能力是什么意思?它是否与通过ref或值封闭范围捕获某些变量的能力有关?

http://msdn.microsoft.com/en-us/library/dd293608.aspx

编写代码时,您可能使用函数指针和函数对象来解决问题并执行计算.函数指针和函数对象都有优点和缺点:函数指针涉及最小的语法开销,但它们不保留范围内的状态; 函数对象可以维护状态,但它们需要类定义的语法开销.

Lambda表达式是一种编程技术,它结合了函数指针和函数对象的优点,并避免了它们的缺点.Lambda表达式是灵活的,可以像函数对象一样维护状态,并且它们的紧凑语法消除了对函数对象所需的类定义的需要.Lambda表达式使您能够编写比等效函数对象更简单且更不容易出错的代码.

以下示例将lambda表达式的使用与函数对象的使用进行比较.第一个示例使用lambda表达式向控制台打印向量对象中的每个元素是偶数还是奇数.第二个示例使用函数对象来完成相同的任务.

你能指出一些关于主题范围,状态,维护状态,lambda表达式优势的相关参考吗?

感谢致敬

c++ lambda state functional-programming

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

条件是JOIN子句中的恶SQL

在JOIN子句或WHERE子句中使用SQL条件更好吗?是否针对这两种方式优化了SQL引擎?它取决于发动机吗?

是否始终可以通过WHERE子句中的条件替换JOIN子句中的条件?

这里举例说明我的意思

SELECT      role_.name
FROM        user_role
INNER JOIN  user ON user_role.user_id_ = user.id AND
                    user_role.user_id_ = @user_id
INNER JOIN  role ON user_role.role_id = role_.id
Run Code Online (Sandbox Code Playgroud)

SELECT      role_.name
FROM        user_role
INNER JOIN  user ON user_role.user_id_ = user.id
INNER JOIN  role ON user_role.role_id = role_.id
WHERE       user.id = @user_id
Run Code Online (Sandbox Code Playgroud)

mysql sql sql-server join

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

在 googletest 中循环测试用例

我想在 googleTest 中循环测试用例。我在这里所说的测试用例是这样的:

TEST_F(AppsTests, test_wkf1) 
{ 
    //...
}
Run Code Online (Sandbox Code Playgroud)

如果我在里面循环TEST_F,它就会崩溃。所以我会循环测试用例,如

foreach(QString s, list)
{
      TEST_F(AppsName, test_i)
      {
           //...
      }
}
Run Code Online (Sandbox Code Playgroud)

我想到了这个解决方法:我在循环的每个循环中执行 aSetUp()和 a TearDown()。但这样做的,我要开始的测试用例TearDown(),并结束它setUp()。这不好。

有没有另一种方法,例如在夹具上方定义一个环境?

c++ testing loops fixtures googletest

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

编译Python,为什么忽略了一些错误的东西?

我写了一个错误的Python例程:false而不是False.但是,在汇编时没有发现它.该程序必须运行到此行以通知错误行为.

为什么会这样?Python解释器/编译器中的东西是如何使它工作的呢?

你有一些参考吗?

python compiler-construction interpreter compilation

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

c ++在if ... else中为const QList赋值

我想const QList根据指针的值为a赋值.

invar是一个指针,如果它是NULL我想要分配第一个值const QList mylist,如果不是NULL,另一个值.但是观察到了正确性:我不打算在mylist之后改变价值.

是否有可能

if(invar)
    const QList<Type> zoneList = invar->getZones();
else
    const QList<Type> zoneList = aList ;
Run Code Online (Sandbox Code Playgroud)

zoneList确切地定义了一次,为什么这不起作用?

另外,正如我zoneList在我的方法的下一部分中使用的那样,我得到了这个编译错误:undeclared identifier.

但我也不允许这样写

    const QList<Type> zoneList ;

    if(invar)
        zoneList = invar->getZones();
    else
        zoneList = NULL ;
Run Code Online (Sandbox Code Playgroud)

我有编译器错误错误1

error C2678: binary '=' : no operator found which takes a left-hand operand of type 'const QList<T>' (or there is no acceptable conversion)  
Run Code Online (Sandbox Code Playgroud)

是否可以根据条件为此const QList分配两个不同的值?那么写它的正确方法是什么?

c++ const const-correctness variable-assignment conditional-statements

3
推荐指数
2
解决办法
1276
查看次数

尝试 - 除了python

我目前正在尝试解析HTML页面.在这样做时,我必须执行

  1. 搜索特定字符串并执行一些步骤.(如果此操作失败,请转到步骤b)
  2. 使用不同的代码搜索特定字符串并执行一些步骤.(如果此操作失败,请转到步骤3)
  3. 使用不同的代码搜索特定字符串并执行一些步骤.

我这样做,我的问题是如果我必须多次尝试,如何指定尝试和除外.

try:   
    #step 1 

except: #   ( not sure what kind of error will execute step2) 
    #step 2

except:
    #step 3
Run Code Online (Sandbox Code Playgroud)

谢谢

python

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