%For C1
lambda1 = [60.21, 41.58, 9.11, 8.71, 3.83, 3.74, 18.06]r1 = poissrnd(lambda1)%For C2
lambda2 = [41.58, 60.21, 8.71, 9.11, 3.74, 3.83, 18.06]r2 = poissrnd(lambda2)%Designed training sequences x1 and x2
x1 = [1,1,1,0,0,0,0,1,0,1,0,1,1,0,0,1] ;x2 = [1,1,1,0,1,0,0,0,1,1,1,0,0,0,0,1] ;%X[3] to X[16]
X3 = [1 1 1 1 1 1 1]' ;X4 = [0 0 1 1 1 1 1]' ;X5 = [0 1 0 0 1 1 1]' ;X6 = [0 0 0 1 0 0 1]' ;X7 = [0 0 0 0 0 1 1]' ;X8 = [1 0 0 0 0 0 1]' ;X9 = [0 1 1 0 0 0 1]' ;X10 = [1 1 0 1 1 0 1]' ;X11 = [0 1 1 1 0 1 1]' ;X12 = [1 0 0 1 1 1 1]' ;X13 = [1 0 1 0 0 1 1]' ;X14 = [0 0 1 0 1 0 1]' ;X15 = [0 0 0 0 1 0 1]' ;X16 = [1 1 0 0 0 0 1]' ;%X,a 7x14 matrix
X = [X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,X16];%C, a 7x2 matrix
C = [r1; r2]' ;%Y, a 14x2 matrix
Y = X'*C ;%Yd = Poiss(Y) (at equation (8))
Yd = poissrnd(Y)%y1, a 14x1 matrix ; y2, a 14x1 matrix
y1 = Y(:,1)y2 = Y(:,2)%Least Square Estimate of C
Cls = (inv(X*X'))*(X*Yd)% To set to zero all the negative entries of C
Cls1 = max(Cls,0)%Mean square error of LS C and C
MSE = mean((C - Cls1).^2)
MATLAB: How to run this code for 1000 times
monte
Best Answer