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

Abfrage von Eingabewerten die aus M-File geladen werden

 

ttt2008

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.09.2008, 16:51     Titel: Abfrage von Eingabewerten die aus M-File geladen werden
  Antworten mit Zitat      
Hallo Zusammen,

momentan habe ich das Problem, dass ich in Simulink eine Simulation starte und vorab die benötigten Eingabeparameter über eine M_File abfrage. Dazu habe ich im Modell als Callback->PreFcn eine M-File angegeben die die Abfrage startet und den User auffordert die fragen zu beantworten.

Es wird also eine Frage gestellt und die Antwort ins Leere getippt und bestätigt. Jetzt hätte ich aber gerne bei der Abfrage die Option, dass ein Default-Wert schon angegeben ist und dieser entweder nur bestätigt oder auch geändert wird.

Leider habe ich im Matlab_Help nichts gefunden was mir hilft. Es wäre nett wenn Ihr kurz einen Tipp posten könntet.

Hier ein kleiner Ausschnitt der M-File:
disp('Bitte beantworten Sie die noch notwendigen Informationen vor dem Start')
disp(' ')
Frage_PV=input('Einsatz von Photovoltaikmodulen?(j/n) ','s');***

*** Hier hätte ich gerne den Wert der zu bestätigen oder zu ändern wäre.

Danke für die Hilfe.

ttt2008


nschlange
Ehrenmitglied

Ehrenmitglied



Beiträge: 1.318
Anmeldedatum: 06.09.07
Wohnort: NRW
Version: R2007b
     Beitrag Verfasst am: 25.09.2008, 22:46     Titel:
  Antworten mit Zitat      
Hi,

Du könntest
Code:
benutzen.
Oder prüfen, ob das Ergebnis von
Code:
leer ist und mit einem Default-Wert belegen.
_________________

Viele Grüße
nschlange

"Chuck Norris ejakuliert fluessigen Stahl!"
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
ttt2008

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.09.2008, 09:30     Titel:
  Antworten mit Zitat      
Hallo nschlange,

danke für deine schnelle Antwort. Nun aber noch eine Frage zu dem Befehl
Code:


Ich habe es wie im Besipiel durchgeführt und bekomme als Value im workspace den Typ 1x1 cell anstatt wie von mir gewünscht einen Zahlenwert für eine Variable. Gibt es da einen Trick, dies zu umgehen? Und besteht die Möglichkeit in der dialog box den default Wert nur mit Enter zu bestätigen anstatt zunächst auf den OK-Button zu gehen?

Danke nochmals.
 
outsider
Forum-Meister

Forum-Meister


Beiträge: 806
Anmeldedatum: 03.09.07
Wohnort: München
Version: R2012b
     Beitrag Verfasst am: 26.09.2008, 10:39     Titel:
  Antworten mit Zitat      
INPUTDLG liefert immer eine Zelle zurück, weil es nicht wissen kann ob Du einen String oder eine Zahl eingibst. Wenn DU also weisst, dass eine Zahl eingetippt wird, sollte die Ausgabe also vom Cell zu einem Double convertiert werden.

Probiere
Code:


Zitat:
Und besteht die Möglichkeit in der dialog box den default Wert nur mit Enter zu bestätigen anstatt zunächst auf den OK-Button zu gehen?

leider nicht.


MfG
Private Nachricht senden Benutzer-Profile anzeigen
 
nschlange
Ehrenmitglied

Ehrenmitglied



Beiträge: 1.318
Anmeldedatum: 06.09.07
Wohnort: NRW
Version: R2007b
     Beitrag Verfasst am: 26.09.2008, 15:03     Titel:
  Antworten mit Zitat      
Hi,

vielleicht hilft das.
_________________

Viele Grüße
nschlange

"Chuck Norris ejakuliert fluessigen Stahl!"
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
ttt2008

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.09.2008, 20:55     Titel: Danke
  Antworten mit Zitat      
Hallo nschlange und outsider,

danke für eure Hilfe.

@Outsider: Deinen Ansatz hätte ich beinahe benutzt nur war das Problem, dass ich bei längeren Texten die Dialogbox immer erst vergrößern muss um den Titel der Dialogbox lesen zu können.

@nschlange: Danke für deine letzte Antwort. Zwar ist das einzelne Abfragen ein wenig aufwändig aber trotzdem habe ich es nun so gemacht. Probleme habe ich nur wenn ich default-Werte zwischen 0 und 1 (z.B. 0.5) eingeben möchte. Geht aber in Ordnung, ich muss eben Angaben in % eingeben.

Habt mir als MATLAB_Amateur sehr geholfen.

Ach eine Frage hätte ich noch zu meiner Abfrage: Wenn ich Variablen in den workspace laden möchte die in einer mfile hinterlegt sind wie mache ich das am besten? Momentan habe ich nur eine Anzeige die nach dem Eingabemodus den Nutzer auffordert, den Namen der mfile direkt im command window einzugeben. Kann ich diesen Vorgang aber auch direkt bei meinen Abfragen z.B. über
Code:
einfügen?

Vielleicht habt ihr des Problem verstanden und habt nochmal Lust mir zu helfen.

Danke
 
steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.022
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2023b
     Beitrag Verfasst am: 30.09.2008, 08:46     Titel: Re: Danke
  Antworten mit Zitat      
ttt2008 hat Folgendes geschrieben:
Probleme habe ich nur wenn ich default-Werte zwischen 0 und 1 (z.B. 0.5) eingeben möchte. Geht aber in Ordnung, ich muss eben Angaben in % eingeben.


Wie meinst du das? Hilft dir in diesem Fall vllt.
Code:
weiter?

ttt2008 hat Folgendes geschrieben:

Ach eine Frage hätte ich noch zu meiner Abfrage: Wenn ich Variablen in den workspace laden möchte die in einer mfile hinterlegt sind wie mache ich das am besten? Momentan habe ich nur eine Anzeige die nach dem Eingabemodus den Nutzer auffordert, den Namen der mfile direkt im command window einzugeben. Kann ich diesen Vorgang aber auch direkt bei meinen Abfragen z.B. über
Code:
einfügen?


Ohne es probiert zu haben, aber hilft es in deinem Code einfach das m-file aufzurufen?
Code:
function my_fun

% Aufruf vom m-file
my_mfile

end


Gruß
Alex
_________________

>> I told me to.

____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
Private Nachricht senden Benutzer-Profile anzeigen
 
ttt2008

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.09.2008, 17:27     Titel:
  Antworten mit Zitat      
@ Alex
Ja es klappt mit
Code:
, das hatte ich bisher übersehen. Danke.

Zu deinem zweiten Tipp:
Es stehen meherere mfiles zur Auswahl die geladen werden können. In diesen mfiles sind die Variablen hinterlegt. Ich möchte dem Nutzer ja die Wahl überlassen welches mfile und damit welche Variablen er in den workspace einliest. Klappt es irgendwie, direkt aus der Abfrage ein mfile und die darin befindlichen Variablen in den workspace zu laden?

Ok, das wars von mir. Danke, Ihr habt mir wirklich weitergeholfen.
 
steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.022
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2023b
     Beitrag Verfasst am: 01.10.2008, 07:56     Titel:
  Antworten mit Zitat      
Moin,

ungetestet, könnte aber klappen:
Code:
mfile = input('Eingabe: ','s');
eval(mfile);


Gruß
Alex
_________________

>> I told me to.

____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
Private Nachricht senden Benutzer-Profile anzeigen
 
ttt2008

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.10.2008, 11:08     Titel:
  Antworten mit Zitat      
@Steve

Perfekt, hat so wie du gemeint hast optimal geklappt. Tja, wenn man euch nicht hätte.

Danke nochmals, meine Probleme sind damit gelöst.
 
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.