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

Funktion in Funktion aufrufen - - > Error

 

r.eselchen
Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 14.06.21
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.06.2021, 17:50     Titel: Funktion in Funktion aufrufen - - > Error
  Antworten mit Zitat      
Hallo,
ich habe zwei Funktionen wobei die Funktion gammaRK von der Funktion BT abhängig ist. BT hat 4 Ausgabewerte welche in der Funktion gammaRK benötigt werden.
Beide Funktionen haben als Eingabewert die Struktur parameter, welche Parameter für H2O und H2O2 beinhaltet.

Code:
%Funktion zur Berechnung der Aktivitätskoeffizienten
function [gamma] = gammaRK (T, xW, parameter)
[B0, B1, B2, B3]= BT (T, parameterH2O);
[B0, B1, B2, B3] = BT (T, parameterH2O2);
 
  gamma = exp((parameter.u-parameter.v*xW+xW^2)/(R.*T)*...
          (B0+B1*(parameter.w-4*xW)+B2*(1-2*xW)*(parameter.x-6*xW)+...
          B3*(1-2*xW)^2*(parameter.y-8*xW)));
 
endfunction


Leider bekomme ich bei der Auswertung immer den Error:
Code:
error: 'parameterH2O' undefined near line 28 column 26
error: called from
    gammaRK at line 28 column 17
    ProgrammEntwurf at line 18 column 13


Ich habe schon probiert nur 1x die Werte B0-B3 auszugeben dann ändert sich der Error auf 'parameter' undefined.
Weiß vielleicht jemand wo hier mein Fehler liegt?
Danke!
Private Nachricht senden Benutzer-Profile anzeigen


Ausloggen
Forum-Anfänger

Forum-Anfänger


Beiträge: 19
Anmeldedatum: 08.01.20
Wohnort: München
Version: ---
     Beitrag Verfasst am: 15.06.2021, 06:36     Titel:
  Antworten mit Zitat      
Hallo,

es scheint ja als wäre "parameterH2O" nicht definiert? Du übergibst auch nur parameter. Wenn das eine Struktur ist müsste "parameter.H2O" klappen.


Viele Grüße
Private Nachricht senden Benutzer-Profile anzeigen
 
r.eselchen
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 14.06.21
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.06.2021, 06:40     Titel:
  Antworten mit Zitat      
Hallo,

ich hab es schon auf diese Weise probiert. Also mit nur parameter ausgeben. Dann bekomm ich den selben error nur mit parameter undefined.
Die parameter sind alle definiert und wenn ich die Funktion BT in einem anderen Programm ausgebe bekomme ich die erwünschten Ergebnisse.

LG
Private Nachricht senden Benutzer-Profile anzeigen
 
Mmmartina
Forum-Meister

Forum-Meister


Beiträge: 745
Anmeldedatum: 30.10.12
Wohnort: hier
Version: R2020a
     Beitrag Verfasst am: 16.06.2021, 18:43     Titel:
  Antworten mit Zitat      
Welches ist denn deine Line 28?

Hast du versucht, zu debuggen?
Also Schritt für Schritt durschzugehen und zu schauen, was ist an welcher Stelle in der Variablen/Parametern enthalten?

Ggf.
Code:

mit einfügen, um im Fall eines geworfenen Fehlers diekt debuggen zu können.
_________________

LG
Martina

"Wenn wir bedenken, daß wir alle verrückt sind, ist das Leben erklärt." (Mark Twain))
Private Nachricht senden Benutzer-Profile anzeigen
 
r.eselchen
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 14.06.21
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.06.2021, 18:56     Titel:
  Antworten mit Zitat      
Das wäre line 28:

Code:
[B0, B1, B2, B3]= BT (T, parameterH2O);


Oh ok. Danke. Das probier ich sofort aus!

LG
Private Nachricht senden Benutzer-Profile anzeigen
 
r.eselchen
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 14.06.21
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.06.2021, 07:07     Titel:
  Antworten mit Zitat      
Leider kommt dabei das Selbe herraus. Immer 'parameterH2O' undefined.

An der Ausgabe selber ist nicht's verkehrt oder?
Private Nachricht senden Benutzer-Profile anzeigen
 
Mmmartina
Forum-Meister

Forum-Meister


Beiträge: 745
Anmeldedatum: 30.10.12
Wohnort: hier
Version: R2020a
     Beitrag Verfasst am: 18.06.2021, 18:55     Titel:
  Antworten mit Zitat      
r.eselchen hat Folgendes geschrieben:
Das wäre line 28:

Code:
[B0, B1, B2, B3]= BT (T, parameterH2O);


Oh ok. Danke. Das probier ich sofort aus!

LG

Ist denn der Parameter bekannt zum Zeitpunkt des Aufruf der Funktion BT?
Setze doch mal einen break point dorthin und schau was in den Parametern steht.
Wird es vorher überhaupt zugewiesen?
_________________

LG
Martina

"Wenn wir bedenken, daß wir alle verrückt sind, ist das Leben erklärt." (Mark Twain))
Private Nachricht senden Benutzer-Profile anzeigen
 
r.eselchen
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 14.06.21
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.06.2021, 16:55     Titel:
  Antworten mit Zitat      
Ich glaube das Problem liegt darin, dass die Funktion gammaRK und BT beide den Input parameter haben. Die Parameter für beide Funktionen befinden sich in der selben Struktur.
Im Programm, wo ich die Funktion gammaRK ausführe, führe ich zuerste aus:

Code:
run Parameters.m


Sollte ich das vielleicht auch in der Funktion gammaRK machen?

LG und vielen vielen Dank für die Hilfe!
Private Nachricht senden Benutzer-Profile anzeigen
 
Mmmartina
Forum-Meister

Forum-Meister


Beiträge: 745
Anmeldedatum: 30.10.12
Wohnort: hier
Version: R2020a
     Beitrag Verfasst am: 19.06.2021, 20:42     Titel:
  Antworten mit Zitat      
r.eselchen hat Folgendes geschrieben:
Ich glaube das Problem liegt darin, dass die Funktion gammaRK und BT beide den Input parameter haben. Die Parameter für beide Funktionen befinden sich in der selben Struktur.
Im Programm, wo ich die Funktion gammaRK ausführe, führe ich zuerste aus:

Code:
run Parameters.m


Sollte ich das vielleicht auch in der Funktion gammaRK machen?

LG und vielen vielen Dank für die Hilfe!


???
Ich kann mich nur wiederholen: Sind die benötigten Parameter zu dem Zeitpunkt, wo sie benötigt werden, angelegt/sind sie bekannt?
Wenn nein, warum nicht?
Werden die Parameter an die Unterfunktionen mit übergeben?

Was soll denn jetzt die Parameters.m machen? Legt es die Parameter als globale Var. an oder was?
_________________

LG
Martina

"Wenn wir bedenken, daß wir alle verrückt sind, ist das Leben erklärt." (Mark Twain))
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.