[vb] Schrijven van een Matlab file (*.mat) in VB

Pagina: 1
Acties:

  • Schonhose
  • Registratie: April 2000
  • Laatst online: 01-09 09:29

Schonhose

Retro Icoon

Topicstarter
Ik wil graag de data die ik inlees in VB omzetten naar het Mat format van het Pakket MATLAB.

Nu staan er in de handleidingen wel talloze voorbeelden hoe dit moet in C++, maar ik wil het graag in VB doen.

Kan iemand mij redirecten naar een site o.i.d. waar dat staat beschreven?

Een grondige search met Google en multiple keywords heeft niets opgeleverd :(

"The thing under my bed waiting to grab my ankle isn't real. I know that, and I also know that if I'm careful to keep my foot under the covers, it will never be able to grab my ankle." - Stephen King
Quinta: 3 januari 2005


  • Schonhose
  • Registratie: April 2000
  • Laatst online: 01-09 09:29

Schonhose

Retro Icoon

Topicstarter
^^KicK^^

"The thing under my bed waiting to grab my ankle isn't real. I know that, and I also know that if I'm careful to keep my foot under the covers, it will never be able to grab my ankle." - Stephen King
Quinta: 3 januari 2005


Verwijderd

post zo'n C++ voorbeeld, dan vertaal ik of een van de mede GoT'ers dat met liefde naar VB voor je!

  • Schonhose
  • Registratie: April 2000
  • Laatst online: 01-09 09:29

Schonhose

Retro Icoon

Topicstarter
Geen C++ voorbeeld helaas (het zijn externe calls) dus dan maar een pascal source:
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
TYPE
     RijType = Array[1..3960] OF Double;
     NotesText = Array[1..50] OF Char;
     NameStr = Array[1..20] OF Char;
     HeadRec = Record
            mattype,
            matrows,
            matcols,
            imagef,
            namelen :longint;
           END;


PROCEDURE MaakMatFile(VAR Xrij,YRij:RijType);
VAR uitv:File;
    a,n:integer;
    Rij:RijType;
    Header: HeadRec;
    name:NameStr;
    result:word;
    VrijeRuimte:longint;

CONST
    ZeroByte : Byte = 0;
BEGIN
 for n:=1 to 20 do begin
   name[n]:=#0;
 end;{for}
 Assign(uitv,UitVoerFileNaam);
 {$I-}
 ReWrite(uitv,1);
 {$I+}
 Foutje:=IOResult;
 If Foutje <> 0 then begin
   Writeln('Peter, de schijf is Write Protected.');
   Writeln('Keer nu terug naar Operating System');
   readln;
   halt;
 end;{if}

 WITH Header DO BEGIN
  MatType:=0;
  MatRows:=1;
  MatCols:=AantalPunten;
  Imagef:=0;
  Namelen:=2;
 END;
 VrijeRuimte:=DiskFree(1);
 if VrijeRuimte<(2*(8*Header.MatCols)+22) then begin
   Writeln('Er is niet genoeg ruimte op de a-drive om de file : ',UitvoerFilenaam);
   Writeln('Volledig te converteren');
   Writeln('Maak A.U.B. ruimte vrij en probeer het dan nog eens');
   halt;
   end;
 Writeln('Wegschrijven X-data');
 name[1]:='x';
 BlockWrite(uitv, Header, 20,Result);
 BlockWrite(uitv, name, (header.namelen-1),Result);
 BlockWrite(uitv, ZeroByte,1,Result);
 BlockWrite(uitv, XRij, 8*header.matcols*header.matrows,Result);
 Writeln('Wegschrijven Y-data');
 name[1]:='y';
 BlockWrite(uitv, Header, 20);
 BlockWrite(uitv, name, (header.namelen-1));
 BlockWrite(uitv, ZeroByte,1);
 BlockWrite(uitv, YRij, 8*header.matcols*header.matrows,result);
 Close(uitv);
END;

Hoop dat dit voldoende is.

Hier staat een omschrijving van de MAT-File format (PDF)

"The thing under my bed waiting to grab my ankle isn't real. I know that, and I also know that if I'm careful to keep my foot under the covers, it will never be able to grab my ankle." - Stephen King
Quinta: 3 januari 2005


  • kaandorp
  • Registratie: November 1999
  • Laatst online: 03-09 22:36
Wat wil je nu precies weten?

Je hebt de omschrijving van het formaat, dus je kunt op papier al zo'n .mat file ontwerpen.
Wil je weten hoe je in VB een file aanmaakt en daar data naartoe schrijft o.i.d.?

Wees even iets duidelijker anders kunnen we niet helpen.
Of probeer: www.geefmijeenkantenklaarscriptomvanuitvbeenmatfiletegenereren.org

  • Schonhose
  • Registratie: April 2000
  • Laatst online: 01-09 09:29

Schonhose

Retro Icoon

Topicstarter
Op donderdag 07 februari 2002 09:28 schreef kaandorp het volgende:
Wat wil je nu precies weten?

Je hebt de omschrijving van het formaat, dus je kunt op papier al zo'n .mat file ontwerpen.
Wil je weten hoe je in VB een file aanmaakt en daar data naartoe schrijft o.i.d.?
Ja dat lukt me wel, maar ik heb tot nu toe alleen ASCII gebruikt. Ik weet dus niets van het schrijven van binaire files en laat staan in het formaat van Matlab.
Geeft bij mij een 404 error :+ |:(

"The thing under my bed waiting to grab my ankle isn't real. I know that, and I also know that if I'm careful to keep my foot under the covers, it will never be able to grab my ankle." - Stephen King
Quinta: 3 januari 2005

Pagina: 1