我正在寻找一个简单的(伪)代码,用于对采样的音频信号进行频谱反转.理想情况下是C++
代码应支持不同的采样率(16/32/48KHz).
我面临以下问题:
给定的
目标:
笔记:
我的问题:
已知的相关问题:
在GraphDB平台(Neo4j,OrientDB,FlockDB,HyperGraphDB ......)中,可以定义节点之间的关系.
我需要定义方向关系,以便关系根据其方向具有不同的名称.
例如:
Parent(A,B) := Sibling(B,A).
Run Code Online (Sandbox Code Playgroud)
然后,我想使用术语和方向遍历或查询图表.
当然,我不想定义两个关系,而只需要一个.
有时我甚至想使用非方向名称,例如:
Call(A,B) := Answer(B,A);
TalkWith(A,B) := Call(A,B) || Call(B,A)
Run Code Online (Sandbox Code Playgroud)
并使用定向或间接遍历/查询
例如,我可能想问:
Get any X that TalkWith(A,X))
Run Code Online (Sandbox Code Playgroud)
要么
Get any X that Call(A,X))
Run Code Online (Sandbox Code Playgroud)
要么
Get any X that Answer(A,X))
Run Code Online (Sandbox Code Playgroud)
哪些现有的GraphDB平台支持它?
在矩形内生成随机点(均匀)
这假设是一个简单的问题.
但是,在RANDOM_DATA主页中,我发现了以下注释:
但是,如果我们将随机值(u1,u2)天真地缩放为(A*u1,B*),我们将无法在非等边[0,A] x [0,B]的矩形的简单情况下实现均匀分布. U2).在这种情况下,宽的短区域的预期点密度将不同于窄的高区域的预期点密度.如果绘制点,则没有均匀性是最明显的.
我发现它很奇怪......我无法弄清楚为什么这种缩放会影响均匀性.
我错过了什么?
编辑:
谢谢Patrick87和missingno.我正在寻找声明的理论原因.我现在明白,原因不是理论上的,而是实际的 - 浮点值的粒度.
如果我将在0和1之间生成两个统一的浮点(由于浮点值表示的性质,这本身就是个问题.在这里查看算法) - 粒度将受到限制.
假设在0和1之间存在X个不同的值.通过缩放(u1,u2)到(u1,2*u2),我们将在[0,u1]范围内具有X个不同的值,并且在范围内具有X个不同的值[ 0,2*U2.对于面积均匀性,[0,2*u2]中的不同值应比[0,u1]中的两倍多.
鉴于此,请允许我更改我的问题:
我应该如何在矩形内生成随机点(按区域均匀分布)?
给定3D笛卡尔空间中的一组点,我正在寻找一种算法来对这些点进行排序,这样两个连续点之间的最小欧几里德距离将最大化.
如果算法倾向于最大化连续点之间的平均欧几里德距离也将是有益的.
编辑:
我已经在https://cstheory.stackexchange.com/上进行了交叉,并得到了一个很好的答案.请参阅https://cstheory.stackexchange.com/questions/8609/sorting-points-such-that-the-minimal-euclidean-distance-between-consecutive-poin.
我正在寻找一种方法来确定是否存在方程的解,例如: 3n1 + 4n2 + 5n3 = 456,其中n1,n2,n3是正整数.
或者更一般:是零或正整数n1,n2,n3 ......解决方程k1n1 + k2n2 + k3n3 ... = m其中k1,k2,k3 ......和m是已知的正整数.
我不需要找到解决方案 - 只是为了确定是否存在解决方案.
编辑:
关于这个算法的实际使用:
在通信库中,我想在处理消息之前根据其大小决定给定消息是否有效.例如:我知道消息包含零个或多个3字节元素,零个或多个4字节元素和零个或多个5个字节元素.我收到了456字节的消息,我想在进一步检查其内容之前确定其有效性.当然,消息的标题包含每种类型的元素数量,但我想通过传递类似的东西在通信库级别进行第一次检查pair<MsgType,vector<3,4,5>>.
我给出了n个整数; 包括正值和负值.从该列表中找到m个整数的好算法是什么,这样m个整数之和的绝对值是最小的?
我对GraphDB的基本要求:
目前我取消了以下资格:
我不确定以下的可扩展性:
我发现有关水平可扩展性功能的可用信息非常普遍.我想这有充分的理由.
任何信息,将不胜感激.
现在我们知道Concepts不是C++ 0x的一部分,我正在寻找对模板函数中的类型施加限制的方法.
这是两个例子:
如果我们想确保给定的类型是整数,我们可以使用:
template <class N> inline int f(const N n)
{
if ((N)0.1 != 0) // if type of N is floating-point
err()
....
}
Run Code Online (Sandbox Code Playgroud)
如果我们想确保给定类型是无符号整数,我们可以使用:
template <class N> inline int f(const N n)
{
if ((N)-1 < (N)1) // if type of N is floating-point / signed-integer
err()
....
}
Run Code Online (Sandbox Code Playgroud)
我正在寻找创造性的方法来检查额外的限制,这些限制会导致运行时失败,或者更好,在编译时(没有概念和没有RTTI).
有什么建议?