Matlab 如何实现分段数值积分?
在Matlab中有没有办法缩短这个函数,或者有没有内置函数可以代替这个?以下函数适用于我,但我想将其从脚本中排除Matlab 如何实现分段数值积分?,matlab,integrate,Matlab,Integrate,在Matlab中有没有办法缩短这个函数,或者有没有内置函数可以代替这个?以下函数适用于我,但我想将其从脚本中排除 function p = nintegrate(x, fx) acc = 0; for i = 1:length(x)-1 p(i) = acc; delta_x = x(i+1) - x(i); acc = acc + delta_x * fx(i); end end 看一看,哪个做了
function p = nintegrate(x, fx)
acc = 0;
for i = 1:length(x)-1
p(i) = acc;
delta_x = x(i+1) - x(i);
acc = acc + delta_x * fx(i);
end
end
看一看,哪个做了类似的事情。它使用了,这是一种稍微好一点的数值积分方法。在您的情况下,应未经测试:
acc = cumtrapz(x, fx);
看一看,哪个做了类似的事情。它使用了,这是一种稍微好一点的数值积分方法。在您的情况下,应未经测试:
acc = cumtrapz(x, fx);
@如果您需要更高的精度,您可以使用Dyin。@如果您需要更高的精度,您可以使用Dyin。