matlab 中quadl函数调用
函数调用过程N=quadl(@func1,xf,xd,[],[],sp,xd,R);%精馏段理论板数N%函数定义functionf=func2(x,sp,xw,R1)%定...
函数调用过程N = quadl(@func1,xf,xd,[],[],sp,xd,R); % 精馏段理论板数N
%函数定义
function f = func2(x,sp,xw,R1) % 定义被积函数(提馏段)
y = fnval(sp,x);
f = 1./(y-x-(y-xw)/R1);
函数定义过程中有x、sp、xd、R 为什么quadl在调用时只向func中输入了sp、xd、R三个参数? 展开
%函数定义
function f = func2(x,sp,xw,R1) % 定义被积函数(提馏段)
y = fnval(sp,x);
f = 1./(y-x-(y-xw)/R1);
函数定义过程中有x、sp、xd、R 为什么quadl在调用时只向func中输入了sp、xd、R三个参数? 展开
1个回答
展开全部
类似quadl这类函数被称为“函数的函数”,也就是说,其输入参数本身是函数(可以是函数句柄,如本例的func1,也可以是函数名)。
quadl这类函数的运行过程中,会调用作为输入参数的那个函数(func1),而后者的第一个输入参数由quadl内部来提供。例如,进行积分时,需要根据一定的规则调整积分步长,产生不同的x来调用func1,直到满足误差要求。
而func1后面的那几个参数(sp、xd、R)称为附加参数(additional arguments),quadl函数本身不对这些参数做任何处理,只是原封不动地将其传递给func1。传递附加参数的做法早期主要靠这种方式,在7.0之后的版本中,更多的使用匿名函数或嵌套函数的机制实现附加参数的传递。
quadl这类函数的运行过程中,会调用作为输入参数的那个函数(func1),而后者的第一个输入参数由quadl内部来提供。例如,进行积分时,需要根据一定的规则调整积分步长,产生不同的x来调用func1,直到满足误差要求。
而func1后面的那几个参数(sp、xd、R)称为附加参数(additional arguments),quadl函数本身不对这些参数做任何处理,只是原封不动地将其传递给func1。传递附加参数的做法早期主要靠这种方式,在7.0之后的版本中,更多的使用匿名函数或嵌套函数的机制实现附加参数的传递。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询