How can I make 1 by length x array of random numbers from -pi to pi ??

8 ビュー (過去 30 日間)
Chris
Chris 2021 年 10 月 31 日
コメント済み: M.MUSBA Elhadid 2021 年 11 月 1 日
How can I make 1 by length x array of random numbers from -pi to pi ??

採用された回答

Jan
Jan 2021 年 11 月 1 日
See:
help rand
% Generate values from the uniform distribution on the interval (a, b):
r = a + (b - a) .* rand(x, 1);
Now set a=-pi and b=p:
r = -pi + 2*pi * rand(x, 1);
Actually we do not solve homework questions in the forum. But here I hope you see, how useful the hint is to take a look into the documentation. For questions concerning a command, start with help() and doc(). If this does not help directly, look at the bottom in the "See also" line, which contains other similar commands.

その他の回答 (1 件)

M.MUSBA Elhadid
M.MUSBA Elhadid 2021 年 10 月 31 日
編集済み: M.MUSBA Elhadid 2021 年 10 月 31 日
x = ones(1,100); a = [rand(1,length(x))-0.5]+linspace(-pi+0.5,pi-0.5,length(x));
  2 件のコメント
John D'Errico
John D'Errico 2021 年 11 月 1 日
編集済み: John D'Errico 2021 年 11 月 1 日
I'm sorry, but do you realize this solution does not generate uniformly distributed random numbers? Worse, it requires far more effort than the true solution.
Does it work? Is it even remotely close? Perhaps they only way to prove it is to do a large simulation.
a = zeros(1000,100);
for i = 1:1000
x = ones(1,100); a(i,:) = [rand(1,length(x))-0.5]+linspace(-pi+0.5,pi-0.5,length(x));
end
hist(a(:),1000)
Does that look even remotely uniformly distributed? See the answer by Jan for a far better solution. And even worse, you are trying to do what is surely someone's homework assignment. We do not do homework assignments for students on this site.
M.MUSBA Elhadid
M.MUSBA Elhadid 2021 年 11 月 1 日
thank you for the advice. I will check next times.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeCreating and Concatenating Matrices についてさらに検索

製品

Community Treasure Hunt

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

Start Hunting!

Translated by