I have a function:
function y = MJDCall(S, K, t )k=log(K/S);F=@(u) exp(-1i*u*k)*MJDCharacteristic(u-1i/2,t)/(u^2+1/4);y=S-sqrt(S*K)*1/pi*quad(F,0,inf);end
where MDJCharacteristic is the function:
function y = MJDCharacteristic(u,T)mu=evalin('base', 'Params(1)');sigma=evalin('base', 'Params(2)');lambda=evalin('base', 'Params(3)');alpha=evalin('base', 'Params(4)');delta=evalin('base', 'Params(5)');w=-(1/2)*sigma^2-lambda*(exp(alpha+(delta^2)/2)-1);y=exp(1i*u*w*T-(1/2)*mu^2*sigma^2*T+lambda*T*(exp(1i*u*alpha-mu^2*(sigma^2)/2)-1));end
When I call the first function MJDCall(1,2,0.5) I get following message:
>> MJDCall(1,2,0.5)??? Error using ==> mtimesInner matrix dimensions must agree.Error in ==> MJDCall>@(u)exp(-1i*u*k)*C(u-1i/2,T)/(u^2+1/4) at 22F=@(u) exp(-1i*u*k)*C(u-1i/2,T)/(u^2+1/4);Error in ==> quad at 77y = f(x, varargin{:});Error in ==> MJDCall at 24y=quad(F,1,2);
What am I doing wrong???
Best Answer