kirin 发表于 2011-11-6 20:16:50

关于quadl积分函数的参数传递问题

在有关参考书中看到quadl积分函数格式为:q = quadl ( fun, a, b, tol, trace, p1, p2, ... ) ,后面的p1、p2是参数,但不知如何运用。
我用的是MatLab 7.0,软件带的 help 里,只介绍quadl格式为 q = quadl ( fun, a, b, tol, trace) ,根本没提参数传递的问题。
在论坛里搜索“quadl 参数”,发现一个类似的求助贴,无回复,账户却早已被删除。这里我把答案写出来,也许新手遇到类似问题时有用。
其实很简单:

假定你定义了一个函数m文件:function y = fun(x);
                                                       ......
然后在主程序里要引用它:A = quadl(@fun,1, 2);(假定1、2是积分上下限)

假如需要改变fun.m函数文件中的参数a、b,可以这样:

在fun.m函数文件中定义:function y = fun(x, a, b);
在主程序中:p1 = ...(赋值);p2 = ...(赋值);
                     A = quadl( @fun,1, 2, [], [], p1, p2 );—— []表示缺省的tol, trace

这样,就把主程序中的p1、p2值传递到fun.m函数文件中去了,并赋给了a, b。

页: [1]
查看完整版本: 关于quadl积分函数的参数传递问题