Create equally spaced 2-d array
28 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Michael
am 5 Dez. 2014
Bearbeitet: Azzi Abdelmalek
am 5 Dez. 2014
I want to create an array, say n-by-100*n. I want the first column to be 1,2,...n, and the last column to be 2*pi,2*2*pi,...,n*2*pi, with linear spacing horizontally, similarly to the linspace function. What is the best way to do this? It tried something along the lines of:
arrayName = zeros(n, 100*n);
for k = 1:n
arrayName(k,:) = linspace(0,k*2*pi,100*k);
end
and it didn't work. Any suggestions?
0 Kommentare
Akzeptierte Antwort
Mohammad Abouali
am 5 Dez. 2014
Bearbeitet: Mohammad Abouali
am 5 Dez. 2014
arrayName=bsxfun(@times,(1:n)',linspace(1,2*pi,100*n))
0 Kommentare
Weitere Antworten (1)
Azzi Abdelmalek
am 5 Dez. 2014
Bearbeitet: Azzi Abdelmalek
am 5 Dez. 2014
Your code is correct, you've just mistaken in the line [arrayName(k,:) = linspace(0,k*2*pi, 100*k )], you should write 100*n instead of 100*k
arrayName = zeros(n, 100*n);
for k = 1:n
arrayName(k,:) = linspace(0,k*2*pi,100*n);
end
0 Kommentare
Siehe auch
Kategorien
Mehr zu Matrix Indexing finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!