Square of 20 random number sum up to 1

5 visualizzazioni (ultimi 30 giorni)
shawin
shawin il 6 Set 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.

Risposte (2)

Dimitris Kalogiros
Dimitris Kalogiros il 6 Set 2018
Modificato: Dimitris Kalogiros il 6 Set 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 il 6 Set 2018
r = r / sqrt(sum(r.^2))
Best wishes
Torsten.

Categorie

Scopri di più su Creating and Concatenating Matrices in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by