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

Zugriff auf Funktionen im R^2 (function_handle)

 

mrmaikel
Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 21.06.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.06.2008, 08:49     Titel: Zugriff auf Funktionen im R^2 (function_handle)
  Antworten mit Zitat      
Hallo!

Ich definiere mir eine Funktion mittels function_handle, z.B.:

Code:
f =@(t) [t; -t];


-->f lebt also im R^2

Ich möchte nun auf die x_1-Komponente des Vektors f zugreifen und diese in einem weiteren function_handle benutzen! Was also nicht funktionier ist:

Code:
res = f(1); res(1)


Denn ich brauche einen Zugriff für alle Zeiten. Ausprobiert habe ich schon:

Code:
f(t,1), f(1,t), f(1)(t), f(t)(1), (f(t))(1)



Meine zweite Funktion soll senkrecht auf f stehen, also

Code:
g = @(t) [-f2(t);f1(t)]


(Dies funktioniert natürlich nicht.) Eine alternative Lösungsmöglichkeit wäre eine Methode, die die senkrechte eines Vektors im R^2 ausgibt.

Ich bitte um schnelle Antwort, danke für eure Hilfe!
_________________

mfg,

mrmaikel
Private Nachricht senden Benutzer-Profile anzeigen


nschlange
Ehrenmitglied

Ehrenmitglied



Beiträge: 1.318
Anmeldedatum: 06.09.07
Wohnort: NRW
Version: R2007b
     Beitrag Verfasst am: 21.06.2008, 10:44     Titel:
  Antworten mit Zitat      
Hi,

kannst Du nicht zwei Funktionen definieren?
Code:

f1=@(t) [t NaN]
f2=@(t) [NaN -t]


Oder eine m-file function benutzen, die einen zusätzlichen Parameter zur Bestimmung der Komponente bekommt:
Code:
function ret = f (x,n)
switch n
    case 1
        ret=x(1);
    case 2
        ret=-x(2);
end


Aber das Vorhaben ist mir noch nicht ganz klar...
_________________

Viele Grüße
nschlange

"Chuck Norris ejakuliert fluessigen Stahl!"
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
mrmaikel
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 21.06.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.06.2008, 15:37     Titel:
  Antworten mit Zitat      
Deine Funktion f macht noch nicht das, was sie soll...

Also zum Vorhaben: Ich habe mathematisch eine Kurve

Code:
f : R --> R^2; f(t) = [f1(t);f2(t)]


Nun möchte ich eine Kurve g definieren:

Code:
g : R --> R^2; g(t) = [-f2(t);f1(t)]


f kann ich in Matlab so beschreiben;

Code:
f = @(t) [...;...]


wobei ich f1(t) und f2(t) direkt in den Vektor eintrage.
Nun möchte ich Matlab g beibringen, in Abhängigkeit von f, d.h. von f1(t) und f2(t). Dazu muss ich f die 1. und 2. Komponente entlocken.
_________________

mfg,

mrmaikel
Private Nachricht senden Benutzer-Profile anzeigen
 
nschlange
Ehrenmitglied

Ehrenmitglied



Beiträge: 1.318
Anmeldedatum: 06.09.07
Wohnort: NRW
Version: R2007b
     Beitrag Verfasst am: 21.06.2008, 15:44     Titel:
  Antworten mit Zitat      
Ach so, ich dachte es ginge um die Fktn f.

Meinst Du dann so was:
Code:
clear all;
clc;

f =@(t) [2*t -3*t];
g =@(t) [-t(2) t(1)];
g(f(1))
?
_________________

Viele Grüße
nschlange

"Chuck Norris ejakuliert fluessigen Stahl!"
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
mrmaikel
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 21.06.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.06.2008, 15:46     Titel:
  Antworten mit Zitat      
nein, auch sowas nicht^^
Hier lebt t in R^2.

Ich glaube, ich habs gelöst:

Code:

function res = komp(f,t,n);

tmp = f(t);
switch n
    case 1
        res = tmp(1);
    case 2
        res = tmp(2);
end

clear tmp;
end
 

_________________

mfg,

mrmaikel
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.