假设:
z = [0.4 0.5 0.75]'
function y = myfunct(x)
y = quad(@sin, 0, x)
我想计算 sin(x) 从 0 到 0.4、0.5 和 0.75 的定积分,使用:
myfunct(z)
但是,Matlab 返回:
??? Error using ==> quad at 70
The limits of integration must be scalars.
如果您有任何建设性的建议,我将不胜感激。
最佳答案
您可以在最新版本的 MATLAB 中使用 arrayfun
函数:
z = [0.4 0.5 0.75]';
y = arrayfun(@(upperLim)(quad(@sin,0,upperLim)),z);
关于Matlab:如何计算函数在多个极限上的定积分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7785314/