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

Pause Befehl in EXE

 

sexyphil
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 58
Anmeldedatum: 19.08.14
Wohnort: Bayern
Version: 2013a
     Beitrag Verfasst am: 02.06.2015, 19:43     Titel: Pause Befehl in EXE
  Antworten mit Zitat      
Hallo,

ich habe mir eine EXE erstellt und ein Teil des Programms soll mir zwei, in einem Plot, markierte Punkte zurückgeben:



Ich habe mit comment-Funktion beschrieben um welchen Teil es sich handelt der nicht funktioniert.

Solange ich mein Tool via Matlab starte wähle ich aus einer Listbox eine Datei aus und wähle noch welchen Kanal (z.B. Drehzahl usw..) ich mir über Zeit plotten lassen möchte. Sobald die figure f öffnet geht die Brushfunktion an und ich wähle einen Punkt, währenddessen pause aktiviert ist. Sobald ich meinen Punkt per Tastendruck bestätige führt das Programm den Code weiter aus, bis ich zum zweiten Mal dasselbe Prozedere durchmach und schließlich meine zwei Punkte habe.

Jetzt habe ich via Compiler eine EXE aus allem gemacht und komme ich nun zu diesem Teil und betätige den Plot-Button geht zwar kurz die Figure f auf, aber schliesst sich sofort wieder. Danach kommt eine Dialogbox die sich öffnet (diese folgt später im Code). Also irgendwie funktioniert der pause Befehl in einer EXE nicht habe ich das Gefühl. Hat jemand eine Idee, was ich ändern könnte/muss?

Code:
matrix_all_data=getappdata(0,'matrix_all_data');
labels_all_data=getappdata(0,'labels_all_data');
units_all_data=getappdata(0,'units_all_data');
file_names=getappdata(0,'file_names');

index_selected_popupmenu1=getappdata(handles.figure1,'index_selected_popupmenu1');
index_selected_lb1=getappdata(handles.figure1,'index_selected_lb1');

cut_style_1=getappdata(handles.figure1,'cut_style_1');
cut_style_2=getappdata(handles.figure1,'cut_style_2');
cut_style_1(isempty(cut_style_1))=0;
cut_style_2(isempty(cut_style_2))=0;



if cut_style_1==0 & cut_style_2==0
   
% Um diesen Teil geht es

f=figure('Name','cut data');
plot(matrix_all_data{1,index_selected_lb1}(:,1),matrix_all_data{1,index_selected_lb1}(:,index_selected_popupmenu1));
brush on
pause
hBrushLine = findall(gca,'tag','Brushing');
brushedData = get(hBrushLine, {'Xdata','Ydata'});
brushedIdx = ~isnan(brushedData{1});
brushedXData = brushedData{1}(brushedIdx);
brushedYData = brushedData{2}(brushedIdx);

close(gcf);
f=figure('Name','cut data');
plot(matrix_all_data{1,index_selected_lb1}(:,1),matrix_all_data{1,index_selected_lb1}(:,index_selected_popupmenu1));  
brush on
pause
hBrushLine2 = findall(gca,'tag','Brushing');
brushedData2 = get(hBrushLine2, {'Xdata','Ydata'});
brushedIdx2 = ~isnan(brushedData2{1});
brushedXData2 = brushedData2{1}(brushedIdx2);
brushedYData2 = brushedData2{2}(brushedIdx2);
close(gcf);

% Bis hier

first_point=find(brushedIdx==1);
second_point=find(brushedIdx2==1);

[rows,cols]=size(matrix_all_data);
matrix_all_data{1,cols+1}=matrix_all_data{1,index_selected_lb1}(1:first_point,:);
matrix_all_data{1,cols+2}=matrix_all_data{1,index_selected_lb1}(first_point:second_point,:);
matrix_all_data{1,cols+3}=matrix_all_data{1,index_selected_lb1}(second_point:end,:);


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