Salut, chers tous
svp j'ai une préoccupation:
J'ai utilisé la fonction préprogrammé ode15s ([t,Y] = ode15s(@f,[500 10^5],Y0);) pour la résolution d'équations différentielles (de type raide) de la forme dY/dt=f(x,t);
J'ai donc obtenu une matrice Y de dimension 450x450, et j'aimerai juste extraire quelques colonnes significatives (par exemple Y(:,5); Y(:,17), Y(:,39), Y(:,73); Y(:,279) et Y(:,426)) pour inscrire dans un nouveau fichier avec la variable temps t.
Mon problème: j'aimerai écrire dans un même fichier les couples (t, Y(:,i)), i=5, 17, ...,426 de sorte d'obtenir des vecteurs colonnes facilement exploitables.
j'ai utilisé la syntaxemais j'obtiens plutôt un fichier dans lequel les valeurs se suivent et ne sont pas rangées en colonnes comme je le souhaite!
Code : Sélectionner tout - Visualiser dans une fenêtre à part fprintf(nomdufichierdesortie, '%f\n', t, Y(:,5), t, Y(:,17), t, Y(:,39), t, Y(:,73), t, Y(:,279), t, Y(:,426));
j'ai essayé d'autres syntaxes en changeant même l'extension du fichier de sortie, mais toujours rien. Merci de m'aider!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 fidCTA4 = fopen('TestCsvCta.txt', 'w'); fidCTA44 = fopen('TestCsvCta_2.csv', 'w'); fidCTA5 = fopen('TestDatCta.csv', 'w'); %fidCTA6 = fopen('TestXlsxCta.xlsx', 'w'); fidCTA6 = fopen('TestXlsxCta.xls', 'w'); fidCTA7 = fopen('TestTxtCta.txt', 'w'); fprintf(fidCTA5, '%i\n', t', Y(:,5*n+3)); %fprintf(fidCTA4, '%i\n', t); %fprintf(fidCTA4, '%f\v', Y(:,5*n+2)); fprintf(fidCTA4, '%f\n', t); fprintf(fidCTA44, '%f\n %f\n', [t Y(:,5*n+7)]); fprintf(fidCTA6, '%f\n', t, Y(:,5), t, Y(:,17), t, Y(:,39), t, Y(:,73), t, Y(:,279), t, Y(:,426)); fprintf(fidCTA7, '%f\v', Y(:,5*n+2), Y(:,5*n+5), Y(:,5*n+7)); fprintf(fidCTA7, '%f\v', t); fprintf(fidCTA7, '%f\v', Y(:,5*n+2)); fprintf(fidCTA7, '%f\v', t); fprintf(fidCTA7, '%f\v', Y(:,5*n+7)); fclose(fidCTA4); fclose(fidCTA44); fclose(fidCTA5); fclose(fidCTA6); fclose(fidCTA7);
Partager