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

Simulink Parameter auf der grafischen Oberfläche eingeben

 

Kapi04
Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 04.08.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.03.2012, 19:23     Titel: Simulink Parameter auf der grafischen Oberfläche eingeben
  Antworten mit Zitat      
Hallo Leute,

Ich suche schon seit einiger Zeit wie ich das machen kann, kann aber nichts Zielführendes finden.

Ich würde gerne Parameter, die ich später zum Beispiel in der Fcn Funktion verwende nicht im Workspace ändern sondern in irgendeiner Form im Modell selber, also auf der grafischen Oberfläche. Es handelt sich hier um Konzentrationen die ich später im Fcn Block in thermodynamischen Gleichungen verwende. Mit Simout funktioniert das nicht. Die Werte sollten einfach per Hand eingegeben werden ohne extra in den Model Explorer gehen zu müssen.

Würde mich über Hilfe freuen

Grüße,

Kapi
Private Nachricht senden Benutzer-Profile anzeigen


Gradl_Christoph
Forum-Anfänger

Forum-Anfänger


Beiträge: 31
Anmeldedatum: 19.09.11
Wohnort: Pregarten
Version: ---
     Beitrag Verfasst am: 14.03.2012, 20:39     Titel:
  Antworten mit Zitat      
Hallo,
ich glaube Block-Masks sind das was du suchst: http://www.mathworks.de/help/toolbox/simulink/ug/f8-15210.html

FG,
Christoph
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 14.03.2012, 20:42     Titel:
  Antworten mit Zitat      
Hallo,

mit Google findest du vieles über Simulink und GUIs, z.B.
http://www.mathworks.de/matlabcentr.....simulink-model-trough-gui

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

Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 04.08.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.03.2012, 18:24     Titel:
  Antworten mit Zitat      
Danke für eure Tipps.

Das Mit der GUI und Simulink habe ich gestern auch schon gefunden. Allerdings blicke ich da ehrlich gesagt überhaupt nicht durch. Ich suche eher nach einer einfacheren Lösung. Die GUI aus Matlap Help ist schon viel zu kompliziert. Ich möchte einfach nur ein paar Konstanten durch Eingabe auf der Benutzeroberfläche vorgen. Mit Block Masks bin ich auch nicht weitergekommen...
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


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

wenn du einfach nur Parameter eingeben willst, dann schau dir eben einfach nur den relevanten Teil an:

http://www.mathworks.de/help/techdo.....guis/f6-8865.html#f6-8917
insbesondere den Teil unter "Current Value Edit Text Callback"

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
theShining
Forum-Anfänger

Forum-Anfänger


Beiträge: 20
Anmeldedatum: 15.09.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.03.2012, 15:50     Titel:
  Antworten mit Zitat      
Sehr umständlich ist das eigentlich nicht, wenn mans 1 mal gebaut hat ist das nur noch Copy-Paste..

Code:

% Eingabefeld auf GUI auf dem HF erzeugen und Verweis auf den callback

    h_Value01=uicontrol('Parent',hf,...
        'Style','edit',...
        'Units','normalized',...
        'Position',[0.75 0.5 0.15 0.5],...
        'String', 0.1,...
        'Backgroundcolor',[1 1 1],...
        'callback',@ChangeValue01,...
        'Enable',enabled,...
        'Tag', 'changeValue01');


%Funktion beschreiben (->Simulink-Modell ändern)

function ChangeValue01(hObject,eventdata)
 str = get(hObject,'String');    %Einlesen als Text
 newValue = str2double(str);   %Wandlung in Zahl
 if ~isnan(newValue)      %Alles OK?
    set_param('Model_Name/Gain','Value',str);
 else            %Bei Fehler
    estr = sprintf('%s ist keine zulässige Eingabe',str);
    errordlg(estr,'Fehler bei Eingabe','modal');  
    set(hObject,'String',num2str(getparam('Model_Name/Gain','Value'));
 end
 


So in etwa könnte es aussehen.
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.