这个问题很好地说明了Cody令人沮丧的一面:如果你不知道如何解决一个涉及某种“技巧”的问题,你就完全没有机会学习或改进你的解决方案。我今天花了很多时间来尝试各种解决方法,我认为正确的解决方法包括arrayfun, cellfun或eval。金宝搏官方网站但我无法找到任何可行的解决方案,无论它有多么“丑陋”或“暴力”。我真的很好奇如何做到这一点,因为函数处理显然是我需要提高自己的技能的一个领域。至少对于其他问题,你通常可以想出某种解决方案,然后再去解决另一个问题,然后再回来查看所有“优雅”的解决方案,并希望从中学习。金宝搏官方网站有了这样的问题,这种反馈循环是不可能的。
我同意。我有一个eval解决方案,在我的旧的Matlab版本上工作,但使用eval是被禁止的测试套件。测试套件还检查超过32层的括号,排除了str2func解决方案:(
这是我又爱又恨的问题,在我还是学生的时候,比噩梦还要糟糕。在Matlab Help中搜索关键字‘functions’并查看这里给出的示例后,我能够轻松地解决这个问题。
现在,我和艾伦写评论时的处境一样。
有没有可能得到一句"你赢了,科迪。只要告诉我如何解决它,请在上面加糖。”
一个小提示:功能性
对于任何被这个问题卡住的人,或者想要更多的函数句柄练习的人,我已经创建了一些类似的问题://www.tatmou.com/matlabcentral/cody/problems/581-function-composition, //www.tatmou.com/matlabcentral/cody/problems/582-function-composition-harder, //www.tatmou.com/matlabcentral/cody/problems/583-implement-a-counter
什么是功能性?
我真的被这个问题困住了尽管我设法解决了David Hruska的问题。
@CODY TEAM:我建议当玩家达到1000分时,他会收到一个小丑,他可以用它来解决一个问题;)
@Aurelien Queffurust:我对“功能”的想法是根据电影将“功能”和“空间”结合起来。Function Iterator与这个“new”单词创建非常相似,但在第一种情况下,可以使用str2func等解决方案。金宝搏官方网站我的目的是想一个嵌套的概念。
Ouf !我终于解决了!顺便说一句,我在本期节目中为大家创造了一个潮流://www.tatmou.com/matlabcentral/trendy/plots/862
监视如何为这个问题计算正确的解决方案;)金宝搏官方网站
这是科迪挑战赛中最后一个我完全不知道怎么解决的问题。我刚才跳过了它,这样我可以处理其他问题。我完全迷路了,感觉和艾伦很像。不幸的是,阅读你建议的链接也没有帮助。是否有可能至少提供一个关于如何构造代码的小提示?我想我知道代码应该做什么,但我完全不知道如何构建它。任何帮助都将不胜感激!
别放弃帕斯卡。这个问题一直是每个人的噩梦。你可以在罗兰的博客(http://blogs.mathworks.com/loren/)中找到一些提示。
还是没有进展。我知道这有点突兀,尤其是考虑到这只是一款游戏,但你介意我给你写封邮件解释一下我到目前为止的思维过程吗?
我终于明白了!再次感谢您的帮助:)
嘿,有人能帮我吗?我被Test1和Test5卡住了。为什么在Test1中答案是pi?我认为它应该是50,因为我们将50传递给函数,不管迭代多少次,它都应该返回50。Test5 -为什么是1.6180?我们输入30并迭代一次,因此√(31)是5.5678。剩下的测试对我来说还可以。
我希望在科迪身上看到更多这类问题
花的时间比我想象的要长。
唷!这对于那些不了解函数的人来说是非常困难的,更不用说子函数、函数句柄和嵌套函数了。顺便说一下,这些是我的技巧:)他们说嵌套函数很好,但对我来说最难搞定的是函数句柄!
第一个例子可能有欺骗性,一开始我认为n不是迭代时间,发现黄金比例是根号31,但实际上他们想让你用黄金比例函数迭代1,30次。
´我不相信……我也´t…非常有趣的问题,在纸上很容易做
哇!这是一个很疯狂的问题,在23个基本问题之后,按照这个顺序来做这个挑战。
向那些指出嵌套函数文档的成员喊话。
如果解释得更清楚一点可能会有很大帮助。例如,关于“返回一个标量输出和一个整数n >= 1”的事情是非常令人困惑的。唯一返回的是标量输出。可能您的意思是该函数接受一个标量输入和一个整数n>=1——这实际上是正确的——但这并不清楚。
另外,这些例子可能会误导人,尤其是这个addTen句柄,它的意思并不是“加10”,而是“加1十次”。
不管怎么说,伟大的问题。我看到它被许多人用作引入函数句柄和嵌套函数,包括我自己。
这是艰难的!
对于子函数来说,获得正确的语法(理解它)是很棘手的。争吵的进进出出使他们浑身颤抖。
这是我3年后的新概念。现在要用
我根据下面的例子解决了这个问题:
http://matlab.izmiran.ru/help/techdoc/matlab_prog/ch_fun12.html
有用的挑战! !
我不知道是否有人提到过但是,每个问题都有一个禁用函数的列表吗?
我在自己的Matlab安装上完成了所有的工作,但却没有通过所有的测试,因为我使用了func2str或str2func。
在其他一些问题中,单行解决方案是完美的。它似乎没有遵循任何一致的规则。
这对我来说很困难,因为在遇到这个问题之前,我对MATLAB中的函数句柄一无所知。
我有一个问题,这个代码在我的Matlab上运行得很好。但它报告了“未定义的函数'syms'输入参数类型'char'。”所以我不知道它出了什么问题。谁能帮帮我?
这花了我3天时间,但我又老又慢。
通过、修改、使用并理解Matlab文档中关于嵌套函数的示例。
我的解决方案改编自他们的第二个示例:makefcn.m。
也适用于n = 0。
我认为我需要一个类来保存'fh'和'n',但嵌套函数似乎很神奇。
骗子。:(-)(甚至没有那么短。)
很高兴看到有人尝试递归方法。它可能比迭代选择更大,但在我看来它更优雅。
这太难了!从未使用过函数句柄。我想我永远也不会…
有趣的是,您对嵌套函数的输入和输出使用了相同的变量名。
我该怎么理解呢?以前从没见过这样的代码。
在递归方法中很好地使用了匿名函数。(我在“迭代”方法中使用了嵌套函数。)
嗯,我的版本的Matlab没有这个功能:)
WTF ?
没有人版本的Matlab有这个“函数”。看看https://au.mathworks.com/matlabcentral/cody/problems/1774-free-passes-for-everyone
“迭代的迭代器
为了公平起见,您应该在序言中指出,您不能在代码中使用'eval'命令