components of vector valued functions

19 views (last 30 days)
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.

Accepted Answer

Walter Roberson
Walter Roberson on 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.

More Answers (1)

Wilhelm
Wilhelm on 3 Feb 2014
Edited: Walter Roberson on 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?

Categories

Find more on Symbolic Math Toolbox in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!