How to rearrange multiple results of a function without using for loop?

2 views (last 30 days)
Hi there,
I created function Array(k) which produces an array of 1xN element for the input k.
N = 115824;
Array = linspace(1*k,k*N,N)
I want to apply that function to an array of k = 1:115824. I tried with for loop it but it's very slow.
for k = 1:N
result(k,1:N) = Array(k);
end
Are there any other way to do this task faster and still give me the result as that for loop?
Thank you

Accepted Answer

Rafael Hernandez-Walls
Rafael Hernandez-Walls on 14 Jul 2020
Assuming that the initial value of k = 1, then it can be avoided using the
repmat
command as follows (see vector B),
N = 11;
k=1;
Array = linspace(1*k,k*N,N)';
for k=1:N
result(k,1:N) = Array(k);
end
B = repmat(Array,[1 N])

More Answers (1)

madhan ravi
madhan ravi on 14 Jul 2020

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!