Bonjour,
Voilà j'ai un problème sous matlab qui nécessite cette résolution. J'aimerais donc une aide pour tranformer le programme suivant (qui est en IDL) en code matlab. Ces deux langages sont surement très proches mais je bloque, c'est bête.
Merci d'avance,
********************************************************************
d_obs = TRANSPOSE([3.12, 3.26, 2.98, 3.12, 2.84, 2.98])
data_cov = DIAG_MATRIX(REPLICATE(.1^2, 6))
m_prior = TRANSPOSE([4, 15.5])
prior_cov = DIAG_MATRIX(REPLICATE(10.^2, 2))
S = FLTARR(100, 100)
FOR l = 0, 100 - 1 DO BEGIN
y = l / 5.
FOR c = 0, 100 - 1 DO BEGIN
x = c / 5.
S[c, l] = 1./2. * (TRANSPOSE(seismic_direct([x, y]) - d_obs) ## $
INVERT(data_cov) ## (seismic_direct([x, y]) - d_obs))
S[c, l]+= 1./2. * (TRANSPOSE([[x], [y]] - m_prior) ## $
INVERT(prior_cov) ## ([[x], [y]] - m_prior))
ENDFOR
ENDFOR
distribution = EXP(- S)
END
********************************************************************
avec la fonction seism_direct :
********************************************************************
FUNCTION seismic_direct, m
x = [3., 3., 4., 4., 5., 5.]
y = [15., 16., 15., 16., 15., 16.]
v = 5
RETURN, TRANSPOSE(SQRT((m[0] - x)^2 + (m[1] - y)^2) / v)
END
********************************************************************