找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 639|回复: 8

[讨论]:用excel编程,是否有办法实现循环判断语句?

[复制链接]
发表于 2005-7-1 14:43:05 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
例如:

A1   ←  B1
↓      ↑
A2   →  B2

A1:  =A0
A2:  =f(A1)
B2:  =f(A2)
B1:  =f(B2)
而A1'=f(B1)

如果A1' - A0 < δ,则 A1=A1',否则 A1: =A1',进行下一个循环,直至符合要求后输出数据。

上述循环判断语句在一般的编程中很容易实现,但在excel中因为用了由自身计算得出的结果产生死循环而出错,不知道各位高手有没有办法解决?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2005-7-1 22:42:36 | 显示全部楼层
没有看懂这个数学模型。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-7-4 08:33:59 | 显示全部楼层
楼主说的应该是迭代吧,一般针对一些复杂的函数,因为不能直接确定所求的结果,一般这种逐步代入的方法,让计算得到的结果逐步接近所求的值。
数学模型分析分三步走:
第一,        先令未知数A1等于某一数值(假设值)
第二,        根据假设的数值,代入到相关的函数关系中,计算得到未知数A1的值(计算值)
第三,        核定这个所求的未知数A1(计算值),分析是否满足某一特定条件,若不满足,再将计算得到的A1(计算值)作为假设值,再代入到前面相关的函数关系中,从而计算得到未知数A1的另一个结果,再核对分析,逐步迭代,一直到计算得到的A1值满足某一特定条件。
这种计算,在EXCEL中会导致图示的循环引用的问题,好象不能用EXCEl计算。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-7-18 10:39:41 | 显示全部楼层
一个苯办法,楼主把公式复制多次,利用IF函数计算试试,直到满足条件为止
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-7-19 22:05:04 | 显示全部楼层
直接编程计算就的了。非要搞到这里来。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-7-22 09:28:39 | 显示全部楼层
希望有高手用EXCEL解决这个问题,因为这样的计算非常麻烦,
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-7-22 17:05:14 | 显示全部楼层
excel不能编程吧,我就想搞这个,弄不了,希望高手指教!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-7-24 16:32:19 | 显示全部楼层
建议楼主用一下Excel中的宏:
打开EXCEL -工具-宏-VB编辑器
新建一模块,模块中输入如下代码:
Function Q(A0)
  A=A0
Do
A1 = A
A2 =f(A1)
B2 =f(A2)
B1 =f(B2)
A=f(B1)
Loop Until Abs(A - A1) <= 0.001
A1=A
Q=A1
End Function

注意:
然后在Excel中引用Q函数即可。具体的f函数和δ值自己修改。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-8-28 17:47:25 | 显示全部楼层
真是高手如云啊,学习,学习
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-11-23 04:06 , Processed in 0.196187 second(s), 47 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表