bonjour à tous,
Matlab enregistre ces données dans un fichier .mat, est ce VB6 peut créer un tel fichier ?.
Version imprimable
bonjour à tous,
Matlab enregistre ces données dans un fichier .mat, est ce VB6 peut créer un tel fichier ?.
Bonjour,
Sauf bêtise de ma part, VB6 ne te sort pas un type de fichier en particulier, c'est un langage donc tu sors ce que tu veux :)
Bonjour,
Apparemment, il y a 3 type de fichiers admis
MAT-File, binary et ascii.
A toi de voir quelle structure est la plus aisée à reproduire - à parier que c'est la dernière.
Analyse sa structure et reviens après.
bonjour
j'ai aussi vu un peu le help de matlab, d'après ce que j'ai compris le Mat-file est un fichier qui se crée avec la commande save et s'ouvre avec load. Donc sauf bêtise de ma part, vb6 ne crée pas ces types de fichiers et je vais me contenter des fichiers ascii, ( si quelqu'un n'a pas une une meilleure idée).
j'ai essayé donc d'écrire avec l'instruction.
mais le problème est que vb6 écrit les données numériques dans le fichier text avec séparateur décimal "," et non pas un "."Citation:
matlab ne reconnait que le "."
Merci encore
Bonjour,
Rien ne t'empêche de remplacer par un Replace "," par "."
A+
bonjour
je l'ai déjà utilisé
:merci:
mais j'ai constaté qu'une simple str le fait également, (avant ça j'écris la variable numérique avec print)==>
:merci: encoreCode:Print #numfich, itbl(jt)
bonjour
On me recommande de taguer le sujet comme résolu, bon il faut donc poster la solution entière 8-)
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 Private Sub sauver(itbl() As Single, nmfish As String) Dim jt As Integer Dim tstr() As String dos1 = chemin & nmfish & ext If Not (DirExists(chemin)) Then MkDir chemin End If newfich (dos1) numfich = FreeFile Open dos1 For Output As #numfich tstr = virg_to_point(itbl) For jt = 0 To k Print #numfich, tstr(jt) Next jt Close #numfich numfich = FreeFile Open "c:\adresses.txt" For Output As #numfich Print #numfich, chemin Print #numfich, nom_y + ext Print #numfich, nom_ym + ext Print #numfich, nom_u + ext Print #numfich, nom_c + ext Close #numfich End Sub
et voilà le code de chargement par matlabCode:
1
2
3
4
5
6
7
8
9
10
11 Private Function virg_to_point(tbl() As Single) As String() Dim tble(999) As String Dim inte As Integer For inte = 0 To h tble(inte) = Str(tbl(inte)) tble(inte) = Replace(tble(inte), ",", ".") Next inte virg_to_point = tble End Function
Merci pour l'équipe VB6 et MATLAB:ccool:Code:
1
2
3
4
5
6
7
8
9
10
11 function courbes() clear all titre={'C1', 'C2', 'C3','C4'}; x=importdata( 'C:\adresses.txt'); path=x{1}; for ii= 2 : numel(x) mamatrice{ii-1} = load(fullfile(path,x{ii})); figure(ii-1) plot(mamatrice{ii-1}); title(titre{ii-1}); end