Tag: 数学

一组超过2个整数的最大公约数

Stack Overflow上有几个问题讨论如何找到两个值的最大公约数。 一个好的答案显示了一个简洁的递归函数来做到这一点。 但是如何找到一组超过2个整数的GCD? 我似乎无法找到这样的例子。 任何人都可以建议最有效的代码来实现这个function吗? static int GCD(int[] IntegerSet) { // what goes here? }

在c#中将点移动到另一个

我想将二维搜索空间中的某个点移动到具有一些步长的另一个点b(_config.StepSize = 0.03)。 Point a = agent.Location; Point b = agentToMoveToward.Location; //— important double diff = (bX – aX) + (bY – aY); double euclideanNorm = Math.Sqrt(Math.Pow((bX – aX), 2) + Math.Pow((bY – aY), 2)); double offset = _config.StepSize * ( diff / euclideanNorm ); agent.NextLocation = new Point(aX + offset, aY + offset); //— […]

如何计算聚类熵? 一个工作示例或软件代码

我想计算这个示例方案的熵 http://nlp.stanford.edu/IR-book/html/htmledition/evaluation-of-clustering-1.html 任何人都可以用真实的价值观逐步解释吗? 我知道有很多公式,但我真的很难理解公式:) 例如,在给定的图像中,清楚且很好地解释了如何计算纯度 问题很清楚。 我需要一个例子来计算这个聚类方案的熵。 它可以是一步一步的解释。 它可以是C#代码或Phyton代码来计算这样的方案 这里的熵公式 我将用C#编写代码 非常感谢您的帮助 我需要这里给出的答案: https : //stats.stackexchange.com/questions/95731/how-to-calculate-purity

找到包含其他圆圈的最小圆圈?

如果圆圈由其中心的X,Y和半径定义,那么如何找到包含给定圈数的圆? 单个圆圈,是可能的最小圆圈,可完全包含任意大小和位置的2个或更多圆圈。 起初,我尝试通过找到中心的中点并且是新圆的中点来尝试仅包含2个圆,而半径等于2个初始圆的半径的一半和中心之间的距离的一半,但不知何故它总是变得有点偏。 找到半径似乎问题似乎总是存在问题,但我对此感到头疼,我无法使其发挥作用。 我不一定需要一种方法来查找包含3个或更多圆的圆。 我可以找到一个包含2的圆圈,取圆圈并用另一个圆圈包围它,另一个圆圈,最后一个圆圈应包含整个步骤中给出的所有圆圈。

为什么.Net在String.Format中使用与默认Math.Round()算法不一致的舍入算法?

我注意到C#/ .NET中存在以下不一致之处。 我想知道为什么会这样。 Console.WriteLine(“{0,-4:#.0} | {1,-4:#.0}”, 1.04, Math.Round(1.04, 1)); Console.WriteLine(“{0,-4:#.0} | {1,-4:#.0}”, 1.05, Math.Round(1.05, 1)); Console.WriteLine(“{0,-4:#.0} | {1,-4:#.0}”, 1.06, Math.Round(1.06, 1)); Console.WriteLine(“{0,-4:#.0} | {1,-4:#.0}”, 1.14, Math.Round(1.14, 1)); Console.WriteLine(“{0,-4:#.0} | {1,-4:#.0}”, 1.15, Math.Round(1.15, 1)); Console.WriteLine(“{0,-4:#.0} | {1,-4:#.0}”, 1.16, Math.Round(1.16, 1)); Console.WriteLine(); Console.WriteLine(“{0,-4:#.0} | {1,-4:#.0}”, 1.04, Math.Round(1.04, 1, MidpointRounding.AwayFromZero)); Console.WriteLine(“{0,-4:#.0} | {1,-4:#.0}”, 1.05, Math.Round(1.05, 1, MidpointRounding.AwayFromZero)); Console.WriteLine(“{0,-4:#.0} […]

百分位数计算

我想在C# (或某些伪代码)中模仿Excel等效PERCENTILE函数。 我怎样才能做到这一点? 该函数应该采用两个参数,其中第一个是值列表,第二个是函数应该计算的百分位数。 坦克! 编辑:我很抱歉,如果我的问题发生了,就像我没有尝试过我自己。 我只是无法理解excel函数是如何工作的(是的,我首先尝试了维基百科和wolfram)并且我认为如果有人在代码中提出它我会更好理解。 @CodeInChaos给出了一个似乎就是我所追求的答案。

有没有一种很好的方法将int分成两个短裤(.NET)?

我认为这是不可能的,因为Int32有1位符号并且有31位数字信息而Int16有1位符号和15位数字信息,这导致有2位符号和30位信息。 如果这是真的那么我就不能将一个Int32分成两个Int16 。 这是真的? 提前致谢。 附加信息:使用Vb.Net,但我认为我可以毫无问题地翻译C#答案。 我最初想要做的是将一个UInt32转换为两个UInt16因为这是一个与基于WORD的机器交互的库。 然后我意识到Uint不符合CLS,并试图用Int32和Int16做同样的事情。 EVEN WORSE:做a = CType(c And &HFFFF, Int16); 抛出OverflowException 。 我期望该陈述与a = (Int16)(c & 0xffff); (不会抛出exception)。

找到圆圈边缘的坐标

使用C#: 如果我有中心坐标和半径,如何获得任意给定度数的圆边上的(x,y)坐标? 可能有SIN,TAN,COSIN等十年级数学… 🙂

如何在一组大数字中找到平均值?

我有一大堆数字,可能在几千兆字节范围内。 第一个问题是我无法将所有这些存储在内存中。 其次,任何添加这些的尝试都会导致溢出。 我想要使​​用更多的滚动平均值,但它需要准确。 有任何想法吗? 这些都是浮点数。 这不是从数据库中读取的,而是从多个源收集的CSV文件。 它必须准确,因为它存储为秒的一部分(例如; 0.293482888929),滚动平均值可以是.2和.3之间的差值。 它是一组#,表示用户响应某些表单操作的时间。 例如,在显示消息框时,按“确定”或“取消”需要多长时间。 数据发送给我存储为秒。部分秒; 例如1.2347秒。 将它转换为毫秒,我溢出int,long等…相当快。 即使我不转换它,我仍然会很快溢出它。 我想下面的一个答案是正确的,也许我不必100%准确,只是在一个特定的StdDev内部的某个范围内看,我会足够接近。

正弦值性能的计算与查找表?

假设您必须计算域在0.01到360.01之间的正弦(余弦或正切 – 无论如何)。 (使用C#) 什么会更高效? 使用Math.Sin 使用具有预先计算值的查找数组 我会反驳说,鉴于域名,选项2会快得多。 在域精度(0.0000n)的什么时刻,计算的性能超过了查找。