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.

 채택된 답변

Walter Roberson
Walter Roberson 2014년 2월 3일

1 개 추천

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.

추가 답변 (1개)

Wilhelm
Wilhelm 2014년 2월 3일
편집: Walter Roberson 2014년 2월 3일

0 개 추천

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?

카테고리

제품

질문:

2014년 2월 3일

댓글:

2014년 2월 3일

Community Treasure Hunt

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

Start Hunting!

Translated by