フィルターのクリア

Create equally spaced 2-d array

24 ビュー (過去 30 日間)
Michael
Michael 2014 年 12 月 5 日
編集済み: Azzi Abdelmalek 2014 年 12 月 5 日
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?

採用された回答

Mohammad Abouali
Mohammad Abouali 2014 年 12 月 5 日
編集済み: Mohammad Abouali 2014 年 12 月 5 日
arrayName=bsxfun(@times,(1:n)',linspace(1,2*pi,100*n))

その他の回答 (1 件)

Azzi Abdelmalek
Azzi Abdelmalek 2014 年 12 月 5 日
編集済み: Azzi Abdelmalek 2014 年 12 月 5 日
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

カテゴリ

Help Center および File ExchangeMatrix Indexing についてさらに検索

製品

Community Treasure Hunt

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

Start Hunting!

Translated by