我在 Matlab 中递归地实现自适应辛普森方法。我希望存储进行函数评估的所有点,以便在积分后生成直方图。我目前有:
function [S, points] = adsimp(f, a, b, fv, tol, level, points)
...
d = (a+b)*0.25;
e = (a+b)*0.75;
points = [points, d, e];
...
因此,对于每个函数调用,我将长度增加points
2。我对Matlab的函数输入/输出方案的理解很差。我想知道:
1)当输入和输出共享一个变量名时,这是使用单个变量,还是制作本地副本然后返回?
2)如果是副本,有没有办法points
通过引用传递并预先分配足够的内存?