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

조회 수: 2 (최근 30일)
Toan Nguyen 2020년 7월 13일
답변: madhan ravi 2020년 7월 14일
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

댓글을 달려면 로그인하십시오.

### 채택된 답변

Rafael Hernandez-Walls 2020년 7월 14일
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])

댓글을 달려면 로그인하십시오.

k .* k.'

댓글을 달려면 로그인하십시오.

### 카테고리

Help CenterFile Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

### Community Treasure Hunt

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

Start Hunting!

Translated by