MATLAB Answers

Square of 20 random number sum up to 1

2 views (last 30 days)
shawin
shawin on 6 Sep 2018
Edited: Dimitris Kalogiros on 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.

  0 Comments

Sign in to comment.

Answers (2)

Dimitris Kalogiros
Dimitris Kalogiros on 6 Sep 2018
Edited: Dimitris Kalogiros on 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 :

  0 Comments

Sign in to comment.


Torsten
Torsten on 6 Sep 2018
r = r / sqrt(sum(r.^2))
Best wishes
Torsten.

  0 Comments

Sign in to comment.