WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

C double-Array zu mxArray

 

Lloewe
Forum-Anfänger

Forum-Anfänger


Beiträge: 11
Anmeldedatum: 17.03.09
Wohnort: Göttingen
Version: ---
     Beitrag Verfasst am: 17.03.2009, 17:58     Titel: C double-Array zu mxArray
  Antworten mit Zitat      
Hallo Allerseits,
Ich hoffe, dass ich mit meiner Anfrage hier in der richtigen "Abteilung" gelandet bin.

Ich arbeite z.Z. an einem Programm, das Messdaten aus Textdateien ausliest (Habe dies in C schon fertig, funktioniert auch)
Die Messwerte werden in Arrays gespeichert. (Array1 und Array2)

Für mich geht es nun darum, die Daten aus den Arrays in zwei mxArrays zu schreiben um in Matlab mit ihnen weiterarbeiten zu können.

Ich bin mittlerweile seit drei Tagen das Internet am durchforsten habe aber bisher keine Lösung gefunden.

Ich habe die Arrays überdimensioniert und kontrolliere hinterher wie "weit die Datenreichen" dann möchte einfach nur die Daten in die passend angelegten mxArrays schreiben.

Ich bin für jede Hilfe dankbar.

Herzlichen Gruß
Leander

PS: wäre es sinvoller direkt mit mxArrays zu arbeiten? Wie kann ich "im Betrieb" diese zur Not um zusätzliche Elemente erweitern?
Private Nachricht senden Benutzer-Profile anzeigen


Lloewe
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 11
Anmeldedatum: 17.03.09
Wohnort: Göttingen
Version: ---
     Beitrag Verfasst am: 30.03.2009, 20:17     Titel:
  Antworten mit Zitat      
Kann mir denn hier niemand helfen? Ich finde einfach absolut nichts, das mir weiterhelfen könnte.
Wäre wirklich toll wenn mir jemand einen Tip geben könnte.
Gruß
Leander
Private Nachricht senden Benutzer-Profile anzeigen
 
Titus
Forum-Meister

Forum-Meister


Beiträge: 871
Anmeldedatum: 19.07.07
Wohnort: Aachen
Version: ---
     Beitrag Verfasst am: 31.03.2009, 13:20     Titel:
  Antworten mit Zitat      
Hallo,
im Prinzip müsstest Du folgendes machen (obwohl die Daten kopiert werden dabei, ist dies der sicherere Weg, als z.B. mxSetPr zu arbeiten):
Code:
double *meineDaten; // der Pointer auf Deine gelesenen Daten
double *pr;
mxArray *arr = mxCreateDoubleMatrix(n,1,mxREAL); // n=Länge des Vektors
pr = mxGetPr(arr);
memcpy(pr, meineDaten, n*sizeof(double));
free(meineDaten); // da kopiert, kann der am Ende freigegeben werden
 


Hoffe, das hilft weiter ...

Titus
Private Nachricht senden Benutzer-Profile anzeigen
 
Lloewe
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 11
Anmeldedatum: 17.03.09
Wohnort: Göttingen
Version: ---
     Beitrag Verfasst am: 31.03.2009, 19:14     Titel:
  Antworten mit Zitat      
Hallo Titus,
vielen dank für die Hilfe, es hat mich schon ein ganzes Stück weitergebracht. (zumindest vom Verständnis her)
Ich habe leider das Problem, dass mein Array zweidimensional ist, sehe ich das richtig, dass ich bei mxCreateDouleMatrix einfach (m, n,mxReal) schreibe? wie genau funktioniert das mit dem memcpy? kann ich da auch einfach die Dimensionierung in Zeilen vornehmen? oder muss ich das anders anstellen?

Außerdem bekomme ich immer Fehler (nicht eim kompilieren sondern beim ausführen des Programms) wenn ich die Daten dann in einer Matrix in Matla ausgeben lassen will.

Vielen Dank nochmal
Leander
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.