怎么在Excel2013中使用迭代计算

Excel中的迭代运算,可以解决很多问题,同时,迭代运算也给很多学习新手带来困扰。

  现在,本站给您详细介绍什么是Excel中的迭代运算,如何使用迭代运算。

  一、迭代运算的概念

  所谓的迭代运算,没有什么稀奇的,请大家不要相信所谓的砖家在某些“权威”书籍里面所阐述的观点。

  说得简单点,迭代运算就是递归计算,或者也可以简单的称为循环运算。

  凡是学习过计算机程序设计的,没有不知道递归运算的。

  如果您没学习过递归,那么,本站再给您介绍个简单例子。

  例如解方程f(x)=0,牛顿切线法是这样构造迭代格式的:X(n)=X(n-1)-f[X(n-1)]/f'[X(n-1)](n=1,2,3,……),在所考虑范围内任意取一个值X(1),用上面迭代公式就可以求得X(2),X(3),……,从理论上讲,当n→∞时,得到的就是方程的根,但实际上我们总不能将迭代次数进行到无穷大,需要在某一时刻停止迭代,通常有两种方式来控制迭代次数:

  1、选择迭代次数n,当迭代次数达到n时,停止迭代;

  2、选择精度ε,当|X(n)-X(n-1)|<ε时,停止迭代。

  EXCEL里默认的迭代次数是n=100,精度ε=0.001,在工具→选项里可以自己设置,使求得的结果近似程度更好些。

  二、迭代运算的使用

  比如,您在A1单元格输入一个值10,然后,选择B2单元格,执行菜单操作:“工具”→“选项”,弹出如下图对话框。



  勾√选“迭代计算”,然后输入次数,比如本例的1,还可以设置最大误差。

  好了,以后,确认并退出对话框。

  接着,再选择B1单元格,输入公式:=A1+B1

  大家可能会发问,为什么B1单元格的公式为:=A1+B1,单元格自身调用单元格本身的值,这有悖于常理,一般来说,会弹出公式错误的提示。由于我们在上面已经设置好了迭代运算,所以不会弹出提示。

  您可能明白了吧,单元格本身调用自身的数据进行运算后再把结果拿给单元格本身。这就是迭代运算,也是循环运算。

  下面的内容,将会给出迭代运算的自定义函数代码。

  三、迭代运算的常见问题

  问题:整个表格中任何一个方格数据的更新都会引起B1的迭代更新,即导致B1的数据发生改变。

  原因:Excel的函数和公式都是全局的,不论哪个方格数据的更新,当前表格中所有方格的数据都会重新计算并更新。

  解决方法:把B1的无条件更新改为受限制的.选择B1,输入" =if(cell("address")="$a$1",a1+b1,b1)"。选择B1并向下拖动,可将迭代计算扩展到同列其它行,if函数的参数2和参数3能自动更新,参数1中的"$a$1"因为是字符串,所以不会自动更新,因此需要手动更改,比如第2行为=if(cell("address")="$a$1",a2+b2,b2),将$a$1改为$a$2即可,依此类推。

  注意:

  1.根据函数的限制条件,在A1方格输入数据后,按Enter键或TAB键都可以更新B1,但使用鼠标点其它方格,则B1不能迭代更新。

  2.不要在某一个方格具有输入焦点时点击A1,因为这样会使B1迭代更新。

  四、迭代运算的自定义函数

  以下的函数代码就是迭代运算的函数代码之一。

  Function MyDD(i As Single) As Single

  i = i / 5

  If i < 5 Then

  MyDD = i

  Else

  MyDD = MyDD(i)

  End If

  End Function

  懂得程序设计的人都明白,上述的迭代运算函数代码,其实就是递归代码,换句话说,也是循环代码。 

