Salut tous,
désolé pour le titre pourrit mais je ne savais pas trop comment appeler ceci... :p
Voici le contexte de mon probleme :
j'ai un tableau (vector) dont voici les dimensions : tableau{30000,2}.
Dans ce tableau chaque case contient une matrice vector de dimension Nx2 (avec N compris entre 0 et 2000).
On a la première colonne de chaque matrice qui contient des "temps" et la deuxieme 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 (ici le code n'est pas en C++ car je fais des tests sous matlab avant de me lancer en C++) :
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
1°) pourriez vous me dire comment faire en C++ s'il vous plait pour faire l'équivalent de ceci ?
2°) 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