WEB开发网
开发学院软件教学办公软件Excel 用Excel解决经典“鸡兔问题”的五种方法 阅读

用Excel解决经典“鸡兔问题”的五种方法

 2007-05-29 21:43:03 来源:WEB开发网   
核心提示: 设所求矩阵为x,则方程组转化为AX=B,用Excel解决经典“鸡兔问题”的五种方法(5),即,根据如上的数学分析,而是旨在通过多种方法求解,展示Excel的多功能性和解决方式的灵活性,我们可以利用Excel中矩阵函数的独特功能,使用矩阵逆函数MINVERSE对矩阵A求逆

设所求矩阵为x,则方程组转化为AX=B,即

根据如上的数学分析,我们可以利用Excel中矩阵函数的独特功能,使用矩阵逆函数MINVERSE对矩阵A求逆,然后利用矩阵乘函数MMULT对矩阵A的逆矩阵和B矩阵进行乘法运算,得到的结果矩阵就是方程组的解。

具体做法如下(参见图 8):

1. 在A1:B2区域中输入矩阵A的数值,在D1:D2区域中输入矩阵B的数值;

2. 求取A的逆矩阵。选中B4:C5单元格,输入数组公式=MINVERSE(A1:B2),确认时必须按下Ctrl+Shift+Enter组合键;

3. 求取A的逆矩阵和B矩阵的乘积。选中B7:B8单元格,输入数组公式=MMULT(B4:C5,D1:D2),确认时必须按下Ctrl+Shift+Enter组合键;

4. B7、B8单元格的计算结果为23和12,即鸡数为23,兔数为12。

图 8 矩阵函数求解

使用矩阵函数的方法,在本质上是解决数学中的n元一次方程组的问题,具有比较广泛的通用性。

五、 使用VBA编程求解

鸡兔问题也可以编程解决。打开菜单“工具”à“宏”à“Visual Basic编辑器”,选择VBA编辑器的“插入”à“模块”菜单,并输入如下代码:

Sub chickrabbit()

For chick = 1 To 35

For rabbit = 1 To 35

If (chick + rabbit = 35) And (2 * chick + 4 * rabbit = 94) Then

MsgBox "鸡的数量为" & chick & ",兔为" & rabbit

End If

Next rabbit

Next chick

End Sub

编辑完毕后关闭VBA窗口,然后选择“工具”à“宏”,然后执行chickrabbit宏,就会弹出正确答案,如图 9所示。该程序可以做进一步的改进,例如可以改进执行方式、直接调用工作表数据、将输出结果显示在Excel单元格中等等,篇幅所限,不再赘述。

图9

本文分别使用了IF函数试探、双变量模拟运算表、规划求解、矩阵函数和VBA编程等方法对古典鸡兔问题进行求解,目的并不是求解简单数学问题的答案,而是旨在通过多种方法求解,展示Excel的多功能性和解决方式的灵活性,进一步开拓分析问题、解决问题的思路。

上一页  1 2 3 4 5 

Tags:Excel 解决 经典

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接