下面小编展示在Excel2013中具体使用迭代计算方法

  开Excel,在相应的单元格中输入相应的方程。(从图中的Excel的编辑栏可以看到,将A2当做x,在B2单元格中输入与方程对应的计算公式,由于A2默认为0,且公式中有A2做分母,故B2出现错误提示;注:A1,A2单元格时为了理解而设置的,实际情况下可以不需要。)



  输入一个用于迭代的初值。(图中A2单元格输入1后,B2单元格出现了对应的值;注:如果初值为0出现错误提示则无法完成迭代计算,需输入其他值才能迭代计算)



  点击“数据”选项卡,找到“数据工具”组,单击“模拟分析”按钮,在下拉选项中选择“单变量求解”。



  随后弹出下图对话框,在“目标单元格”中输入B2,在“目标值”中输入0(根据具体的情况而定,如果方程尾部为“=2”的形式,则目标值为2),以上两步的意思是告诉Excel求解的方程等式右边的值及其所在单元格的位置,在“可变单元格”中输入A2,目的是告诉Excel变量x的单元格位置。单击确定按钮。



  Excel开始迭代计算,求出相应的解。可以看到当前值并不是0,但与0非常接近(注:迭代求解的最终结果与赋予的初值有关,但都是和真值很接近的,满足工程精度要求)。

(0)

相关推荐

  • 让Excel2013中序号不要变动的小技巧

    在Excel2013中输入数字序号后,每当我们对工作表的行进行插入或删除等修改时,都会使原本好好的序号变得面目全非,看着好痛苦的说。不过你发现了吗?不管我们怎么对工作表的行进行修改,它的行号始终都是不 ...

  • excel技巧 在Excel2013中使用分类汇总功能

    我们常常需要对Excel2013中的某一个字段进行分类,然后将它们汇总,比如说,在学生选修成绩表中,我们大多之前是按照学号来排序的,但后来我们希望对选修的不同科目进行分类汇总,算出平均分或者总分什么的 ...

  • 如何将屏幕截图直接插入到Excel2013中

    将屏幕截图插入到Excel2013中的方法很多,很多人肯定都是用QQ截图将图片截取下来,然后在将图片插入进去。今天我们要来介绍的是一种更加简单快速的方法。 ①启动Excel2013,单击菜单栏--插入 ...

  • Excel2013中如何快速定位空单元格并输入内容?

    很多时候,我们会把Excel2013中具有相同特质的单元格空出来,然后快速填充需要的内容,有可能是相同的内容,也可能是与上一单元格相同的内容。当然,目前为止这只是我们的想法,现在,我们需要解决的问题是 ...

  • Excel2013中如何制作个性图表?

    相信大家都会在Excel2013中插入图表,但你想让自己的图表看起来更有新意,能够在众多图表中脱颖而出吗?小编今天要来讲的就是,如何在Excel2013中制作个性图表。当然了,这是一篇新手和高手皆适用 ...

  • Excel2013中如何使用分类汇总功能?

    我们常常需要对Excel2013中的某一个字段进行分类,然后将它们汇总,比如说,在学生选修成绩表中,我们大多之前是按照学号来排序的,但后来我们希望对选修的不同科目进行分类汇总,算出平均分或者总分什么的 ...

  • Excel2013中怎么让序号不要变动?

    在Excel2013中输入数字序号后,每当我们对工作表的行进行插入或删除等修改时,都会使原本好好的序号变得面目全非,看着好痛苦的说。不过你发现了吗?不管我们怎么对工作表的行进行修改,它的行号始终都是不 ...

  • Excel2013中如何给特定区域单元格加密?

    保密是在任何地方都会或多或少有需要的,Excel中也不例外,在Excel2013中,加密的方式有很多种,今天我们要学习的就是,如何给Excel2013中特定区域的单元格加密。 具体做法如下: 1、用E ...

  • 使用YEAR函数计算Excel2013中两个日期的年数差

    每两个日期都会有一个时间差,在Excel2013中,有可以计算这个差值的函数,今天我们就来学习一下,计算两个日期年数差的函数。 具体操作步骤 用Excel2013打开一篇工作表,我们现在需要在C列中求 ...