Excel - 如何解决这个问题:(暂时关闭)

时间:2015-01-31 13:19:32

标签: excel

我有这样的公式: 新x = 2x + a(我使用的公式更复杂) 这种情况一直持续下去,我需要知道应该重复多少次公式以获得特定结果。 x和a的起始值由用户在单元格中定义。

For a finite number, I attempted to do like this:
a=  1           
x=  9   0       
=[2*cell reference to upper cell+cell reference to 1 (freezed)] 1       10
Drag down... 2
...          3 etc.
Result = 10
=vlookup(cellreferenceto10,table,TRUE)

问题是我没有正确获得vlookup的结果 我需要一个无限的数字(不只是10或1000)

(需要在leas 10 rep发布图片:()

http://i.stack.imgur.com/amAU5.png

http://i.stack.imgur.com/xSYt7.png

1 个答案:

答案 0 :(得分:1)

计算机无法计入无穷大。

Excel不适合您。

如果您可以用数学术语陈述您的问题,您可以将其复杂性降低到可以在Excel中显示结果的程度。

如果您在解决数学问题时遇到http://www.wolframalpha.com/的一些实验。也许你可以在那里简化你的解决方案。

您的代码可能非常慢,因此在vba函数开始时转换输出通常是个好主意。 (并在结束时再次打开输出。)

您也不能使用Excel单元格来构建递归函数,因为您需要vba,或者除了excel之外的其他工具。


编辑:

看起来你正在尝试进行金融数学。如果是这样,请选择一个these函数。

关于您原来的问题:

  • X(0)= a
  • X(1)= k * X(0)+ a =(k + 1)a
  • X(2)= k * X(2)+ a =(k²+ k + 1)a
  • X(3)= k * X(3)+ a =(k³+k²+ k + 1)a

你的号码爆炸了,但我认为唯一被打破的是你的查询。我会尝试模拟这个并再次编辑。


编辑: 取自以下评论:  X(n + 1)=(X(n)-1)²/(4 X(n)(X(n)2 + a X(n)+ 1))

我不想深入了解这背后的数学,我不确定这会模拟什么。 Mathadvise可以在另一个exchange找到。询问是否有某种方法可以减少这种情况可能是明智的,这样你就可以摆脱递归。

然而,在对此进行建模时,您必须确保除数从不为0.要做到这一点,您需要避免a和X(n)组合的某些区域。这是wolframalpha再次派上用场的地方。


编辑: 由于存在发生错误的起始条件,因此我将拆分除法并携带错误。以下是我将如何实现这一点的示例:

DemoExcelImplementation