matlab里面的function的输入参数有函数怎么调用?

这里举个简单的例子
function c=fun(y,a,b)
%%假设这个函数是求函数y在[a,b]区间的积分值。
上面的函数怎么调用啊。
我是这样调用的
syms x;
y=2^x;
aa=fun(y,1,2);

function用来定义函数,一般一个函数放在一个.m文件里。举个简单的例子建立一个myfunction.m,然后在文件中写。
function y=myfunction(a,b)
其中a,b是输入函数的参数,y是函数返回的值。当需要返回多个值时,可以将y看作一个数组,或者直接将函数的开头写成如function [x,y]=myfunction(x,y)的形式。
然后就是定义函数的内容,通俗的说就是怎样由输入参数a,b得到返回值y。比如最简单的y=a+b。

总结一下,将下面的代码
function y=myfunction(a,b)
y=a+b;
保存为一个m文件myfunction.m,调用方式如下。
num=myfunction(3,4);
这样就可以由函数中的y=a+b得到num的值是3+4=7。
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-09-25
个人感觉:如果要求一个函数在区间[a,b]上的积分,不应该这样定义函数
你是有什么特殊要求?
应该是在函数体里定义函数,然后在主程序里调用函数
例如:
函数:
function y=fun(x)
y=2.^x;
保存后
在主程序里调用:
aa=quadl('fun',a,b);才对呀。
怎么感觉怪怪的,可能编程思想不一样。追问

其实我那样调用好像是没错的;
没错我的求积分函数确实很特殊,是高斯勒让德积分求积分值~~

追答

我就说嘛,我也没说错,函数是可以任意定义的
可是你的函数体里并没有定义输出宗量的形式呀,就是说你定义的函数是什么形式呢?

像你说的这样,貌似主程序的调用也没什么大问题
要不把你的问题整个拿出来吧。

本回答被提问者和网友采纳
第2个回答  2012-12-13
就是这样调用的。
相似回答