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

Arbeiten mit externen Funktionen im App Designer

 

A346
Forum-Anfänger

Forum-Anfänger


Beiträge: 39
Anmeldedatum: 22.04.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.04.2018, 07:51     Titel: Arbeiten mit externen Funktionen im App Designer
  Antworten mit Zitat      
Liebe Community,

ich habe eine eine Oberfläche mittels App Designer erstellt. Die hat die Eingaben Wind und Luftdruck.
Ausgeben möchte ich Geschwindigkeiten v1 und v2 (soll dann in Panels angezeigt werden).

ich habe eine externe matlab Funktion mit den Eingängen Wind und Luftdruck. Sie gibt mir v1 und v2 aus.

Das ist, was ich vor habe. Bin möchte ich bevor ich mir die Arbeit mache fragen, ob es möglich ist eine externe Funktion im App Designer zu nutzen ? In der App gibt es einen Button. Wenn der gedrückt wird, soll die Funktion angewandt werden. Die Funktion arbeitet mit einer excel Tabelle.

Lg
A346
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: 26.04.2018, 16:35     Titel:
  Antworten mit Zitat      
Hallo,

ja, du kannst aus App Designer-Callbacks heraus externe Funktionen aufrufen.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
A346
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 39
Anmeldedatum: 22.04.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.04.2018, 16:44     Titel:
  Antworten mit Zitat      
Super, vielen Dank !
Private Nachricht senden Benutzer-Profile anzeigen
 
A346
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 39
Anmeldedatum: 22.04.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.04.2018, 10:56     Titel:
  Antworten mit Zitat      
Ich habe nun eine externe Matlabfunktion
function [ERG] = tow(A,B,C).

In meiner App macht der Benutzer über drop downs die Eingaben app.A, app.B, app.C.
Ich möchte nun, dass bei drücken des "Calculate buttons" in der App die funktion tow.m ausgeführt wird und er dann ERG in einem numerischen Feld in der App anzeigt.
Ich denke ich muss dazu eine Callbackfunktion für die button erstellen und da irgendwie die tow.m einbauen. Wie genau weiß ich nicht, da ich auf dem Gebiet absolut unerfahren bin.
ERG ist ein Vektor, der aus 3 Werten besteht.
Jeder Wert soll in einem eigenen numerischen Feld in der App erscheinen.



Kann mir jemand helfen, wie der CODE dazu aussehen muss ?

LG
A346
Private Nachricht senden Benutzer-Profile anzeigen
 
huhu0815
Forum-Century

Forum-Century


Beiträge: 141
Anmeldedatum: 20.02.14
Wohnort: Dresden
Version: R2013b, R2014b, R2016b, R2018a
     Beitrag Verfasst am: 29.04.2018, 13:37     Titel:
  Antworten mit Zitat      
Hi,

schau Dir das angehangene Beispiel an. Bitte stell sicher, dass die Funktion auch MATLAB bekannt sind (indem du sie dem Path hinzufügst oder die Dateien sich im Current Working Directory befinden)

beispiel.zip
 Beschreibung:

Download
 Dateiname:  beispiel.zip
 Dateigröße:  15.46 KB
 Heruntergeladen:  737 mal

_________________

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

Forum-Anfänger

Forum-Anfänger


Beiträge: 39
Anmeldedatum: 22.04.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.04.2018, 13:53     Titel:
  Antworten mit Zitat      
Hallo,
erstmal vielen Dank, dass du dir die Mühe gibst !
Ich habe es in meinen Workspace gezogen. Die funktionen kann ich öffen und auch die App kann ich benutzen und sie macht das, was sie tun soll. Wenn ich jedoch beispiel.mlapp öffnen möchte, erscheint "struct contents reference from a non-struct array object" und der app desginer zeigt nur ein weißes feld. Woran könnte das liegen ?
Wenn es nicht geht, dass wäre ich auch über einen screenshot der entsprechenden Stellen sehr dankbar !

LG
A346
Private Nachricht senden Benutzer-Profile anzeigen
 
huhu0815
Forum-Century

Forum-Century


Beiträge: 141
Anmeldedatum: 20.02.14
Wohnort: Dresden
Version: R2013b, R2014b, R2016b, R2018a
     Beitrag Verfasst am: 29.04.2018, 14:14     Titel:
  Antworten mit Zitat      
Das Beispiel wurde mit der Version 2018a erstellt.
Bitte update auch deine Signatur.

Es gibt in der Gui 2 buttons (Addition, Subtraktion) und 4 Edit Felder (Zahl 1 ... Zahl 3, sowie das Ergebnis welches nicht editierbar ist)

Anbei der eigentlich für dich interessante Teil
Code:

       % Button pushed function: button_Addition
        function button_AdditionButtonPushed(app, event)
            app.edit_Ergebnis.Value =  my_add(app.edit_Zahl1.Value, ...
                                              app.edit_Zahl2.Value, ...
                                              app.edit_Zahl3.Value);
        end

        % Button pushed function: button_Subtraktion
        function button_SubtraktionButtonPushed(app, event)
            app.edit_Ergebnis.Value =  my_sub(app.edit_Zahl1.Value, ...
                                              app.edit_Zahl2.Value, ...
                                              app.edit_Zahl3.Value);
        end


Was hast du in deinen Workspace gezogen? Die App? Das geht nicht.
Mit
Code:
oder
Code:
appdesigner('beispiel')
kannst du Dir den Code anschauen
_________________

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

Forum-Anfänger

Forum-Anfänger


Beiträge: 39
Anmeldedatum: 22.04.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.04.2018, 14:33     Titel:
  Antworten mit Zitat      
Mensch, vielen Dank !
Ich denke, dass wird mir weiterhelfen !

auch mit open beispiel zeigt er mir den Fehler an. Liegt wahrscheinlich an den unterschiedliche Versionen, ich habe die 16a.

Viele Dank schonmal, ich versuche mal mein Glück !

LG
A346
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.