MATLAB 函数的一个输入变量是另一个函数

比如有一个function[a,b]=example(c,d,e...)....还有一个functiona=example(f,g,h.....)......请问这个比如... 比如有一个function [a,b]=example(c,d,e...)....
还有一个function a=example(f,g,h.....)......
请问这个比如example里的输入参数C可不可以是另一个function(比如说example2)?。。。
展开
 我来答
雨後的小灰灰c990c
2011-09-07 · TA获得超过158个赞
知道答主
回答量:336
采纳率:0%
帮助的人:160万
展开全部
可以,比如你将第二个的function a=example(f,g,h.....)......
输入给function [a,b]=example(c,d,e...)....
的c,只需要,再第二个变形成
function [a,b]=example(a,d,e...)....
是的简单的将第一个函数值赋值给c,就这个意思

还有另一种情况的函数里面带入函数,即句柄
比如现在我们定义h=@sin,现在h可以当sin用了
比如h(pi/6)=sin(pi/6)
然后,,,将h带入另一个函数,比如
cos(h(pi/6))
或者带入某些特定函数,要求特定格式的函数
比如fminsearch
这个函数是用来求某一个多元函数,在某一个点附近的最小值及最小值所在的点的x值
比如f(x)=x1+x2
现在我们求这个函数在(0,0)附近的最小值及最小值所在的点的x值
用法是(特定格式)
[x,fval]=fminsearch(@(x) f(x) [0,0]) 表示求这个函数f(x)以x为自变量 ,在点(0,0)附近的最小值及最小值所在的点的x值
运行结果是
x=这个就不算了,,,
fval=这个也不算了。。。这个表示这一点的函数值
百度网友e3fe9be
2011-09-06 · TA获得超过1911个赞
知道小有建树答主
回答量:1516
采纳率:0%
帮助的人:1044万
展开全部
好像 不能吧,你可以这样写,不过matlab会把这个输入当字符串 而不会真的去运行example2
例如你有function [a,b]=example(c,d,e...)
有function a=example2(f,g,h.....)
你可以写[a,b]=example(example2,d,e...)
但有可能会出错,example2在这里就变成了原来的c,只是一个变量,不是example2这个函数本身
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友d580670
2011-09-07 · TA获得超过1983个赞
知道大有可为答主
回答量:2054
采纳率:82%
帮助的人:700万
展开全部
可以啊,比如ode45之类的都可以以函数作为参数,传入参数的时候前面要加上@
老版本的matlab是用函数名传入参数的
func(@example) func('example')
你看看对应函数的代码就理解了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式