Info

La pregunta está cerrada. Vuélvala a abrir para editarla o responderla.

Indexing problem for matrix

1 visualización (últimos 30 días)
Dam
Dam el 10 de En. de 2014
Cerrada: MATLAB Answer Bot el 20 de Ag. de 2021
Good morning , i have a question related to indexing for the following
S=100;
T=1;
sig=[0.05:0.01:0.45];
m=0.07;
t=1/252;
E_T=0;
in=S*ones(1,41)%41 size sig;
while E_T < T -10^(-5)
E_T=E_T+t;
sig=[0.05:0.01:0.45];
Multip = exp((m-sig.^2/2)*t+sig.*sqrt(t).*randn(1,1));
S = S.*Multip;
in=[in S];
end
in=vec2mat(in,41,253);
i try to use more than 1 random number ex:randn(3,1) or (1,3) and then put the results for each value of sig in one raw (or colomn) Thank you in advance Best regards

Respuestas (1)

Azzi Abdelmalek
Azzi Abdelmalek el 10 de En. de 2014
S=100;
T=1;
sig=[0.05:0.01:0.45];
m=0.07;
t=1/252;
E_T=0;
in=S*ones(3,41)%41 size sig;
while E_T < T -10^(-5)
E_T=E_T+t;
sig=[0.05:0.01:0.45];
Multip = bsxfun(@times,exp((m-sig.^2/2)*t+sig.*sqrt(t))',randn(1,3))';
S = S.*Multip;
in=[in S];
end
  2 comentarios
Dam
Dam el 10 de En. de 2014
Thank you for your answer , but it is apparently not generating the results I want as for Multip equation it is simply Multip= exp((m- sig^2/2)*t+sig*sqrt(t)*randn) So the random number is inside the exponentail and it is first mutiplied by sig*sqrt(t) only
Dam
Dam el 10 de En. de 2014
Editada: Dam el 10 de En. de 2014
Actually it is bsxfun(@times what i needed ... I used it differntly and it works now: A = (ones(3,1)*((m-sig.^2/2)*t)) B=bsxfun(@times, sig.*sqrt(t),randn(3,1)); Multip=exp(A+B); Thank you

La pregunta está cerrada.

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by