Мне нужно написать свою собственную функцию, которая имеет вид 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, поскольку в matlab гораздо быстрее использовать матричные вычисления, чем использовать для цикла. Интересно, есть ли какая-нибудь хитрость, чтобы я мог воспользоваться этой функцией?
Спасибо за любую помощь заранее,
Lynn