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

Wert von einer m-file in einer anderen verwenden?!

 

NeulingMatL

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.01.2010, 11:27     Titel: Wert von einer m-file in einer anderen verwenden?!
  Antworten mit Zitat      
Hallo!

Und zwar kenn ich mich nicht besonders aus mit MATLAB muss aber damit eine Aufgabe erledigen, dazu benötige ich eure Hilfe.
Und zwar habe ich zwei m-files. Im ersten "Programm1" wird eine MEssung vorgenommen, von dieser möchte ich den ermessenen Wert "Wert1" für Berechnungen im "Programm2" verwenden.

Folgendes habe ich zur Zeit din stehen, aber es klappt halt nicht:
Im Programm1 steht:
Code:
%
vals=Programm2(Wert1);
Programm2(Wert1);
 


Im Programm2 steht:
Code:
%
(ganz oben) function Programm2(Wert2)
 


Das ist das was ich von meinem Betreuer so bekommen habe... ich kanns auch halbwegs nachvollziehen, aber es klappt halt irgendwie nicht und was das "vals" dort zu suchen hat evrsteh ich auch nicht.
Also nur nochmal zum Verständnis:
Ich will den Wert1 aus Programm1 für weitere Berechnungen die sich im Programm2 befinden, verwenden. Dort heisst der Wert mit dem ich weiter arbeite Wert2.

Vielen Dank schon einmal im vorraus


NeulingMatL

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.01.2010, 11:31     Titel: Ergänzung
  Antworten mit Zitat      
ich sollte vllt noch Ergänzen das der "Wert2" wieder in das "Programm1" geführt und dort auch ausgegeben werden soll.
 
Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.654
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 22.01.2010, 11:47     Titel:
  Antworten mit Zitat      
Ich denke es ist einfach nur nötig zu wissen wie Rückgabewerte von Funktionen programmiert werden und funktionieren:

http://www.mathworks.com/access/hel.....matlab_prog/f7-58170.html

Andreas
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Fragewurm
Forum-Century

Forum-Century


Beiträge: 180
Anmeldedatum: 23.09.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.01.2010, 11:52     Titel:
  Antworten mit Zitat      
Hi

Vielleicht helfen die ein paar Grundligende Sachen :

Die Funktion
Code:

function ergebnis = myfunction ( wert1, wert2)
ergebnis = wert1+wert2;
 

Wenn du so eine Funktion deklariest muss du ihr 2 Werte mitgeben (wert1,2). Die Funkton hat außerdem einen Rückgabewert (ergebnis)

Funktions Aufruf
Code:

zahl1=3;
zahl2=5;
x= myfunction(zahl1,zahl2)
 

Hier beim Aufruf übergibst du der Funktion 2 Parameter (Zahl1,2), diese werden dann in der Funktion bearbeitet und du bekommst den Rückgabewert dieser wird in x eingetragen (x=8 ).
_________________

Fehler jeglicher Art Dienen zur allgemeinen Belustigung
Private Nachricht senden Benutzer-Profile anzeigen
 
NeulingMatL

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.01.2010, 13:08     Titel:
  Antworten mit Zitat      
danke schön erstmal,

@Fragewurm
bei deiner Antwort versteh ich irgendwie den Zusammenhang zu meinem Problem garnicht, sry vllt liegts daran das mir zu viel Grundlagenwissen fehlt

@Andreas
Das hilft mir schon etwas mehr, jetzt kenn ich die Syntax
Code:

out = functionname(variable, 'string', expression, ...);
 

Das entspricht ja eigentlich meinem:
Code:

vals=Programm2(Wert1);
 

D.h. ja, dass ich die variable (Wert1) an die an den functionsname (Programm2) übergebe. Was ist jedoch mit den anderen Sachen? Also ist mein Befehl in meinem zweiten Proigramm auch richtig?
 
NeulingMatL

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.01.2010, 15:04     Titel:
  Antworten mit Zitat      
So danke hab mich nun etwas durchgeschlagen und habs dann hingekriegt. Bin mir aber nicht sicher warum eiegntlich genau, mir fehlt da irgendwie die Logik....kann mir das vllt jemand erklären mit den ein und ausgabeargumenten??
 
derOli
Forum-Meister

Forum-Meister


Beiträge: 579
Anmeldedatum: 19.03.08
Wohnort: Leipzig
Version: 2010a
     Beitrag Verfasst am: 22.01.2010, 17:20     Titel:
  Antworten mit Zitat      
Hi,

es ist eigentlich ganz einfach, du hast eine Funktion, die kannst du dir vorstellen als Blackbox. Für diese Funktion gibt es normalerweise ein paar Eingänge und ein paar Ausgänge und auch nur einen. Wie man so eine Funktion erstellt und die jeweiligen Ein und Ausgänge benennt beschreibt Fragewurm weiter oben. Wenn du jetzt in deinem Hauptprogramm die Funktion aufrufst, übergibst du die Eingangsvariablen und bekommst einen oder mehrere Ausgabewerte, diese kannst du dann speichern und nutzen.

Beachte dabei, dass die Variablennamen innerhalb der Funktion ganz anders sein können als wenn diese von außerhalb angesprochen werden.

Ich hoffe das hilft dir,

viele Grüße,

der Oli
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.