Square of 20 random number sum up to 1

6 vues (au cours des 30 derniers jours)
shawin
shawin le 6 Sep 2018
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.

Réponses (2)

Dimitris Kalogiros
Dimitris Kalogiros le 6 Sep 2018
Modifié(e) : Dimitris Kalogiros le 6 Sep 2018
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 le 6 Sep 2018
r = r / sqrt(sum(r.^2))
Best wishes
Torsten.

Catégories

En savoir plus sur Creating and Concatenating Matrices dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by