nun will ich mData(1).a(1,: ) ploten
dh mData(1) entspricht meinem ersten Messwert
die 1 bedeutet meine erste Messreihe und der : alle darin gespeicherten Messwerte.
ich habe sowas ähnliches auch schon mal probiert und bin mit diesem/deinen Ansatz auch nicht weitergekommen, da man auf Struct-Matritzen nur in der Form
zugreifen kann, zumindest habe ich es anhand meiner Fehlermeldungen so interpretiert. Dabei ist a die Matrix auf die du zugreifst.
Das würde bedeuten, dass deine Matrix/Vektor mydata.a nicht die Werte enthält, die du vermutest. (Ebenfalls eine Vermutung meinerseits)
Allerdings habe ich kein Lösungsvorschlag parat, da ich mich so gut wie gar nicht mit cell arrays auskenne - allerdings glaube ich, dass man dort eine Lösung finden könnte!?
es wäre schon sehr hilfreich zu wissen, welche Codezeile welchen Fehler produziert. Von cells sehe ich in Deinem Code bisher gar nichts.
mData ist ja ein Vektor von Strukturen, also mData(1) und mData(6) sind jeweils eine Struktur mit (mindestens) dem Feld a, jeweils einem 1x11-Vektor.
Wenn das so ist, sollte das plotten klappen.
Wenn das nicht so ist, müssten wir herausfinden, warum nicht. Dafür wäre die Erzeugung von mData in der Funktion Datenimport interessant. Warum gerade die Übergabe nicht klappen sollte, kann ich mir gerade nicht vorstellen. Aber ich lasse mich gern belehren. Klappt es denn, die Funktion aus dem Command Window aufzurufen und zu plotten?
An dem Datenformat sollte es nicht liegen, beispielsweise geht ja
d.h. ich hole Messwerte rufe die Funktion auf schriebe sie rein, dann geh ich einen Schritt weiter und steh im Feld da wo der nächste Wert hinkommt.
bei mir wird aber immer nur der letzt wert angezeigt wenn ich z.b. mData(10,1).a im Command Window ausgebe dann wird 0 0 0 0 0 0 2356 ausgegeben obwohl die 7 Werte davor alle abgespeichert wurden.
Wenn ich dann noch einen abspeichere dann wird 0 0 0 0 0 0 0 2245 ausgegeben. Entweder werden die Messwerte überschrieben oder....
da kommen wir der Sache ja schon näher. In der Funktion gibt es ja (grundsätzlich) nur lokale Variablen, das heißt mData wird in jedem Funktionsaufruf neu angelegt. Die Lösung wäre, mData auch selbst an die Funktion zu übergeben:
Code:
function mData = Datenimport(Messung, wert, mData)
das ist die Lösung, jetzt ist es mir auch klar. tausend Dank.
Das wert=wert+1 hab ich schon gestern rausgemacht da es doppelt drin war mit der globalen wert die ich von meinem GUI an die Funktion übergebe.
Herzlichen Dank
_________________
Mit freundlcihem Gruß
Nyquist
Einstellungen und Berechtigungen
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
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.