我需要编写自己的函数,其形式为f(x,y)=Integrate(g(x,y,z),z from 0 to inf)
。 所以我使用的代码是:
function y=f(x,y)
g=@(z)exp(-z.^2)./(z.^x).*(z.^2+y.^2).^(x/2);% as a function of x,y and z
y=quadgk(g,0,inf)
如果我用f(x0,y0)
类的单个值调用它,它就可以工作,但是如果我尝试计算f([1:10],y0)
,则错误消息表明该函数有问题时间和维度。 原则上,我可以使用for循环,但是这样我的代码就会变慢并且要花很长时间。 我能从你们那里得到什么帮助吗? 或参考?
我试图避免for循环,因为在matlab中使用矩阵计算比使用for循环要快得多。 我想知道是否有任何技巧可以利用此功能。
感谢您的任何帮助,
林恩