Effacer les filtres
Effacer les filtres

Create equally spaced 2-d array

24 vues (au cours des 30 derniers jours)
Michael
Michael le 5 Déc 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?

Réponse acceptée

Mohammad Abouali
Mohammad Abouali le 5 Déc 2014
Modifié(e) : Mohammad Abouali le 5 Déc 2014
arrayName=bsxfun(@times,(1:n)',linspace(1,2*pi,100*n))

Plus de réponses (1)

Azzi Abdelmalek
Azzi Abdelmalek le 5 Déc 2014
Modifié(e) : Azzi Abdelmalek le 5 Déc 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

Catégories

En savoir plus sur Matrix Indexing dans Help Center et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by