How to rearrange multiple results of a function without using for loop?
2 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Toan Nguyen
il 13 Lug 2020
Risposto: madhan ravi
il 14 Lug 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 Commenti
Risposta accettata
Rafael Hernandez-Walls
il 14 Lug 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 Commenti
Più risposte (1)
Vedere anche
Categorie
Scopri di più su Loops and Conditional Statements in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!