Square of 20 random number sum up to 1

3 次查看(过去 30 天)
The code below generate 20random number which their sum up to 1. r = rand(1, 20); % Start with 20 random numbers. r = r / sum(r) % Normalize so the sum is 1. theSum = sum(r) % Check to make sure. Should be 1
How we can generates 20 random number in which their squares are sum up to 1.

回答(2 个)

Dimitris Kalogiros
编辑:Dimitris Kalogiros 2018-9-6
clear ; clc;
N=20;
r=rand(1,N);
normFactor=sqrt(sum(r.^2));
r=r/normFactor;
figure;
plot(r,'bo');
zoom on; grid on;
xlabel('index'); ylabel('random number');
S=sum(r.^2);
fprintf('sum of square random numbers : %f \n', S);
If you run this script :

Torsten
Torsten 2018-9-6
r = r / sqrt(sum(r.^2))
Best wishes
Torsten.

类别

Help CenterFile Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by