matlab中,怎么样用function自定义函数调用另一个函数名为输入?

function[y]=bestU(x)y=cos(5*x)-sin(3*x)+10;end意思就是我先这样定义一个函数,然后我定义另一个函数function[z]=te... function [y]=bestU(x)
y=cos(5*x)-sin(3*x)+10;
end
意思就是我先这样定义一个函数,然后我定义另一个函数
function [z]=test11(funname)
像是直接通过z=bestU(1)就可以得到值了,现在我想用funname来替代bestU,以使得我可以选择更多的函数进行计算,但是试了很多方法都不行,看到网上说用eval可以,但试了半天也不行,求老师们帮忙一下!
PS:也就是说下面我们这样调用h=test(bestU)就可以得到我们想要的值了。我试了N遍,一直提醒我变量x没定义。。。。找了半天找不到错在什么地方。
展开
 我来答
真greatdju
2013-07-20 · TA获得超过3856个赞
知道小有建树答主
回答量:1300
采纳率:91%
帮助的人:746万
展开全部
test定义两个参数,一个是函数,一个是函数的变量。
function [z]=test11(funname,x)
z=funname(x);

调用方式如下
test11(@bestU,2)
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
雨扬振1238
2013-07-20 · TA获得超过2782个赞
知道小有建树答主
回答量:586
采纳率:100%
帮助的人:977万
展开全部
调用h=test(bestU)时你并没有定义x的值。至少应该用h=test(bestU(1))吧
追问
关键是test11这个函数的输入我把他定义为函数名,这个函数名funname我在调用函数时就直接输入bestU,而为什么不写成bestU(1),是因为我这里只是打比方,那个bestU函数的x值,要在我这个test11函数中才能算出来。求大神您想一想,我知道一个方法是用字符串连接eval,但是我试了很久都无果。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
丢失记忆的小
2013-07-20
知道答主
回答量:6
采纳率:0%
帮助的人:8647
展开全部
建立M文件,然后在主窗口中直接调用!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
天渡飞舟
2013-07-20 · TA获得超过1166个赞
知道小有建树答主
回答量:233
采纳率:33%
帮助的人:163万
展开全部
用Matlab的人,别再百度里问问题,到相关的技术论坛上去问吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式