Tag: math

VBA双vs单舍入

在我的MS Excel我有不同的数据types舍入操作的行为: 在单一的情况下: ? Application.Round(6.575!, 2) 6.57 如果是Double: ? Application.Round(6.575#, 2) 6.58 有人知道为什么吗? 更新 : @paxdiablo给了一个很好的答案,所以只是在这里重现它: 在单精度中,6.575是二进制表示中的0 10000001 101001 0011 0011 0011 0011或6.57499980926513671875。 这轮到6.57 在双倍精度中join了更多的0011,它们的重量足以使得数字稍大于6.575(6.57500000000000017763568394003),因此它变为6.58

如何创build一个随机数在Excel中对数正态分布?

如果我想要一组平均数为10,标准偏差为5的数据作为例子。 我可以用这个公式用正态分布来计算它: NORMINV(RAND(), Mean, Stdev) NORMINV(RAND(), 10, 5) 这使得我的数字大概在-5到25之间,频率分布看起来很正常,大多数值都是以平均值为中心。 我怎么能得到一个类似的数字集,但是他们是否遵循一个对数正态分布,一个数字越大,出现概率越低的概率越低。 我想这样做使用Excel没有插件。 我试过了: LOGINV(RAND(), Mean, Stdev) LOGINV(RAND(), 10, 5) 但是这给了我非常大的数字(20的权力等),看起来毫无意义。

Excel求解器:C#中等效的非线性最小二乘法

我正在处理一个基于观测数据报告的表单应用程序。 在开发应用程序之前,使用Excel电子表格与excel求解器一起进行非线性最小二乘回归。 我已经离开了大学一段时间,最终我可能会写一个,我怀疑客户想等几个月,而我想出了一个合适的替代excel的sovler。 所以我的问题是这个。 有没有Excel求解器的非线性最小二乘回归函数的C#等价物? 我观察到的数据和一些初步的猜测基于观察到的数据,所以input不是一个问题。 地狱,甚至所用方程的名称将是一个很好的起点。 我看了alglib,但我不知道哪一个会是适当的。 提前致谢。

为什么.Net和Excel不同意这个math?

我有一些奇怪的行为从一些C#和Excel中… 自己做了math,我相信excel可能会给出正确的答案,但我的math不是很好,所以.Net编译器知道我不知道的东西。 所以我们走吧 以excel表格的forms给出这些数据: total sale val days irr 2431.65 2424.56 21 5.01 irr(cell D2)的公式如下: =ROUND(100 * ((A2 – B2) / B2) * (360 / C2), 2) 当我运行这个C#时,我得到了结果4.97 … var totalIncludingTax = 2431.65M; var saleValue = 2424.56M; var daysRemaining = 21; var result = Math.Round(100.0m * ((totalIncludingTax – saleValue) / saleValue) * (360 / daysRemaining), […]

试图了解这个网页如何使用JavaScript来产生增长率

我的JS甚至math知识都非常有限,所以我转向你。 我在这里使用一个网站来查找尼日利亚各州的人口年增长率。 当你点击一个国家,说Abia,它会给你年增长率。 我试图找出他们用来产生上述增长率的确切公式。 这是包含执行此操作的代码的.js文件。 我相信我们想要的块是这样的: cp.data.computeAnnualChange=function(a,b,c,d){ if(!a||!b)return null;a=this.dateDiffInYears(a,b); return 0<c&&0<a&&0<d?Math.round(1E4*(Math.exp(Math.log(d/c)/a)-1))/100:null}; cp.data.INT_MODE="i"; 一些背景:这个公式应该是从1991年的一个国家的人口和2006年的人口,为您提供年增长率。 我承认第四行的基本方程是几何增长率。 我可以在Excel中做到这一点,但是当我拿到的数字大约是13%时,这是很重要的。 我的最终目标是把它变成我可以在Excel中使用的公式。

Excel RoundUp vs .NET Math.Round

在Excel中, =ROUNDUP(474.872126666666, 2) – > 474.88 在.NET中, Math.Round(474.87212666666666666666666666667, 2, MidpointRounding.ToEven) // 474.87 Math.Round(474.87212666666666666666666666667, 2, MidpointRounding.AwayFromZero) // 474.87 我的客户想要Excel四舍五入的结果,有什么办法,我可以在.NET中获得474.88? 非常感谢

matrixmath与VBA(线性方程组)

我正在寻找一些在Excel的VBA中执行一些matrixmath的帮助。 我读了大量的build议使用Excel工作表的答复,但我希望在VBA代码本身内解决这个问题。 尽pipe我的应用程序要大得多,假设我有一个我需要解决的线性方程组: x1 + x2 = 8 2*x1 + 4*x2 = 100 这可以用简单的matrix公式A * x = B或x = A ^( – 1)* B来解决, A = [1, 1; 2, 4] B = [8; 100] 如果你解决这个问题,你会发现x1 = -34和x2 = 42。就matrix而言,则: X = [-34; 42] 使用Excel的工作表以及它的MMULT和MINVERSE函数使得这一切变得简单,我已经得到了它的工作。 我的问题是我需要做一个VBA函数内的这个计算。 这就是我想要的: Dim A(0 To 1, 0 To 1) As Single […]

Python中的类似Excel的天花板函数?

我知道math.ceil和numpy.ceil ,但他们都缺乏significance参数。 例如在Excel中: =Ceiling(210.63, 0.05) → 210.65 另一方面numpy.ceil和math.ceil: numpy.ceil(210.63) – > 211.0 math.ceil(210.63) – > 211.0 所以,我想知道,有没有类似Excel的解决scheme?

如何在R中复制excel求解器

我用excel解决scheme来解决一个优化问题,我试图在R中复制它。 我发现了许多包如优化,投资回报率等包,但似乎他们都只是把vector作为优化的对象,并允许variables采取任何连续的价值。 在我的情况下,我有一个约束matrix,也需要满足,我的variables只能采取二进制值。 这是我想解决的问题: AD是机器,1-3是任务,第一个matrix中的数字是X机器做Y任务产生的数值。 约束是:AD可以做,只能做一个任务(不能分割); 每个任务可以工作,只能由一台机器工作。 这是我正在使用的代码: par = rep(c(0,1),6) mat <- matrix(c(9,10,11,4,5,10,1,3,5,7,5,4), nrow = 3) fr <- function(x) { y= matrix(x,nrow = 4) sum(mat %*% y) } a = optim(par, fr) 有些问题:我怎样才能优化最大值,看来这个函数默认优化的最小值? 我怎样才能添加约束呢? 我怎样才能限制二元variables?

即使Excel不精确,Excel如何成功地轮询浮动数字?

例如, 这个博客说0.005不是完全是0.005,而是四舍五入得出正确的结果。 我在我的C ++中尝试了各种Round,并且我没有将舍入数字舍去到某些小数位。 例如,Round(x,y)将x舍入为y的倍数。 所以轮(37.785,0.01)应该给你37.79而不是37.78。 我正在重新提出这个问题,要求社区寻求帮助。 问题在于浮点数的不精确性(37,785表示为37.78499999999)。 问题是Excel如何解决这个问题? 在这一轮的解决scheme()在C + +的浮动是不正确的上述问题。