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

App Designer -

 

JaSoIstEs
Forum-Guru

Forum-Guru


Beiträge: 266
Anmeldedatum: 01.10.12
Wohnort: Hessen
Version: 2019b
     Beitrag Verfasst am: 18.01.2019, 15:12     Titel: App Designer -
  Antworten mit Zitat      
Servus,

bin ziemlich frisch was den Umgang mit App Designer betrifft.

Hab eine App erstellt mit der ich Daten lade diese Plotte und statistische Werte anzeigen lasse.


Im Moment habe ich einen Button der die Datei (*mat file) lädt und den oben beschriebenen Kram erledigt.

Jetzt gefällt mir die Grafik Handhabung nicht und die fehlende Figure toolbar. Jetzt wollte ich einen Button hinzufügen der mir eine Figure erstellt und die Daten neu plottet um diese anders handhaben zu können. Mein Problem ist ich komme jetzt nicht an die Daten dran da diese nicht global sichtbar sind. Was ist hier der richtige Weg bzw. ansatz ohne die Datei neu laden zu müssen.

Ich habe eine public funktion erstellt die das erledigt nur kann diese nicht die Daten "fest" ablegen.

Bitte um hilfe.

Danke im Voraus

AppD.png
 Beschreibung:
App

Download
 Dateiname:  AppD.png
 Dateigröße:  49.15 KB
 Heruntergeladen:  323 mal
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


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

ich würde die Daten als public (!) property anlegen und dann die app (oder die aus der app gezogenen Daten) an die Funktionen übergeben. Für mehr Unterstützung müsste man die relevanten Code-Teile sehen.

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
 
JaSoIstEs
Themenstarter

Forum-Guru

Forum-Guru


Beiträge: 266
Anmeldedatum: 01.10.12
Wohnort: Hessen
Version: 2019b
     Beitrag Verfasst am: 18.01.2019, 16:13     Titel:
  Antworten mit Zitat      
Hallo Harald,

es geht um folgenden Code bzw. Daten die ich benötige.

Code:
methods (Access = public)

    function [t,Hall_1, Hall_2, Hall_3] = func3(app,count)
            if(count == 0)
                uiopen('*.mat');
            end
            MyStruct = app.GetVariables(WaveInfo);
           
            IDX = find(contains(MyStruct.TraceName, 'Hall_1'));
           
            BlockSize_Hall = MyStruct.BlockSize(1,IDX);
            BlockSize_Hall = str2double(BlockSize_Hall);
           
            SampleRate_Hall = MyStruct.SampleRate(1,IDX);
            SampleRate_Hall = str2double(SampleRate_Hall);
           
            HResoltion_Hall = MyStruct.HResolution(1,IDX);
            HResoltion_Hall = str2double(HResoltion_Hall);
           
            HOffset_Hall = MyStruct.HOffset(1,IDX);
            HOffset_Hall = str2double(HOffset_Hall);
           
            DiffTime = HResoltion_Hall*BlockSize_Hall;
            NewTime = HOffset_Hall+DiffTime;
           
            t = HOffset_Hall+HResoltion_Hall:HResoltion_Hall:NewTime;
        end
    end


Dieser Code war ursprünglich im im Coad des load buttons vorhanden. Nun rufe ich nur noch die Funktion auf aus den jeweiligen Callbacks. Aber ich möchte bei dem zweiten button die Datei nicht wieder erneut aufrufen und laden. Sondern bestenfalls die Daten die ich dort Lade iwie "global" machen.
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 18.01.2019, 16:19     Titel:
  Antworten mit Zitat      
Hallo,

okay, public properties für die Daten anlegen (im Code View, im Editor Tab, Button "Property" links oben) und dann die Daten z.B. mit app.BlockSize_Hall belegen und auch später wieder abfragen.

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
 
JaSoIstEs
Themenstarter

Forum-Guru

Forum-Guru


Beiträge: 266
Anmeldedatum: 01.10.12
Wohnort: Hessen
Version: 2019b
     Beitrag Verfasst am: 18.01.2019, 17:21     Titel:
  Antworten mit Zitat      
Das heißt was ich da habe kann ich so lassen?
Dann erstelle ich die "public properties" lege dort die Variablen an und belege die dann in der öffentlichen Funktion?
Verstehe ich dich da richtig?
Oder die Variablen in public properties erstellen und in der Funktion belegen?
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 18.01.2019, 19:52     Titel:
  Antworten mit Zitat      
Hallo,

Zitat:
Das heißt was ich da habe kann ich so lassen?

Im wesentlichen ja. Du brauchst nur an einigen Stellen "app." davorzuschreiben, damit du Eigenschaften der App statt ganz normale Variablen ansprichst.

Zitat:
Dann erstelle ich die "public properties" lege dort die Variablen an

Genau, da steht dann z.B.
Code:
properties (Access = public)
    BlockSize_Hall
end

Zitat:
und belege die dann in der öffentlichen Funktion?

Ja, z.B. mit app.BlockSize_Hall

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
 
JaSoIstEs
Themenstarter

Forum-Guru

Forum-Guru


Beiträge: 266
Anmeldedatum: 01.10.12
Wohnort: Hessen
Version: 2019b
     Beitrag Verfasst am: 18.01.2019, 20:11     Titel:
  Antworten mit Zitat      
Hmm iwas verstehe ich noch nicht so ganz.
Die Daten werden doch durch das laden der Mat-File belegt.

Wenn ich jetzt die Daten wie besprochen erstelle und in der Public function belege sind die Daten dann überall gleich belegt und von jedem callback gleich einzusehen (mit dem selben Inhalt)?
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 18.01.2019, 22:23     Titel:
  Antworten mit Zitat      
Hallo,

wenn du das so machst, wie ich meine: ja.
Probier's doch einfach mal? Wenn Probleme auftreten sollten, bitte wieder den verwendeten Code posten.

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
 
JaSoIstEs
Themenstarter

Forum-Guru

Forum-Guru


Beiträge: 266
Anmeldedatum: 01.10.12
Wohnort: Hessen
Version: 2019b
     Beitrag Verfasst am: 22.01.2019, 09:49     Titel:
  Antworten mit Zitat      
Hat super funktioniert!

Vielen Dank! Very Happy
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.