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

比如有一个function [a,b]=example(c,d,e...)....
还有一个function a=example(f,g,h.....)......
请问这个比如example里的输入参数C可不可以是另一个function(比如说example2)?。。。

可以,比如你将第二个的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=这个也不算了。。。这个表示这一点的函数值
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-09-06
好像 不能吧,你可以这样写,不过matlab会把这个输入当字符串 而不会真的去运行example2
例如你有function [a,b]=example(c,d,e...)
有function a=example2(f,g,h.....)
你可以写[a,b]=example(example2,d,e...)
但有可能会出错,example2在这里就变成了原来的c,只是一个变量,不是example2这个函数本身
第2个回答  2011-09-07
可以啊,比如ode45之类的都可以以函数作为参数,传入参数的时候前面要加上@
老版本的matlab是用函数名传入参数的
func(@example) func('example')
你看看对应函数的代码就理解了

matlab中,怎么样用function自定义函数调用另一个函数名为输入?
test定义两个参数,一个是函数,一个是函数的变量。function [z]=test11(funname,x)z=funname(x);调用方式如下 test11(@bestU,2)

matlab如何输入一个数值等于另外一个数值?
1、首先在电脑上打开matlab,在命令行窗口中输入“help input”,可以看到关于input函数的使用方法。2、接着在命令行窗口中输入“ input('请输入内容:')”,按回车键。3、按回车键之后,输入123456,可以看到得到值为123456。4、输入 t=input('请输入内容:','s'),按回车键,如下图所示。5、输...

Matlab怎样把一个函数调用另外一个函数
打开matlab2012b,点击【newscript】,进入m文件编辑区。先点击【New】,再在下拉选项中选择【script】。进入m文件编辑区,文件默认名为:Untitled,即:未命名的。在编辑区窗口定义要创建的函数。将两个m文件放在同一目录。在第一个m文件里面直接输入第二个m文件的文件名即可(后缀名不要)。在matlab一般...

matlab 一个函数是另一个函数的累加 比如s(x)=∑(f(i)-x)^2 其中i=...
function sum = s(x)sum = 0;for i = 1:10 % 循环变量根据需要改吧 sum = sum + (f(i) - x)^2;end end

matlabfunction函数的用法
为function [输出变量] = 函数名称(输入变量)。function用来定义函数,一般一个函数放在一个.m文件里。举个简单的例子建立一个myfunction.m,然后在文件中写。function y=myfunction(a,b)其中a,b是输入函数的参数,y是函数返回的值。当需要返回多个值时,可以将y看作一个数组。或者直接将函数的开头...

Matlab怎样把一个函数调用另外一个函数
Matlab中一个函数调用另外一个函数的操作方法方法一:主函数调用子函数首先在Matlab中新建一个m文件函数Untitled2(),Untitled2()为主函数,然后在函数下方添加一个子函数count(i),主函数中调用子函数,代码如下:%主函数function[sum]=Untitled2()i=10;sum=count(i);end%子函数function[sum]=count(...

matlab用input让用户输入一函数f(x)后,怎么把他变成matlab里面的function...
用input(‘...','s')以字符串方式输入,然后用inline转换为函数:>> s=input('输入函数表达式:f(x)=','s');输入函数表达式:f(x)=3*x+2>> f=inline(s);>> f(1)ans = 5

matlab中怎样让一个函数调用另一个函数的的变量?
最简单的办法是把那个变量设置成全局变量 global a;%先声明 a = ...%再赋值

用matlab如何做一个变量关于另一个变量的曲线
令r\/R=x;做的图要求以(2R-2r)\/r为横坐标,以v的值为纵坐标 即横坐标 2(1\/x-1)x=0.1:0.01:0.9;v=pi\/4*x.^2;xx=2*(1.\/x-1);plot(xx,v)

matlab编程中函数有两个变量固定一个对另一个求导求最值的问题!
用匿名函数,举例: 设已定义函数fun(x,y),则定义 f2=󰀀@(x)fun(x,10);然后f2就是一个单变量函数了。

相似回答