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

Eingabe mehrerer Koordinaten -> Prüfung -> Ausgabe al

 

michik
Forum-Anfänger

Forum-Anfänger


Beiträge: 13
Anmeldedatum: 04.05.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.08.2010, 11:12     Titel: Eingabe mehrerer Koordinaten -> Prüfung -> Ausgabe al
  Antworten mit Zitat      
Mahlzeit,

habe folgendes Problem:

Ich möchte in einer GUI (siehe Bild im Anhang) einen Punkt in Koordinaten eingeben mit noch 4 Bedingungen.
Bei drücken des Buttons "check an add to list" sollen diese nacheinander geprüft werden (ob sie innerhalb eines Kreises mit Radius 0.6 liegen) und dann in eine Liste geschrieben werden.
also ungefähr so
Koordinaten x,y,z..............movement type..............velocity..............blending on/off..............blending radius (Punkte sind nur Platzhalter)

Zusätzlich soll die Anzahl der Punkte mitgezählt werden.
Die Liste möchte ich dann in einem separaten m-file aufrufen und weiterverwenden um die Punkte zu einer Sequenz zusammenzufügen

Wie belege ich jetzt den Button, dass das so funktioniert??
Wo wird das dann gespeichert? Kann man das in einer festen Datei (textfile oder m-file) speichern?

Ich hoffe, man kann ungefähr nachvollziehen, was ich meine...
Danke schon mal

gui.JPG
 Beschreibung:
Das ist die GUI

Download
 Dateiname:  gui.JPG
 Dateigröße:  19.8 KB
 Heruntergeladen:  517 mal
Private Nachricht senden Benutzer-Profile anzeigen


michik
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 13
Anmeldedatum: 04.05.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.08.2010, 10:00     Titel:
  Antworten mit Zitat      
mal Schritt für Schritt:

ist es möglich die in der GUI eingegebenen Werte in einer Matrix bzw Tabelle mit den Spalten wie oben (x; y; z; movement; vel; BlendC; BlenR) zu speichern?

Also beim 1. Klick auf den Button sollen die Werte in die 1. Zeile geschrieben werden, beim 2. Klick in die zweite, usw

Wie stell ich das an, dass MatLab die Werte in dieser Reihenfolge pro Zeile abspeichert und beim nächsten Punkt nicht den ersten überschreibt?

Oder: hat jemand eine einfachere Idee?

PS: GUI - Layout hat sich geändert...

Sequenz-GUI.jpg
 Beschreibung:
Die aktuelle GUI

Download
 Dateiname:  Sequenz-GUI.jpg
 Dateigröße:  42.73 KB
 Heruntergeladen:  529 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
mmz
Forum-Anfänger

Forum-Anfänger


Beiträge: 48
Anmeldedatum: 18.08.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.08.2010, 10:40     Titel:
  Antworten mit Zitat      
Hi,

mittels

Code:

var1 = get(handels.Editror1 , 'String');
 


bekommst du erstmal die Daten aus deinen Editoren geladen.

und mit :

Code:

assignin('base', 'VarName1',[VarName1;var1]);
 


sollte der Rest gehen.

Erläuterung:
assignin schreibt Werte in den Workspace (da du sie ja später noch weiter verwenden wolltest)
'base' gibt das Base-Workspace an. 'VarName1' Ist der Variablen name unter dem er die Variable abspeichert. Und der letzte Parameter entspricht dem Wert der in den Variablennamen abgespeichert werden soll. Und da ich immer den alten VarNamen vorne dran häng...schreibt er immer in die nächste Zeile.

Ich hoffe ich konnte weiterhelfen

grüße

Michael

Edit: Das ganze natürlich unter den Button-Callback
Private Nachricht senden Benutzer-Profile anzeigen
 
michik
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 13
Anmeldedatum: 04.05.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.08.2010, 11:33     Titel:
  Antworten mit Zitat      
irgendwie kapier ichs immer noch nicht...

am Beispiel x-Koordinate:
Mein Code für das Eingabefeld in der GUI ist folgender
Code:
%% Input x

w1des = uicontrol( ...
    'Parent', mainfigure, ...
    'Style', 'edit', ...
    'Tag', 'w1des', ...
    'String', sprintf('%-6.3f', 0.6), ...
    'Value', 0.6e3, ...
    'Units', 'pixel', ...
    'Position', [50 200 100 30], ...
    'Backgroundcolor', 'white', ...
    'FontSize', 10, ...
    'Callback', {@Edit});

w1destext = annotation('textbox');
set(w1destext, ...
    'String', 'x', ...
    'Units', 'pixel', ...
    'Position', [20 198 20 30], ...
    'FontSize', 10, ...
    'FontWeight', 'normal', ...
    'VerticalAlignment', 'middle', ...
    'HorizontalAlignment', 'left', ...
    'LineStyle', 'none');

w1desunit = annotation('textbox');
set(w1desunit, ...
    'String', 'm', ...
    'Units', 'pixel', ...
    'Position', [155 198 20 30], ...
    'FontSize', 10, ...
    'FontWeight', 'normal', ...
    'VerticalAlignment', 'middle', ...
    'HorizontalAlignment', 'left', ...
    'LineStyle', 'none');


Mein Startbutton ist so:
Code:
startbutton = uicontrol( ...
    'Parent', mainfigure, ...
    'Style', 'pushbutton', ...
    'Tag', 'startbutton', ...
    'String', 'Check Destination and Add to list', ...
    'Units', 'pixel', ...
    'Position', [360 50 220 30], ...
    'FontSize', 10, ...
    'Callback', {@Start}, ...
    'Enable', 'on', ...
    'Visible', 'on');


aufrufen will ich das ganze mit:
Code:
%% Start Button:
function Start(src, evnt)

% Koordinaten
        x=get(handles.w1des, 'String');
        y=get(handles.w2des, 'String');
        z=get(handles.w3des, 'String');
       
        assignin('base', 'xc',[xc;x]);
        assignin('base', 'yc',[yc;y]);
        assignin('base', 'zc',[zc;z]);


Als Ergebnis kommt:
??? Undefined variable "handles" or class "handles.w1des".

Error in ==> SequenceControl_2>Start at 275
x=get(handles.w1des, 'String');

??? Error while evaluating uicontrol Callback


Was mach ich da falsch??
Private Nachricht senden Benutzer-Profile anzeigen
 
mmz
Forum-Anfänger

Forum-Anfänger


Beiträge: 48
Anmeldedatum: 18.08.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.08.2010, 13:19     Titel:
  Antworten mit Zitat      
sry, da muss ich passen. Ich arbeite nur mit guide...und damit ist das alles kein problem.

Iwie hat er wohl problem mit den handles...aber wieso ka.

Leider kann ich dir da nicht weiter helfen.
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 - 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.