我刚开始玩SymPy,我对它的一些行为感到有些惊讶,例如这不是我期望的结果:
>>> import sympy as s
>>> (-1)**s.I == s.E**(-1* s.pi)
False
>>> s.I**s.I == s.exp(-s.pi/2)
False
Run Code Online (Sandbox Code Playgroud)
为什么这些返回False并且有没有办法让它从一种复杂数字转换为另一种方式?
要度过一个漫长的周末....我正在尝试创建一个DispatchTimer.我找到了一些示例代码但由于缺少命名空间而无法运行它.
我有命名空间,System.Windows.Threading,但我可以在哪个程序集中找到它?我试过System,System.Windows ... nada.
谢谢!
是否可以使用Coldfusion 8从PDF文件创建缩略图?(给定页面的缩略图,默认为第1页)
我已经从http://www.tramontana.co.hu/wix/更改了wix教程代码以制作我自己的安装程序.
运行安装程序来设置我的应用程序时没有问题.但当我再次运行安装程序时,一个窗口跳出来说"已经安装了此产品的另一个版本......"
但是在示例中,在安装程序后运行安装程序时,应该有一个维护模式,"更改,修复或删除安装"对话框.
我正在使用WixUI_Mondo,我认为它自动提供维护模式,任何想法如何启动它?
假设我有一个名为test的类对象.
测试有各种方法,其中一种是().
我有一个名为method ="whatever"的变量
如何使用带有test的变量访问该方法?
谢谢!
正如我在Java中的Thinking中所读到的,
接口和内部类提供了更复杂的方法来组织和控制系统中的对象.例如,C++不包含这样的机制,尽管聪明的程序员可以模拟它们.
C++程序员是否真的熟悉java拥有的功能,例如接口和约束它们自己不会越过边界,例如在模拟接口中包含非静态最终(非常量)数据成员?
这些特性是Java为开发软件提供了自然的方式.那么,如果C++程序员可以,他们应该像Java程序员一样编码和思考?
编辑:我知道每个编程语言都有自己的特点,它的应用领域和编程语言的设计正在进行权衡.但我想知道的是java引入的例子界面是否是更好的方法来帮助/强制程序员思考彻底并产生良好的类设计?所以C++程序员想模拟其中的一些功能?
谢谢.
替代文字http://i49.tinypic.com/343r8ki.jpg
目标是重新排列瓷砖,使它们出现在自然位置.您一次只能滑动一个图块.拼图的每个可能状态是搜索图中的节点.
对于h(x)函数,我在所有图块中使用了图块与目标状态的错位的总和.在上面的图像中,5位于位置0,0,它属于位置1,0,因此它对h(x)函数贡献1.下一个区块是11,位于0,1,属于2,2,因此它对h(x)贡献3.等等.编辑:我现在明白这就是他们所谓的"曼哈顿距离",或" 出租车距离 ".
我一直在使用g(x)的步数.在我的实现中,对于状态图中的任何节点,g只是来自先前节点g的+1.
为了找到连续的节点,我只是检查在哪里可以移动拼图中的"洞".显示的拼图状态(aka节点)有3个邻居:洞可以向北,向西或向东移动.
我的A*搜索有时会收敛到20s,有时是180s的解决方案,有时根本不收敛(等待10分钟或更长时间).我认为我是合理的.我想知道我是否正确地模拟了g.换句话说,我的A*函数是否可能通过不是最短路径的路径到达图中的节点?
也许我没有等待足够长的时间?也许10分钟不够长?
对于完全随机的安排,(假设没有奇偶校验问题),A*解决方案将检查的平均排列数是多少?(请显示数学)
我将在我的代码中查找逻辑错误,但在此期间,任何提示?
(ps:它是用Javascript完成的).
另外,不,这不是CompSci的功课.这只是个人探索的事情.我只是想学习Javascript.
编辑:我发现运行时间高度依赖于启发式.我从有人提到的文章中看到了10x因子应用于启发式,它让我想知道 - 为什么10x?为何线性?因为这是在javascript中完成的,所以我可以修改代码以使用当前正在考虑的节点动态更新html表.这允许我在算法进展时查看算法.使用常规的出租车距离启发式,我看到它没有收敛.
排在前排有5个和12个,他们一直闲逛.我看到1,2,3,4爬进了最上面的一行,但随后它们会退出,其他数字会向上移动.我希望看到的是1,2,3,4爬到顶部,然后呆在那里.
我心想 - 这不是我亲自解决这个问题的方式.手动执行此操作,我解决了顶行,然后是2ne行,然后是第3行和第4行.
所以我调整了h(x)函数来对更高的行和"lefter"列进行更大的权重.结果是A*收敛得更快.它现在运行3分钟而不是"无限期".通过我所谈到的"偷看",我可以看到较小的数字爬到更高的行并留在那里.这不仅是正确的事情,它运行得更快.
我正在尝试一系列变化.很明显,A*运行时对启发式非常敏感.目前我发现的最佳启发式使用了dislocation * ((4-i) + (4-j))i和j是行和列的总和 ,而位错是出租车距离.
我得到的结果的一个有趣的部分:使用特定的启发式,我很快找到了一条路径,但它显然不是最短的路径.我认为这是因为我正在加权启发式.在一个案例中,我在10s内获得了178步的路径.我自己的手动努力产生了87个动作的解决方案.(超过10秒).更多的调查需要保证.
所以结果是我看到它收敛必须更快,并且路径绝对不是最短的.我不得不考虑更多.
码:
var stop = false;
function Astar(start, goal, callback) {
// start and goal are nodes in the graph, represented by
// an array of 16 ints. The goal is: [1,2,3,...14,15,0]
// Zero represents the hole.
// callback is a …Run Code Online (Sandbox Code Playgroud) 我目前正在阅读"编程:使用C++的原理和实践",在第4章中有一个练习,其中:
我需要使用Sieve of Eratosthenes算法制作一个程序来计算1到100之间的素数.
这是我提出的计划:
#include <vector>
#include <iostream>
using namespace std;
//finds prime numbers using Sieve of Eratosthenes algorithm
vector<int> calc_primes(const int max);
int main()
{
const int max = 100;
vector<int> primes = calc_primes(max);
for(int i = 0; i < primes.size(); i++)
{
if(primes[i] != 0)
cout<<primes[i]<<endl;
}
return 0;
}
vector<int> calc_primes(const int max)
{
vector<int> primes;
for(int i = 2; i < max; i++)
{
primes.push_back(i);
}
for(int i = 0; i …Run Code Online (Sandbox Code Playgroud) 是否可以仅使用HTTP来使用Google Maps API路由器?像http://maps.google.com?from=blah?to=blah这样的东西
并让它返回某种代表方向的XML或JSON吗?
domA.style.display ="none"; domA.style.display ="block;
我在图书馆找不到这样的功能,但我猜他们必须在某个地方找到它.