Please Help! : Unrecognized function or variable 'crandn'.

2 views (last 30 days)
% simple SIMO system
m = 2;
l = 20;
alphabet = [ exp(j*pi/4); exp(j*3/4*pi); exp(j*5/4*pi); exp(j*7/4*pi) ];
h0 = crandn(m, 1);
h1 = crandn(l, 1);
h2 = crandn(m, l);
hmatrix1 = diag(h1);
ptx = 1;
vinit = alphabet(round(4*rand(l, 1)+0.5));
htotinit = (h0+h2*diag(vinit)*h1)*sqrt(ptx);
ginit = htotinit/(1+htotinit'*htotinit);
mseinit = 1/(1+htotinit'*htotinit);
gold = ginit;
vold = vinit;
mseold = mseinit;
iter = 1;
while 1 == 1,
a = hmatrix1'*h2'*gold;
b = gold'*h0-1;
vcand = b/abs(b)*a./abs(a);
vnew = zeros(l, 1);
vnew = sqrt(2)*((real(vnew) > 0)-0.5+j*(imag(vnew) > 0)-0.5);
if round(norm(vnew-vold)) == 0,
break;
end
htotnew = (h0+h2*diag(vnew)*h1)*sqrt(ptx);
gold = 1/(1+htotnew'*htotnew)*htotnew;
mseold = 1/(1+htotnew'*htotnew);
msenew = mseold
vold = vnew;
iter = iter+1;
end
msenew = 0.0055
disp(sprintf("MSEinit=%f", mseinit))
MSEinit=0.011244
disp(sprintf("MSEupdated=%f", msenew))
MSEupdated=0.005515
disp(sprintf("number of iterations=%i", iter))
number of iterations=2
Why is my matlab showing this error?
I am able to run my code here but not in my matlab program.
Can anyone help?

Accepted Answer

Walter Roberson
Walter Roberson on 27 Feb 2022
Edited: Walter Roberson on 30 Jun 2025
  4 Comments
Alvin Ang
Alvin Ang on 27 Feb 2022
Oh I understand now, i have to install the toolbox. Thank you.

Sign in to comment.

More Answers (1)

Bobby Cheng
Bobby Cheng on 30 Jun 2025
Edited: Steven Lord on 30 Jun 2025
Just come across this. A bit slow news. But randn supports generating complex number since R2022a.
[SL: hyperlinked the function name.]

Categories

Find more on Startup and Shutdown in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!