Salut tous,
désolé pour le titre pourrit mais je ne savais pas trop comment appeler ceci...
Voici le contexte de mon probleme :
j'ai un tableau de type CELL dont voici les dimensions : tableau{30000,2}.
Dans ce tableau chaque case contient une matrice de dimension Nx2 (avec N compris entre 0 et 2000).
On a matrice(:,1) qui contient des "temps" et matrice(:,2) qui contient des résultats.
Voici ce que je veux faire :
j'ai une matrice qui s'appel tempsResultat qui contient dans sa première colonne aussi des temps et je voudrais écrire dans la deuxième colonne les résultats qui correspondent à ces temps (que je choppe dans la variable matrice que j'ai donné plus haut).
Le soucis est que les temps de tempsResultat ne sont pas les même que ceux qui se trouvent dans la variable matrice
du coup, le code que j'avais fait ne fonctionne pas :
Ce qu'il faut faire mais que je n'arrive pas :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 for g=1:1:tailleTableau %je stocke ma matrice qui a dans la case {g,1} ds variable %nommée tempsResultats tempsResultats=Tableau{g,1}; %je copie les résultats qui correspondent aux temps qui m'intéressent %dans le fichier texte for m=1:1:length(tempsResultats(:,1)) if (tempsResultats(m,1)==tempsMinteresse(b,1)) fprintf(fidVTK,'%g\n',tempsResultats(m,2)) end end end
En fait ce que j'ai fais plus haut c'est chercher le temps qui m'interesse dans la matrice "tempsResultats" et copier le résutats correspondant dans le fichier texte.
Le probleme de ceci est que ça ne marche que si les temps qui m'interessent se trouvent aussi dans la matrice "tempsResultats" or ce n'est pas toujours le cas pour moi
du coup je ne vois pas trop comment faire de façon un peu prêt optimisée avec les outils standard
je dis de façon un peu pret optimisée car je manipule de très gros matrices/tableau et la seul solution que je vois moi c'est réecrire toutes les matrice en y insérant mes temps qui m'intéressent pui faire une interpolation linéaire et je pourrais ensuite utiliser ce code.
Le soucis de ceci c'est que je vais recopier toutes les matrices et àa va demander un temps très important alors que je suis certain qu'il y a une autre méthode.
=> en fait je pense qu'il faudrait détecter qu'elles sont les valeurs qui encadrent le temps qui m'intéresse et faire direct l'interpolation sans à avoir à recopier toute la matrice...
pourriez vous m'aidez pour faire ceci s'il vous plait ?
merci d'avance
Partager