小编Lio*_*gan的帖子

平均角度...再次

我想计算一组角度的平均值,它代表源轴承(0到360度) - (类似于风向)

我知道之前已经讨论过(好几次).接受的答案是从角度计算单位向量并取其平均值的角度.

然而,这个答案以非直观的方式定义了平均值.平均0,0和90将是atan((sin(0)+ sin(0)+ sin(90))/(cos(0)+ cos(0)+ cos(90)))= atan(1/2)= 26.56度

我希望0,0和90的平均值为30度.

所以我认为再问这个问题是公平的:你如何计算平均值,所以这些例子将给出直观的预期答案.

编辑2014:

在提出这个问题后,我发布了一篇关于CodeProject的文章,该文章提供了全面的分析.本文探讨了以下参考问题:

  • 给出2000年美国每次出生的时间[00:00-24:00] - 计算平均出生时间
  • 给定从固定发射器到固定接收器的多方向测量,使用具有包裹的正态分布误差的测量技术 - 估计方向.
  • 给定由两个点之间的多方位角估计,由"普通"人类(假设受到包裹的截断的正态分布误差) - 估计方向.

algorithm math geometry

18
推荐指数
2
解决办法
7403
查看次数

图数据库:TinkerPop/Blueprints与W3C关联数据

寻找网络分析的基础架构异构(多节点类型(多模),多刃型(多关系)和多描述的功能(功能多))网络,我注意到,有两种标准栈图形数据库世界:

一方面,我们有ThinkPop/Blueprint 属性图模型.它得到了Neo4j,OrientDB GraphDB,Dex,Titan,InfiniteGraph等的支持.

Tinkerpop堆栈包括Blueprint属性图模型接口,Gremlin图遍历语言和Furnace图算法包.

另一方面,我们拥有W3C的关联数据技术堆栈,AllegroGraph,4store,Oracle数据库语义技术,OWLIM,SYSTap BigData等提供支持.

语义数据使用RDF/RDFS/OWL表示,并且可以使用SPARQL查询.最重要的是它提供规则推理功能.

现在,假设我想在图形数据库中表示异构数据,并分析这些数据(统计数据,关系发现,结构,演变等),(我知道这些术语广泛和模糊) - 什么是各自的相对优势模型用于各种类型的网络分析任务?这两个模型相互补充吗?

semantic-web graph-databases

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

为什么构建同一个项目会为每个开发人员生成不同的EXE文件

我和我的团队正在开发一个VC++ 6项目.我们都使用相同的代码库(使用版本控制系统),据我们所知,所有编译器/链接器/环境设置(包括包含目录顺序)完全相同.当然,我们使用相同的VC++版本和相同的服务包(VC6 SP6).

问题是我们每个人构建的EXE有点不同.

我知道每次在同一台计算机上构建EXE时,文件中有3个位置,链接器存储时间戳.我不是在谈论这些差异.

虽然我们的EXE文件长度完全相同,但是当我们比较EXE时,有1000个不同的字节.其中许多字节的值相差0x20.

任何想法可能是什么原因?

编辑:调试版本(实际上,我们没有检查发布).

编辑:差异在二进制部分,而不是文本字符串.

编辑:所有开发人员使用相同的驱动器/文件夹名称,源和产品.

c++ windows linker visual-c++ binary-reproducibility

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

给定一个排序数组,我们可以构建一个O(n ^ 2)中所有对的总和的排序数组吗?

给定一个排序的整数数组,我们可以构建一个O(n ^ 2)中所有对的总和的排序数组吗?

一个简单的解决方案是在O(n ^ 2)中构建和数组,然后在O(n ^ 2(log(n ^ 2))= O(n ^ 2 logn)时间内对其进行排序.

另一个解决方案是在O(n ^ 2)中构建n个排序的n个数组 - 在O(n ^ 2 logn)时间内合并它们(例如参见这里).

我们可以做得更好吗?

sorting algorithm

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

为什么这段代码会编译?

昨晚,太累了,我写了这条奇怪的路线:

::TerminateThread(::TerminateThread, 0);
Run Code Online (Sandbox Code Playgroud)

令我惊讶的是,编译器没有抱怨(它甚至运行...)

由于TerminateThread()被定义为

BOOL WINAPI TerminateThread(HANDLE hThread, DWORD dwExitCode);
Run Code Online (Sandbox Code Playgroud)

我不知道为什么我能编译它.

任何解释?

c++ winapi compilation visual-studio-2008

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

如何触发访问冲突异常

有时错误可能导致内存访问冲突异常.

这个异常究竟是如何触发的?幕后有什么机制?

它是否需要来自CPU(从哪个CPU开始?)/从OS(从什么版本开始?)/从编译器(从什么版本开始?)的支持

编辑:

我想要更好地理解的一个特定场景:

以下代码可能会导致访问冲突异常.

TCHAR* czXXX= _T("ABCDEFG");
czXXX[0]= 'A';
Run Code Online (Sandbox Code Playgroud)

我猜czXXX指向一个只读内存块,但究竟发生了什么?

c++ windows compiler-construction cpu visual-c++

7
推荐指数
2
解决办法
6690
查看次数

给定平面上的加权点,找到U平方的位置,使得总封闭权重最大化

我遇到了以下问题:

特定

  • 欧几里德平面上的一组点,每个点P(x,y,w)具有坐标和相关的正权重.
  • 一组U正方形,都具有相同的大小长度L.

目标:

  • 为方块分配(找到位置),使得包含在所有方块内的总点重量最大化.

笔记:

  • 方块应该是轴平行的
  • 方块可能重叠,但封闭的重量不会超过一次.

我正在寻找一个最佳的任务.

我的问题:

  • 这是一个已知的问题(它有一个名字吗?它之前是否已被探索过?).
  • 任何想法如何处理它?

(我可能会提到我尝试了什么.因为我正在寻找最佳分配,我的启发式思想并不真正相关.此时我不知道如何找到最佳分配).

algorithm computational-geometry

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

在任务关键型/生命关键型软件中使用动态分配

在任务关键型/生命关键型系统中使用动态分配是否安全,还是应该避免?

c++

6
推荐指数
2
解决办法
841
查看次数

基于随机比特流生成随机浮点值

给定随机源(随机比特流的生成器),如何在给定范围内生成均匀分布的随机浮点值?

假设我的随机源看起来像:

unsigned int GetRandomBits(char* pBuf, int nLen);
Run Code Online (Sandbox Code Playgroud)

我想实施

double GetRandomVal(double fMin, double fMax);
Run Code Online (Sandbox Code Playgroud)

笔记:

  • 我不希望限制结果精度(例如只有5位数).
  • 严格的统一分配是必须的
  • 我不是要求提供对现有库的引用.我想知道如何从头开始实现它.
  • 对于伪代码/代码,C++将是最受欢迎的

c++ random algorithm

6
推荐指数
2
解决办法
2133
查看次数

快速变化检测算法

我正在记录房间的温度值,将它们保存到数据库中.当温度突然升高时,我想得到警报.我不能设定固定值,因为冬天可接受18°C,夏季可接受25°C.但如果它在20°C到25°C之间跳跃,比方说,30分钟并保持这样5分钟(以消除错误的读数),我想得到通知.

我目前的想法是从最近30分钟(A)读取读数并从最后5分钟读取(B),计算A和B的中位数,并检查它们之间的差异是否小于我想要的阈值.

这是解决这个问题的正确方法吗?还是有更好的算法?我搜索了一个特定的,但大多数似乎过于复杂.

谢谢!

algorithm math time-series

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