is it possible to use the syntax V(i) as a vector?

I've got a function which has collection of vectors with the same length as an output. Is it possible to somehow make this collection such that users can use the syntax V(i) for reaching the ith vector from the collection, where V = myfunc() is the output of my function. It is possible to use matrices or cell arrays to create the collection, but in these cases users have to use the syntax V(i,:) or V{i}. I would like to use V(i)!

1 Comment

A singleton address into a vector is unilaterally a single element of that vector; anything else would break too much. OTOMH the cell array is as close as you can get...

Sign in to comment.

Answers (1)

The simplest method is to return a function handle:
function V=myfunc()
V=rand(3);
V=@(i)V(i,:);
end

Asked:

on 5 Dec 2014

Answered:

on 26 Oct 2024

Community Treasure Hunt

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

Start Hunting!