Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- clc, clear
- % Create three distribution objects with different parameters
- pd1 = makedist('Uniform','lower',2,'upper',6);
- pd2 = makedist('Uniform','lower',2,'upper',4);
- pd3 = makedist('Uniform','lower',5,'upper',6);
- % Compute the pdfs
- x = -1:.01:9;
- pdf1 = pdf(pd1,x);
- pdf2 = pdf(pd2,x);
- pdf3 = pdf(pd3,x);
- % Sum of uniforms
- pdf = (pdf1 + pdf2 + pdf3);
- % Plot the pdfs
- figure;
- stairs(x,pdf,'r','LineWidth',2);
- pdf = pdf/sum(pdf);
- % MATLAB R2018b
- pd1 = makedist('Uniform',2,6);
- pd2 = makedist('Uniform',2,4);
- pd3 = makedist('Uniform',5,6);
- a = 0.25;
- b = 0.35;
- c = 1 - a - b; % a + b + c = 1
- pdfMix =@(x) a.*pdf(pd1,x) + b.*pdf(pd2,x) + c.*pdf(pd3,x);
- Xrng = 0:.01:8;
- plot(Xrng,pdfMix(Xrng))
- xlabel('X')
- ylabel('Probability Density Function')
- N = 80000; % Number of samples
- X1 = random(pd1,N,1); % Generate samples
- X2 = random(pd2,N,1);
- X3 = random(pd3,N,1);
- X = X1 + X2 + X3; % Convolution
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement