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

Zwei Funktionen automatisch nacheinander ausführen

 

Eimily
Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 09.09.15
Wohnort: Augsburg
Version: ---
     Beitrag Verfasst am: 30.09.2015, 10:51     Titel: Zwei Funktionen automatisch nacheinander ausführen
  Antworten mit Zitat      
Hallo,

ich möchte mit meiner ersten Funktion drei Vektoren T, Gh und td aus einer Excel-Datei auslesen und im Workspace zwischenspeichern.

Der Aufruf im Command Window würde dann so aussehen:
Code:
[T, Gh, td]=Wetter;


In einer zweiten Funktion, werden Berechnungen mit Hilfe der zwischengespeicherten Werte (T, Gh, td) ausgeführt. Es sollen die Vektoren U, I und P berechnet und ergänzend im Workspace gespeichert werden.

2. Aufruf:
Code:
[U, I, P]=Test_Leistung(T, Gh, td);


Gibt es eine Möglichkeit, beide Funktionen in einem file zusammenzufügen bzw. mit Hilfe von einem Aufruf auszuführen?

Vielen Dank im Voraus Wink
Anna
_________________

Masterarbeit - auf in den Kampf!
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 30.09.2015, 11:01     Titel:
  Antworten mit Zitat      
Hallo,

was spricht denn dagegen, die beiden Zeilen so nacheinander zu schreiben?

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

Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 09.09.15
Wohnort: Augsburg
Version: ---
     Beitrag Verfasst am: 30.09.2015, 11:04     Titel: =)
  Antworten mit Zitat      
Dagegen spricht nichts Smile Es hätte nur sein können, dass es eine schönere und kürzere Möglichkeit dafür gibt, von der ich nichts weiß Wink Da mein Professor keine Ahnung von Matlab hat, wäre es für ihn bestimmt einfacher beide Programme mit nur einem Aufruf abzuspielen.
_________________

Masterarbeit - auf in den Kampf!
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 30.09.2015, 11:25     Titel:
  Antworten mit Zitat      
Hallo,

du kannst für den (bzgl. MATLAB) ahnungslosen Prof. ja die Befehle in ein Skript packen, so dass er nur auf 'Run' drücken muss :)

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

Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 09.09.15
Wohnort: Augsburg
Version: ---
     Beitrag Verfasst am: 30.09.2015, 11:40     Titel:
  Antworten mit Zitat      
Danke für den Tipp! Hast du zufällig ein Beispiel, wie sowas geht?

Ich habs jetzt mal so versucht, aber das klappt irgendwie nicht:

(Script "PV.m")
Code:
[td, Ta, Gh]=Wetter;
%Excel Datei aufzufen und Daten zuweisen
[U, I, P]=Leistung(td, Ta, Gh);
%Berechnung und P-Plot


Da kommt leider folgender Error:
Code:
Undefined function 'Leistung' for input arguments of type 'double'.

Error in PV (line 52)
[U, I, P]=Leistung(td, Ta, Gh)

_________________

Masterarbeit - auf in den Kampf!
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 30.09.2015, 12:08     Titel:
  Antworten mit Zitat      
Hallo,

oben hieß deine Funktion Test_Leistung, jetzt Leistung. Vielleicht ein Tippfehler?

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

Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 09.09.15
Wohnort: Augsburg
Version: ---
     Beitrag Verfasst am: 30.09.2015, 12:12     Titel:
  Antworten mit Zitat      
Habe die function in Leistung umbenannt. Egal, ich glaube der Professor muss es schaffen, die zwei Aufrufe manuell zu tätigen Smile Vielen Dank für die Hilfe!
_________________

Masterarbeit - auf in den Kampf!
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 30.09.2015, 13:05     Titel:
  Antworten mit Zitat      
Hallo,

wenn du die beiden Aufrufe in ein Skript packst, sollte haargenau das gleiche ausgeführt werden. Dass die beiden Befehle nacheinander klappen und als Skript nicht, kann eigentlich fast nicht sein - immer davon ausgehend, dass du dazwischen nicht Verzeichnis wechselst oder so.

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

Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 09.09.15
Wohnort: Augsburg
Version: ---
     Beitrag Verfasst am: 30.09.2015, 13:25     Titel:
  Antworten mit Zitat      
Wenn ich die beiden Funktionen exakt hintereinander in ein m.-file kopiere, kommt die Meldung:

The function "Leistung" was closed with an 'end', but at least one other function definition was not. To avoid confusion when
using nested functions, it is illegal to use both conventions in the same file.
_________________

Masterarbeit - auf in den Kampf!
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 30.09.2015, 13:37     Titel:
  Antworten mit Zitat      
Hallo,

das war ja auch nicht mein Vorschlag.
Davon abgesehen sagt die Fehlermeldung ja, was das Problem ist: entweder man setzt für jede Funktion ein end, oder für keine.

Meine Idee wäre, die Funktionen so zu lassen, wie sie sind, und den Aufruf durch ein (zusätzliches) Skript zu erleichtern.

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

Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 09.09.15
Wohnort: Augsburg
Version: ---
     Beitrag Verfasst am: 30.09.2015, 15:40     Titel:
  Antworten mit Zitat      
Achso, dann hab ich dich falsch verstanden. Wie würde das zusätzliche Skript denn dann aussehen? Sorry, ich beschäftige mich noch nicht lange mit Matlab..
_________________

Masterarbeit - auf in den Kampf!
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


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

so wie z.B. dein PV.m. Nur die Funktionsnamen müssen eben stimmen.

Grüße,
Harald
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.