|
|
|
Werte aus Matrizen zu Variablen in Schleife erzeugen |
|
| opa2003 |

Forum-Newbie
|
 |
Beiträge: 5
|
 |
|
 |
Anmeldedatum: 05.09.11
|
 |
|
 |
Wohnort: Delmenhorst
|
 |
|
 |
Version: Matlab 2011b
|
 |
|
|
 |
|
Verfasst am: 23.02.2012, 22:00
Titel: Werte aus Matrizen zu Variablen in Schleife erzeugen
|
 |
| |
 |
|
Hallo!
Seit einiger Zeit bin ich stiller Leser dieses Forums und konnte mir bis jetzt immer ganz gut selber helfen (Danke an alle ). Im moment pfeile ich an meiner Masterarbeit und komme nun nicht weiter....
Ich habe 3 txt-Datein die ich mit unten stehendem Code erfolgreich einlesen kann. Hierbei handelt es sich um die Messpunkte x, y und z einer Koordinatenmessung. Die txt-Dateien gestellten sich wie folgt:
Messung_1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
...
Messung_2
2 2 2
....
Messung_3
3 3 3
....
Analog zu den Messungen möchte ich nun einzelne Variablen den Spalten der Messdaten (Spalten) zu ordnen, soll heißen:
x_1 = 1 1 1 1 1.....
y_1 = 1 1 1 1 1....
z_1 = 1 1 1 1 1....
x_2 = 2 2 2 2 2 ....
usw.
Die Variablen habe ich soweit erzeugen können, nur leider gelingt es mir nicht, diese mit den Werten der jeweiligen Messung (Spalte) zu füllen. Manuell würde ich es folgenderweise machen:
Leider gelingt es mir nicht das in der unten stehen Schleife einzubinden:
Habe ich einen falschen Ansatz gewählt? Habt ihr einen Tipp für mich? Vielen Dank schon einmal im Voraus!
| Beschreibung: |
|
 Download |
| Dateiname: |
test.rar |
| Dateigröße: |
240 Bytes |
| Heruntergeladen: |
259 mal |
|
|
|
|
|
|
| Winkow |

Moderator
|
 |
Beiträge: 3.842
|
 |
|
 |
Anmeldedatum: 04.11.11
|
 |
|
 |
Wohnort: Dresden
|
 |
|
 |
Version: R2014a 2015a
|
 |
|
|
 |
|
Verfasst am: 24.02.2012, 08:40
Titel:
|
 |
wenn ich kurz fragen darf. warum benutzt du eval um den index in den variablen namen zu packen anstadt den index als index zu benutzen ? zb als cell index oder sowas. das macht es später ungemein einfacher mit den daten zu arbeiten ?
|
|
|
|
| opa2003 |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 5
|
 |
|
 |
Anmeldedatum: 05.09.11
|
 |
|
 |
Wohnort: Delmenhorst
|
 |
|
 |
Version: Matlab 2011b
|
 |
|
|
 |
|
Verfasst am: 24.02.2012, 14:20
Titel:
|
 |
Vielen Dank am Winkow für den hervorragenden Ansatz. Im Rahmen meiner Recherche habe ich nun auch öfters von der Vermeidung der eval-Funktion gelesen...nur leider muss ich mich einer Krücke bedienen, um zum gewünschten Ziel zu gelangen. Matlab taucht im Rahmen meines Studiums leider nur am Rande auf und somit ist mein Talent/Wissen absolut überschaubar.
Um die Messwerte mit dem Curve Fitting Tool auszuwerten, benötige ich einzelne Variablen der "cell-Inhalte" x, y und z. Ich bin mir sicher, dass meine Krücke auch anders formuliert werden kann.
Wie bekomme ich die deal-Funktion in die Schleife eingebunden, um ein automatisches Erzeugen (Indexierung) der Variablen x_i, y_i und z_i zu erreichen?
|
|
|
|
| Winkow |

Moderator
|
 |
Beiträge: 3.842
|
 |
|
 |
Anmeldedatum: 04.11.11
|
 |
|
 |
Wohnort: Dresden
|
 |
|
 |
Version: R2014a 2015a
|
 |
|
|
 |
|
Verfasst am: 24.02.2012, 14:32
Titel:
|
 |
ich versteh immernoch nicht warum du unbedingt den index im dateinamen haben willst. das fällt dir zu 99% später auf die füße ^^
wenn du einfach nur eine variable willst in der zb alle xwerte sind kannst du auch
benutzen
|
|
|
|
| opa2003 |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 5
|
 |
|
 |
Anmeldedatum: 05.09.11
|
 |
|
 |
Wohnort: Delmenhorst
|
 |
|
 |
Version: Matlab 2011b
|
 |
|
|
 |
|
Verfasst am: 24.02.2012, 14:56
Titel:
|
 |
| |
 |
|
Wie schon kurz erwähnt, brauche ich (meiner Meinerung nach ) die einzelnen Zellen als Variablen für das CFTool. Die Daten fasse ich sozusagen gar nicht mehr an...und können mir somit später nicht auf die Füsse fallen.
Vielleicht etwas zum Hintergrund: Die Messdaten stammen aus einer Koordinatenmessung eines plangefrästen Flachstahls. Durch die Zerspanung mit dem Fräser entsteht Verzug (Bauteilbiegung und -torsion) und das Bauteil krümmt sich. Diese Krümmung interessiert mich, da ich daraus mittels FEM auf Spannungszustände im Bauteil (genauer Eigenspannungen) Rückschlüsse ziehen kann. Der Fit funktioniert auch soweit, soll heißen Verkippung und Berechnung der Flächenparameter werden berücksichtig und ich bekomme Parameter für meine flächenbeschreibende Funktion. Wenn es interessiert hier die Funktion:
f(x,y):a+b*x+c*y+d*x^2*e*y^2+f*x*y
Mit den Parametern a-f arbeite ich dann weiter.
An sich bin ich so schon zu 100% zufrieden, da es sich um einen einmaligen Vorgang handelt...ich dachte nur das es eleganter geht und ich der Nachwelt ein vernüftigen Code-Schnipsel hinterlasse.
|
|
|
|
| Winkow |

Moderator
|
 |
Beiträge: 3.842
|
 |
|
 |
Anmeldedatum: 04.11.11
|
 |
|
 |
Wohnort: Dresden
|
 |
|
 |
Version: R2014a 2015a
|
 |
|
|
 |
|
Verfasst am: 24.02.2012, 15:06
Titel:
|
 |
vernümpftiger code ist aber ohne die indexe im namen
wenn du gleich alle x benutzen willst kannst du wie gesagt einfach
benutzen.
du könntest auch alternativ garkeine cellen benutzen und alle messungen in eine 2d matrix schreiben. hätte aber den nachteil 0en erzeugt werden wenn die messreihen unterschiedlich lang sind.
wenn du nur einzellne messreihen in dein cftool geben willst machst du halt x{i} als eingabe anstadt x_1.
|
|
|
|
| opa2003 |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 5
|
 |
|
 |
Anmeldedatum: 05.09.11
|
 |
|
 |
Wohnort: Delmenhorst
|
 |
|
 |
Version: Matlab 2011b
|
 |
|
|
 |
|
Verfasst am: 24.02.2012, 15:37
Titel:
|
 |
Mit der Funktion
schreibt er mir alle Werte in eine Variable, die ich dann wieder trennen müßte. Gegen die Indexvariante scheinst du wirklich was zu haben.
Brauch sie aber...und mit meiner exzellenten copy+paste-Technik habe ich schnell die Variablen (der Anzahl meiner Messungen entsprechend) in meine Krücke eingefügt.
Aber nochmal vielen Dank...du hast mich ein ganzes Stück voran gebracht! Läuft ja...
|
|
|
|
| Winkow |

Moderator
|
 |
Beiträge: 3.842
|
 |
|
 |
Anmeldedatum: 04.11.11
|
 |
|
 |
Wohnort: Dresden
|
 |
|
 |
Version: R2014a 2015a
|
 |
|
|
 |
|
Verfasst am: 24.02.2012, 15:41
Titel:
|
 |
|
hmm der unterschied is doch aber nur das du anstadt x_1 irgendwo zu benutzen x{1} benutzt. oder halt auch x{i} und das in eine schleife pakst... dann brauch man garnich copy paste machen.
|
|
|
|
| opa2003 |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 5
|
 |
|
 |
Anmeldedatum: 05.09.11
|
 |
|
 |
Wohnort: Delmenhorst
|
 |
|
 |
Version: Matlab 2011b
|
 |
|
|
 |
|
Verfasst am: 24.02.2012, 16:03
Titel:
|
 |
Ok, da hast du Recht...aber ich muss wieder meine überschaubaren Matlabkenntnisse anführen.
Ich benutze die GUI der Toolbox, da ich hier einfach eine benutzerdefinierte Gleichung zur Auswertung hinterlegen kann. Zudem empfinde ich es im moment als Vorteil, die Messdaten nochmal visuell in der Toolbox wahrzunehmen....allerdings erfasst die Toolbox nur die von mir gewünschten Variablen.
Wie das alles als m-code ala x{i} automatisiert aussieht, ist etwas womit sich meine Nachfolger an der Uni beschäftigen können. Zu einer eventuell ausstehenden Mittelwertbildung, werde ich dein Vorschlag mit Sicherheit bedenken!
|
|
|
|
|
|
|
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
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2025
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.
|
|