我正在使用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)
谢谢你的建议!
我有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运算符是否适用
我正在使用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)
我该怎么办?谢谢!
我问你关于这个问题的想法:
我有一个数组A,N个元素类型double(或整数).我想找到一个复杂度小于O(N 2)的算法来查找:
max A[i] - A[j]
Run Code Online (Sandbox Code Playgroud)
对于1 <j <= i <n.请注意,没有abs().我想到了:
你有什么意见或想法吗?你能指出一些好的参考资料来训练或进步来解决这样的算法问题吗?
我在MSDN页面上阅读了这个解释,了解lambda表达式优于functor和函数指针的优点."保留国家"的能力是什么意思?它是否与通过ref或值封闭范围捕获某些变量的能力有关?
http://msdn.microsoft.com/en-us/library/dd293608.aspx
编写代码时,您可能使用函数指针和函数对象来解决问题并执行计算.函数指针和函数对象都有优点和缺点:函数指针涉及最小的语法开销,但它们不保留范围内的状态; 函数对象可以维护状态,但它们需要类定义的语法开销.
Lambda表达式是一种编程技术,它结合了函数指针和函数对象的优点,并避免了它们的缺点.Lambda表达式是灵活的,可以像函数对象一样维护状态,并且它们的紧凑语法消除了对函数对象所需的类定义的需要.Lambda表达式使您能够编写比等效函数对象更简单且更不容易出错的代码.
以下示例将lambda表达式的使用与函数对象的使用进行比较.第一个示例使用lambda表达式向控制台打印向量对象中的每个元素是偶数还是奇数.第二个示例使用函数对象来完成相同的任务.
你能指出一些关于主题范围,状态,维护状态,lambda表达式优势的相关参考吗?
感谢致敬
在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) 我想在 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()。这不好。
有没有另一种方法,例如在夹具上方定义一个环境?
我写了一个错误的Python例程:false而不是False.但是,在汇编时没有发现它.该程序必须运行到此行以通知错误行为.
为什么会这样?Python解释器/编译器中的东西是如何使它工作的呢?
你有一些参考吗?
我想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
我目前正在尝试解析HTML页面.在这样做时,我必须执行
我这样做,我的问题是如果我必须多次尝试,如何指定尝试和除外.
try:
#step 1
except: # ( not sure what kind of error will execute step2)
#step 2
except:
#step 3
Run Code Online (Sandbox Code Playgroud)
谢谢
c++ ×6
python ×3
3d ×1
algorithm ×1
compilation ×1
const ×1
double ×1
fixtures ×1
googletest ×1
interpreter ×1
join ×1
lambda ×1
loops ×1
matplotlib ×1
mplot3d ×1
multiprocess ×1
mysql ×1
openmp ×1
size ×1
sizeof ×1
sorting ×1
sql ×1
sql-server ×1
state ×1
testing ×1