Azzera filtri
Azzera filtri

components of vector valued functions

6 visualizzazioni (ultimi 30 giorni)
Given
F=@(x,y) [x+y,x-y.^2]
how do I refer to the second component of that function;
the command
syms x,y; F(x,y)(2)
gives an error, though I would expect to get x-y^2. My goal is to define a new function which only contains one particular component of a vector field like
f2=@(x,y) F(x,y)(2)
Probably simple but I did not find the correct syntax.

Risposta accettata

Walter Roberson
Walter Roberson il 3 Feb 2014
VSelect = @(V,IDX) V(IDX);
F = @(x,y) [x+y,x-y.^2]
f2 = @(x,y) VSelect(F(x,y),2);
There is no good direct way to do it. There is a way to do it all in one function call, but it is somewhat ugly and not easy to read.

Più risposte (1)

Wilhelm
Wilhelm il 3 Feb 2014
Modificato: Walter Roberson il 3 Feb 2014
That gives
>> syms z
>> F(1,z)
ans =
[ z + 1, 1 - z^2]
in my example.
I want to define a new function handle however which yields the second component x-y^2 only (for my example).
Or did I misunderstood your answer?

Categorie

Scopri di più su Symbolic Math Toolbox in Help Center e File Exchange

Prodotti

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by