How to rearrange multiple results of a function without using for loop?
    6 views (last 30 days)
  
       Show older comments
    
    Toan Nguyen
 on 13 Jul 2020
  
    
    
    
    
    Answered: madhan ravi
      
      
 on 14 Jul 2020
            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
0 Comments
Accepted Answer
  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])
0 Comments
More Answers (1)
See Also
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!

