Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1909 connectés 

  FORUM HardWare.fr
  Programmation
  Algo

  Traduction de [IDL] en [Matlab] d'un petit programme

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Traduction de [IDL] en [Matlab] d'un petit programme

n°1819671
newenda
Posté le 01-12-2008 à 00:47:05  profilanswer
 

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
********************************************************************

mood
Publicité
Posté le 01-12-2008 à 00:47:05  profilanswer
 

n°1819696
Elmoricq
Modérateur
Posté le 01-12-2008 à 07:23:14  profilanswer
 

Tu bloques sur quoi exactement ?

n°1820055
newenda
Posté le 01-12-2008 à 17:30:18  profilanswer
 

- la boucle (genre le -1 DO BEGIN)
- le :  S[c,l]+=  (dans la boucle)
- le S=FLTARR (100,100) , ça je pense que c'est pour faire une matrice identité de 100 par 100 mais pourquoi la crée alors que normalement une boucle de 0 à 100 comme cela semble indiqué, marcherais aussi toute seule..
 
Voilà, merci


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Algo

  Traduction de [IDL] en [Matlab] d'un petit programme

 

Sujets relatifs
Besoin de votre aide pour la réalisation d'un programmeDesign fluide : Petit souci
Programme de TriQuestionnement sur Matlab
Mini programme avec bouclespetit programme batch
[Delphi]Saisir une chaine de caractères dans un programme extérieuraide pour un programme JAVA (débutante)
[RCH] une personne pour nous aider dans le programme ciel association 
Plus de sujets relatifs à : Traduction de [IDL] en [Matlab] d'un petit programme


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR