|
|
Spalte zu uitable in GUI hinzufügen |
|
Peedschee |

Forum-Anfänger
|
 |
Beiträge: 30
|
 |
|
 |
Anmeldedatum: 21.10.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2013a
|
 |
|
|
 |
|
Verfasst am: 12.11.2013, 09:48
Titel: Spalte zu uitable in GUI hinzufügen
|
 |
|
 |
|
Hallo liebe Forumsmitglieder,
ich bin blutiger Matlab-Anfänger und dementsprechend unerfahren was das Arbeiten mit diesem Programm betrifft.
Ich arbeite mit der Version R2013a und muss für meine Diplomarbeit ein GUI entwickeln. Dieses GUI soll per Knopfdruck .txt - Daten mit Messwerten einlesen und auswerten.
Das Einlesen klappt wunderbar und auch die Darstellung der Messwerte in uitable als Matrix (nur Zahlenwerte) und axes funktioniert. Jetzt möchte ich zur Auswertung in einem 2. GUI eine Spalte zu uitable (die Werte habe ich zuvor aus dem 1. GUI an das 2. GUI übergeben) hinzufügen. Diese Spalte soll die Differenz der x-Werte, also Zelle 1 ist x2-x1, Zelle 2 x3-x2 usw., beinhalten und dann im uitable der 2. GUI neben den anderen Spalten angezeigt werden. Das ist in Excel ja sehr einfach, aber wie klappt das in Matlab? Ich hoffe mir kann da jemand einen Tipp geben, wie ich das Problem in meiner .m-file lösen kann...
Eine weitere Frage zum anschließenden Plot: Ich möchte die Werte per Knopfdruck mit plot(x,y) plotten, aber nur bis zu einer bestimmten Differenz der aufeinander folgenden x-Werte (es geht dabei um die eigentlichen x-Werte, nicht die Werte aus der neu hinzugefügten Spalte. Diese Spalte dient nur der Veranschaulichung). Wenn jetzt also die Differenz zwischen xn+1 und xn größer als ein bestimmter Wert ist (in meinem Fall 15), dann möchte ich nur bis zu diesem x-Wert plotten. Gibt es da eine Möglichkeit dies zu realisieren?
Ich habe wirklich schon die Suchfunktion bemüht, aber konnte bisher keine Hilfe oder Lösung meines Problems finden... Ich kann später auch gerne meine .fig- und .m-files hier reinstellen, wenn es hilft.
Vielen Dank schon mal im Voraus für eure Bemühungen! Dieses Forum ist wirklich klasse und ohne euch wäre ich gar nicht erst so weit mit meinem Programm gekommen!
Viele Grüße,
Peedschee
|
|
|
|
|
Kascho |

Forum-Century
|
 |
Beiträge: 195
|
 |
|
 |
Anmeldedatum: 24.03.10
|
 |
|
 |
Wohnort: Jena
|
 |
|
 |
Version: R2008b ... :(
|
 |
|
|
 |
|
Verfasst am: 12.11.2013, 10:47
Titel:
|
 |
Hallo Peedsche, mir steht diese Version leider nicht zur Verfügung.
Ich würde vor dem plotten mittels
die Differenzen berechnen und dann entweder mit logischer Indizierung oder einer If Anweisung schauen, ob der Wert größer 15 ist.
Gruß, Kascho
|
|
|
Peedschee |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 30
|
 |
|
 |
Anmeldedatum: 21.10.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2013a
|
 |
|
|
 |
|
Verfasst am: 14.11.2013, 10:39
Titel:
|
 |
Hallo Kascho,
vielen Dank für deine Antwort!
Habe mit
jetzt die Differenzen der x-Werte berechnen können und mittels logischer Indizierung überprüfen können, ob der Wert kleiner als 15 ist (diesen Bereich möchte ich ja plotten). Das sieht bei mir dann so aus:
Die Matrix von Differenz_gesucht hat dann ja eine Spalte und n Zeilen mit den Werten 1 und 0 für true und false. Wie schaffe ich es jetzt, dass mein Graph nur die x-Werte (mit den dazu gehörigen y-Werten) aus der uitable (Matrix b) plottet, für die die jeweilige Zelle in Differenz_gesucht 1 ergibt?
Danke für deine/eure Hilfe!
Gruß,
Peedschee
|
|
|
Peedschee |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 30
|
 |
|
 |
Anmeldedatum: 21.10.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2013a
|
 |
|
|
 |
|
Verfasst am: 17.11.2013, 16:28
Titel:
|
 |
Servus,
ich habe jetzt folgenden Code:
Ohne "& delta_displacement > 15" in der find-Anweisung funktioniert auch alles. D. h. es werden nur die Werte geplottet, für die x und y größer 0 sind. Wenn ich jedoch "& delta_displacement > 15" mit eingebe kommt folgende Fehlermeldung:
Warum funktioniert das nicht? Kann es sein, dass die Dimensionen nicht übereinstimmen, weil delta_displacement eine Zeile weniger hat als x und y? Wenn ja, wie kann ich dieses Problem lösen?
Ich hoffe, ihr könnt mir da weiterhelfen!
Viele Grüße,
Peedschee
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.499
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 17.11.2013, 19:21
Titel:
|
 |
Hallo,
du erkennst das Problem ja schon selbst: der Ableitungsvektor hat ein Element weniger, und damit ist keine Zuordnung mehr möglich.
Du brauchst einen Änderungsvektor gleicher Länge. Das würde ich mit Differenzenquotienten machen - zentral, wo möglich, und einseitig an den Randpunkten.
Grüße,
Harald
|
|
|
Peedschee |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 30
|
 |
|
 |
Anmeldedatum: 21.10.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2013a
|
 |
|
|
 |
|
Verfasst am: 17.11.2013, 19:40
Titel:
|
 |
Hallo Harald,
vielen Dank, damit funktioniert es jetzt!
Einen schönen Sonntag Abend noch!
Grüße,
Peedschee
|
|
|
|
|
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.
|
|