为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

元芳怎么了 2019-02-04 10:06:54
比如有一个function [a,b]=example(c,d,e...)....还有一个function a=example(f,g,h.....)......请问这个比如example里的输入参数C可不可以是另一个function(比如说example2)?。。。
查看完整描述

2 回答

?
鸿蒙传说

TA贡献1865条经验 获得超7个赞

可以,比如你将第二个的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=这个也不算了。。。这个表示这一点的函数值



查看完整回答
反对 回复 2019-03-14
?
SMILET

TA贡献1796条经验 获得超4个赞

好像 不能吧,你可以这样写,不过matlab会把这个输入当字符串 而不会真的去运行example2
例如你有function [a,b]=example(c,d,e...)
有function a=example2(f,g,h.....)
你可以写[a,b]=example(example2,d,e...)
但有可能会出错,example2在这里就变成了原来的c,只是一个变量,不是example2这个函数本身

查看完整回答
反对 回复 2019-03-14
  • 2 回答
  • 0 关注
  • 1726 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信