calling seperate members of a vector function

2 views (last 30 days)
I want to call seperate members of my defined vector function and I don't know how to do it.
For example I defined the vector function as shown:
F=@(x,y,z) [x- y, y^2 , z+2] which shows:
@(x, y, z) [x - y, y ^ 2, z + 2]
how do i call only one member, like the first one "x-y"? Because if I do F(1) I'm defining x as equal to 1.
  1 Comment
Ive J
Ive J on 25 Oct 2021
Why not this?
F = @(x) [x(1) - x(2), x(2)^2 , x(3) + 2];
res = F(1:3);
res(1)
ans = -1

Sign in to comment.

Accepted Answer

Matt J
Matt J on 26 Oct 2021
Edited: Matt J on 26 Oct 2021
There's no way to do that. You could do it if the components are held in struct form, e .g.,
F=@(x,y) struct('a',x-y,'b', y^2);
F(5,3).a
ans = 2
  2 Comments
Matt J
Matt J on 28 Oct 2021
You're welcome, but if you consider your question answered, please Accept-click the answer.

Sign in to comment.

More Answers (0)

Products


Release

R2021a

Community Treasure Hunt

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

Start Hunting!