Matlab将输入的数学函数声明为内联,例:龙贝格积分

编写数值分析实验的小程序时,其中一个实验需要输入被积函数,之后使用龙贝格积分法进行数值积分。

一开始使用简单的方法,每次计算函数值时使用,eval(subs(fun,x,1))这种方法,但是计算会的很慢。

百度之后发现可以直接把字符串声明为内联函数,如下:

    fun = input(\'输入被积函数(例如x+1): \', \'s\');
     % 将fun声明为内联函数
    fun = inline(fun);

之后输入积分区间,精度。利用公式不断计算数值定积分即可。

整个程序如下:

%