变量互相引用怎么办?
mathcad吧
全部回复
仅看楼主
level 4
batteryli 楼主
帮看下这个问题呀,计算结果中两个变更互相引用,怎么办。
这是文件,MC14版本的。
下面是截图:
2014年11月04日 01点11分 1
level 4
batteryli 楼主
2014年11月04日 01点11分 2
[泪]
2014年11月04日 02点11分
level 4
batteryli 楼主
[泪]
2014年11月04日 09点11分 3
level 12
我觉得这个可以做为MC吧的下一个思考题,有点儿难度哈。
2014年11月04日 10点11分 4
看看楼下对不对
2014年11月04日 12点11分
level 11
看看对不对
链接: [无效] http://pan.baidu.com/s/1eQqy8Zg 密码: 2un2
2014年11月04日 12点11分 5
多谢你提供的文档,这结果完全被你实现了,以我的智商加帮助文档还勉强能看的懂,再学习下。[哈哈]
2014年11月05日 08点11分
level 12
我就会用最蠢的法子,其实这道题用数组索引的操作的话看上去会更简洁的,不过都会发生遍历,所以尽管我的这个法子蠢,但运行时间上和索引操作的时间一样。这道题用递归也能做,而且看上去也比我这个简洁,但可能因为大量的布尔判断,在运行时间上差点儿意思。
2014年11月04日 12点11分 6
好同步。
2014年11月04日 12点11分
多谢剑客,我照着抄了一遍,竟然说该值必须为标量,现在还在看呢。[啊]
2014年11月05日 08点11分
level 15
2014年11月04日 12点11分 7
看起来就这么简短,但我只能远观,不可近得岩,多谢了。[真棒]
2014年11月05日 08点11分
level 12
其实楼主做的很不错了,只不过是自己没有把思路梳理清楚,或者说被这个相互引用的样子给吓到了。看了我上面的那个式子,你也能看出来,我只是把你的想法用个程序板写了一遍而已。MC的编程,关键是数学思路,其他的就是自己怎么想的就怎么写程序罢了,没什么莫名其妙的地方。
2014年11月04日 12点11分 8
我就是有很弱的数学思路呢,脑袋直来直去,得训练一下脑袋急转弯之类的[太开心]
2014年11月05日 08点11分
level 12
这集体的凝聚力真让我感动[乖]
2014年11月04日 12点11分 9
[彩虹]
2014年11月05日 08点11分
[乖]
2014年11月05日 08点11分
[彩虹]
2014年11月05日 09点11分
level 15
关于本题的进一步思考:
楼主的这道题用程序板是很容易实现的:
但是,用同样的算法,分步计算就无法实现:
如果把程序板写成如下形式,也无法通过:
为什么呢?
因为t[a和T[a需要同步互相调用。要计算t[a ,必须先计算出t[a-1和T[a-1 ;而要计算出T[a ,必须先计算出t[a 。
两个变量相互制约。同一个变量,把对应于a的各个值一下计算出来,行不通。用a 的值分步计算,在程序板中可以实现,但是同时一步计算t[a和T[a ,也行不通。
那么,不用程序板,就不能计算了吗?
事实上,仔细观察t[a和T[a的相互关系,把算式改写一下,就可以顺利地计算出t[a和T[a的值:
注意,这里用不着T[0的值。
这样一来,不存在相互调用数值的问题,计算起来就容易了。
这里有一个问题:
如果不给出t[0:=0的值,而是直接写成下式,却通不过。
如果改写成下式,就能通过了:
这说明,t[a的值域一定要和a的值域保持一致。
2014年11月06日 07点11分 10
t[a中的算式的a的值域,一定要和给出的a:=的值域保持一致。
2014年11月06日 07点11分
level 15
分步计算的T[a的数值后移,这里的T[a的值是楼主原题中的T[a-1的值。所以,应该做如下更正。注意a的值域也变了。
2014年11月06日 08点11分 11
level 12
嗯,月城的这个探讨,使这个帖子有含金量了。:)
2014年11月06日 08点11分 12
[真棒],你们都很强。脑筋转的很快。[委屈]
2014年11月06日 10点11分
level 15
不是谁强不强的问题,我也是新手,学MC也不到一年,正在跟其他老师学习着。能到这个吧里来的至少都有所需的数学基础。关键是不要动不动就问别人。要自己多练习,多琢磨,多看吧里的旧帖。不要怕失败。大不了死机,重启就是了。
最大的代价就是时间。
2014年11月06日 11点11分 13
level 11
所以说电脑只能帮助人计算而不能代替人脑思考。
2014年11月06日 11点11分 14
angelycs老师:您的帖子中有很多有价值的内容,值得我学习。
2014年11月06日 11点11分
回复 月城公寓寓公 :[啊]这称呼折煞我也,你们是MC吧的前辈,明明是我一直在偷偷地跟你们学习,至今还没看懂分形的算法呢。
2014年11月06日 11点11分
回复 angelycs :寸有所长,尺有所短。谁都有自己的不足之处。所以,学习是相互的。互相学习。就拿楼主的这个帖子来说,我花了一天的时间来琢磨,颇有收获。既帮了楼主,也是向楼主学习。不然,用几行语句就过去了。不会多想。
2014年11月06日 12点11分
回复 月城公寓寓公 :对啊,多交流!
2014年11月06日 12点11分
level 12
哦,我不是这么想的,可能是因为有了管理员的身份?不清楚,我是感觉MC吧的吧规我在首页置顶了,就那么三条:
提问或发表成果时多科普,上传工作表,翻旧帖看help。很难做到么?到任何一个百度贴吧都要先看看置顶的吧规,这已经不是秘密了吧?孔子曰:入门问讳。咱们多少也算是小学毕业了的,怎么这个道理都不懂了呢?
2014年11月06日 12点11分 15
呵呵,每一个问题的背后,都是焦头烂额的思考和无可奈何的求助。多谢剑客们的热心相助。[太开心]
2014年11月08日 01点11分
1