Filter löschen
Filter löschen

Square of 20 random number sum up to 1

3 Ansichten (letzte 30 Tage)
shawin
shawin am 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.

Antworten (2)

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

Kategorien

Mehr zu Creating and Concatenating Matrices finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by