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

Variablen vom Workspace in Funktion laden

 

ahamm
Forum-Anfänger

Forum-Anfänger


Beiträge: 28
Anmeldedatum: 08.05.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.06.2009, 11:10     Titel: Variablen vom Workspace in Funktion laden
  Antworten mit Zitat      
Hallo

Ich habe mal wieder ein Problem und zwar habe ich 2 Funktionen.Ich führe die erste aus, und dann die zweite.nur dass die 2 te die Variablen einlesen soll die dann im workspace sind.das geht aber nich. wenn ich aber eine der Variablen im Workspace aufrufe bekomme ich gleich deren Wert.Müssen die Variablen als Extern deklariert werden in der 2ten Funktion??

Hab keine ahnung.
Danke im Voraus
Private Nachricht senden Benutzer-Profile anzeigen


steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.022
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2023b
     Beitrag Verfasst am: 22.06.2009, 11:13     Titel:
  Antworten mit Zitat      
Moin,

was willst du machen? Hast du Code, der zeigt was schiefläuft? Wenn ich Variablen aufrufe bekomme ich deren Wert - oder was soll dann passieren?

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
 
ben
Forum-Anfänger

Forum-Anfänger


Beiträge: 28
Anmeldedatum: 21.08.08
Wohnort: Stuttgart
Version: R2007a, R2008b
     Beitrag Verfasst am: 22.06.2009, 11:17     Titel:
  Antworten mit Zitat      
Bei einer Funktion musst du die Variablen übergeben, die in der Funktion verwendet werden sollen.
Bsp:

Code:

[ausgebende_variablen] = function(übergebende_variablen)
 


Wenn Du also in der Funktion mit den Vektoren "zahlen" und "wert" rechnen willst und dann die Vektoren "ergebnis_addition" und "ergebnis_multiplikation" raus geben willst, dann müsste die Funktion in so aussehen:

Code:

[ergebnis_addition, ergebnis_multiplikation] = function(zahlen, wert)

% Irgendeine Berechnung
ergebnis_addition = zahlen+wert;
ergebnis_multiplikation = zahlen.*wert;
 


Gruß, Ben
Private Nachricht senden Benutzer-Profile anzeigen
 
ahamm
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 28
Anmeldedatum: 08.05.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.06.2009, 11:18     Titel:
  Antworten mit Zitat      
Also wenn ich die zweite Funktion aufrufe mit
[a,e,d,t]= function ali (q,w,r,g)

blablabla....

ende

dann wird mir gesagt der wüßte nicht was q,w,r,g seien obwohl im Workspace Werte unter diesen Variablen gespeichert sind.

Danke
Private Nachricht senden Benutzer-Profile anzeigen
 
steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.022
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2023b
     Beitrag Verfasst am: 22.06.2009, 11:31     Titel:
  Antworten mit Zitat      
Moin,

das ist klar, denn Funktionen "sehen" nur ihren eigenen Workspace. Wenn du die Variablen aus dem 'base'-Workspace in deiner Funktion nutzen willst, dann musst du sie mittels EVALIN aus dem 'base'-Workspace holen.

Nur mal nebenbei, du hast zwei Funktionen? Die eine legt Variablen im 'base'-Workspace ab? Die andere soll mit diesen weiterrechnen? Warum machst du nicht einfach einen Aufruf der zweiten Funktion innerhalb der ersten? Oder habe ich etwas falsch vestanden.

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
 
ahamm
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 28
Anmeldedatum: 08.05.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.06.2009, 11:40     Titel:
  Antworten mit Zitat      
Danke für den Tipp wenn du mir noch sagen könntest wie ich evalin nutzen muss dann wäre ich dir sehr dankbar.
also es ist so dass die Variablen sehr viele Werte annehmen.so um den dreh gibt es 100 verschiedene Variablenwerte für die erste Funktion. Das heisst dass die erste Funktion 100 mal vorhanden ist. Dann ist es ungeschikt da überall noch die 2te Funktion einzubinden.oder?
Private Nachricht senden Benutzer-Profile anzeigen
 
steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.022
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2023b
     Beitrag Verfasst am: 22.06.2009, 11:47     Titel:
  Antworten mit Zitat      
Keine Ahnung... Ich weiß leider nicht was deine erste Funktion macht, woher sie die Werte nimmt, aber wenn die erste Funktion 100x da ist (?!) dann klingt das für mich schon komisch.

Zu EVALIN:
Nehmen wir an, du hast in deinem 'base'-Workspace die Variable "x". Du möchstest diese Variable gerne in deiner Funktion verwenden, dann schreibst du in dieser Funktion:
Code:
x = evalin('base','x');
% du kannst ihr in der Funktion auch einen anderen Namen geben:
y = evalin('base','x');


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
 
ahamm
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 28
Anmeldedatum: 08.05.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.06.2009, 14:12     Titel:
  Antworten mit Zitat      
Hallo !!!
Danke hat alles geklappt.....
Gruss
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.