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

GUI und skript zur standalone

 

mechmi
Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 17.07.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.07.2018, 10:02     Titel: GUI und skript zur standalone
  Antworten mit Zitat      
Hallo Leute,

ich habe ein Problem mit der Erstellung einer GUI und damit, dass ich diese und mein skript in dem ich Berechnungen anstelle in eine standalone app bringe.
Ich habe schon viele Beiträge durchgeschaut aber nichts damit anfagen können, denn was GUI betrifft kann ich wirklich nicht viel.


Zur 1. Frage
Ich lese in meinem Berechnung.m Skript 3 mal ca 200 Werte ein. Dies mach ich einfach 3 mal mit:

Code:

%SET1

list=dir('20180622_09-42_scan*');
[r, inx]=sort({list.date});
list = list(inx);
 


weiter Berechnungen erfolgen dann in dem Skript und es "spuckt" mir eine .ini aus. (Das Läuft alles)

Nun möchte ich, dass der User über eine GUI Text Felder angibt wie die "Scans" heißen und dann das Brechnung.m ausführt.
Mit dem groben Erstellen einer GUI hab ich kein Problem nur das mitden Callbacks und das verbinden der 2 Skripte kapier ich nicht.

Zur 2. Frage
Wie mache ich dann aus diesen beiden eine Standalone app?
Wie mache ich meine GUI zum Main-file oder gibt es da eine andere möglichkeit?



PS:
Ich bin sehr vertaut mit Matlab aber nur um komplexe Berechnungen durchzuführen und Analyen zu erstellen und leider nicht in GUI und sowas.


Grüße
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 17.07.2018, 10:13     Titel:
  Antworten mit Zitat      
Hallo,

wie sieht denn die GUI aus?
Soll unmittelbar auf die Eingabe in den Textfeldern reagiert werden? Dann ist möglicherweise nur in einem Textfeld eine Eingabe vorhanden, was soll dann für die anderen beiden angenommen werden?
Sinnvoller kann es sein, neben den Textfeldern noch einen Push Button zu haben, über den man die Programmausführung anstößt. Im Callback des Push Buttons müssten dann die Strings aus den Textfeldern ausgelesen werden.
Wenn dabei Probleme auftreten, diese bitte ganz konkret benennen.

Es gibt verschiedene Wege, eine GUI zu erstellen. Was nutzt du? GUIDE, App Designer, etwas ganz anderes?

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
mechmi
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 17.07.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.07.2018, 11:16     Titel:
  Antworten mit Zitat      
Hallo Harald

Zur GUI selber:
Ich habe mir

3 edit text Felder gemacht, dort sollen dann die Beschreibungen der Messreihen rein. Ich dachte mir ich benenne sie einfach edit1 bis edit3 und sage die heißen in meinem Berechnungs file auch so und übergebe dann das von der GUI in die Berechnung.m

2 Button's gemacht. einen (Start) für das ausführen der Brechnung.m und einen (Abbrechen) um alles Abzubrechen und zu schließen.





Die GUI erstelle ich mit dem Befehl:
Code:

und dann wähl ich einfach Blank GUI aus.^^
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 17.07.2018, 11:37     Titel:
  Antworten mit Zitat      
Hallo,

klingt soweit gut. Dann müsstest du nur sagen, wo die konkreten Probleme liegen.

Für das Standalone: die .m der GUI als Hauptdatei angeben, das .fig und andere benötigte Dateien als zusätzliche Dateien.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
mechmi
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 17.07.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.07.2018, 11:42     Titel:
  Antworten mit Zitat      
Hallo Harald,

ich bekomme es nicht hin die Beschreibungen die ich in die edit text Felder schreibe in das Berechnungs.m file zu schreiben. ^^


Grüße
Private Nachricht senden Benutzer-Profile anzeigen
 
mechmi
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 17.07.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.07.2018, 12:32     Titel:
  Antworten mit Zitat      
Also ich schreibe bei dem Callback des edit tex feldes:



Code:

a = get(handles.edit_Messreihe1,'String');
 


wobei mein a hinterher in dem Brechnung.m der Name der Datenreihe,also das was der User eingibt, ist.

bei dem Callback das Buttons schreibe ich was?
ich habe:
Code:


set(handles.edit_Messreihe1,'String');
 




Habe auch grade gelesen, dass ich nur in "function" schreiben kann und nich einfach so in ein .m

Grüße
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 17.07.2018, 13:02     Titel:
  Antworten mit Zitat      
Hallo,

Zitat:
bei dem Callback das Buttons schreibe ich was?

Wenn du dort die Textfelder auslesen willst, dann auch
Code:
a = get(handles.edit_Messreihe1,'String');


Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 17.07.2018, 13:03     Titel:
  Antworten mit Zitat      
Hallo mechmi,

Deine Fragen klingen noch sehr allgemein. Ich verstehe nicht, welches Problem Du genau lösen willst.

Dies würde den String 'hello!' eintragen:
Code:
set(handles.edit_Messreihe1, 'String', 'hello!');


Zitat:
Habe auch grade gelesen, dass ich nur in "function" schreiben kann und nich einfach so in ein .m

Ich weiß nicht, was "einfach so ein .m" ist.
An sich ist es aber eine gute Idee eine Funktion zu schreiben.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
mechmi
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 17.07.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.07.2018, 14:29     Titel:
  Antworten mit Zitat      
also ich habe das was berechnet wird als funktion geschrieben die heißt jetzt mygyro(a,b,c)"

die ausgabe bei der GUI sieht so aus:

Code:


% --- Executes on button press in Button_Start.
function Button_Start_Callback(hObject, eventdata, handles)
% hObject    handle to Button_Start (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
a = get(handles.edit_Messung1_E2,'String');
b = get(handles.edit_Messung2_E2,'String');
c = get(handles.edit_Messung3_E2,'String');

run gyro_reader_test_auf0;
 



nun will ich das a,b,c in die Funktion geschrieben werden und diese ausgeführt wird.

Bis jetzt sagt er immer:

Code:

Not enough input arguments.

Error in gyro_reader_test_auf0 (line 14)
list=dir(a);

Error in run (line 96)
evalin('caller', [script ';']);
 




hoffe mein Problem ist etwas klarer^^

Grüße
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 17.07.2018, 15:48     Titel:
  Antworten mit Zitat      
Hallo,

Zitat:
also ich habe das was berechnet wird als funktion geschrieben die heißt jetzt mygyro(a,b,c)

Dann rufe doch auch diese Funktion auf, und zwar genau so mit den Eingabeargumenten. run ist nur für Skripte geeignet.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
mechmi
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 17.07.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.08.2018, 09:47     Titel:
  Antworten mit Zitat      
Hallo Harald,

tut mir leid, das ich mich erst so spät wieder melde aber ich war auf einer Geschäftsreise und danach driekt im Urlaub.


Ich habe es dank eurer Hilfe hinbekommen VIELEN DANK euch allen! Very Happy


Ich hatte nur iwie einen Denkfehler im Code.


Grüße mechmi
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.