How do I store each output of my function as an vector element?

1 view (last 30 days)
I wrote a cross-ambiguity function (Function [tau,doppler,tau_p,doppler_p] = wgenx). There are no input arguments.
When I call my function in the command window, I get an output of four values.
I want to run my function 500 times and get 500 tau values, 500 doppler values, 500 tau_p values and 500 doppler_p values. But I want the 500 tau values in a vector (dimension 1 x 500) and 500 doppler values in a separate vector (dimension 1 x 500).
I am using on older 2010a student matlab version.
Help?

Accepted Answer

Marta Salas
Marta Salas on 12 Mar 2014
Edited: Marta Salas on 12 Mar 2014
I guess there are more efficient ways to do it, but have you try a simple for loop?
for i=1:150
[tau(i),doppler(i),tau_p(i),doppler_p(i)] = wgenx;
end

More Answers (1)

Andrei Bobrov
Andrei Bobrov on 12 Mar 2014
Edited: Andrei Bobrov on 12 Mar 2014
[tau,doppler,tau_p,doppler_p] = arrayfun(@wgenx,1:500);
ADD
[tau,doppler,tau_p,doppler_p] = arrayfun(@(x)wgenx,1:500);
  2 Comments
Pamela Stein
Pamela Stein on 12 Mar 2014
I tried your suggestion in the command window. I receive "error using ==>wgenx, too may input arguments.
Suggestions? Thank you.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!