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

Function Handle

 

saz

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.06.2011, 11:22     Titel: Function Handle
  Antworten mit Zitat      
Hallo,

ich bin noch blutiger Matlab-Anfänger und habe eine Frage zum Function handle. Folgender Sachverhalt: Ich habe eine Funktion f(x,y) als function handle, die ich einer function übergeben möchte - jedoch nur als Funktion von einer Variablen, die andere Variable soll also quasi als (unbekannte) Konstante behandelt werden, sodass ich am Ende wieder ein function handle als Ergebnis erhalte. Wie geht das?

(Also vllt. als Beispiel:

Code:

f= @(x,y)=x+y


Was ich möchte, ist sowas wie zunächst über x integrieren (bei festem y) und das Ergebnis soll ein function handle mit y als Variable sein.)

Danke!


saz

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.06.2011, 12:14     Titel:
  Antworten mit Zitat      
Niemand eine Idee? Oder noch zu unverständlich, was ich möchte? Confused
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 16.06.2011, 15:51     Titel:
  Antworten mit Zitat      
Hallo

Zitat:


Was ich möchte, ist sowas wie zunächst über x integrieren (bei festem y) und das Ergebnis soll ein function handle mit y als Variable sein.)


ich persönlich verstehe ich nicht was du darunter meinst? Beispiel vielleicht...

Code:

f=@(x,y)x+y

f(2,3) % =5
 
Private Nachricht senden Benutzer-Profile anzeigen
 
saz

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.06.2011, 17:06     Titel:
  Antworten mit Zitat      
Hm naja, zum Beispiel die Funktion quad (Integration) erwartet ja als Argument eine Funktion in Abhängigkeit von einer Variablen. Ich würde ihr aber gern eine Funktion mit zwei Variablen übergeben, wobei eine als Konstante behandelt werden soll (ohne dass ich den Wert der Konstante als Zahlenwert vorgebe).

Also meinetwegen

Code:
f(x,a) = a + x


Was ich berechnen möchte, ist

\int_0^1 f(x,a) dx = \int_0^1 (x+a) dx

(und das Ergebnis entsprechend als Funktion in Abhängigkeit von a). Geht so etwas mit Matlab über function handles umzusetzen?
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 17.06.2011, 17:19     Titel:
  Antworten mit Zitat      
Hallo


Bei QUAD ist nur ein Übergabeparameter an externe Funktion möglich.

Wenn es Konstante ist warum musst du sie übergeben?
so soll es mit Konstante funktionieren:
Code:

a=2
f=@(x)x+a
quad(f,0,1)
 
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.06.2011, 21:58     Titel:
  Antworten mit Zitat      
Es ist eine "Konstante", deren Wert ich nicht weiß. Ziel ist es, die mehrdimensionale Integration auf die eindimensionale zurückzuführen, indem man die verschiedenen Variablen nacheinander integriert.
Deshalb muss eben nach der Integration über eine Variable wieder eine Funktion (als Funktion der verbleibenden zu integrierenden Variablen) herauskommen.

[Ich weiß, dass es in Matlab andere Funktionen dafür gibt, die das direkt tun, aber das ist eben nicht die Aufgabe. Genau genommen geht es mir auch nicht um die Funktion quad, sondern um eine selbstgeschriebene (die aber die gleichen Parameter hat wie quad und auch ähnliches tut).]
 
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.