Please Help! : Unrecognized function or variable 'crandn'.
2 views (last 30 days)
Show older comments
Alvin Ang
on 27 Feb 2022
Edited: Walter Roberson
on 30 Jun 2025
% 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
disp(sprintf("MSEinit=%f", mseinit))
disp(sprintf("MSEupdated=%f", msenew))
disp(sprintf("number of iterations=%i", iter))
Why is my matlab showing this error?
I am able to run my code here but not in my matlab program.
Can anyone help?
0 Comments
Accepted Answer
Walter Roberson
on 27 Feb 2022
Edited: Walter Roberson
on 30 Jun 2025
4 Comments
Walter Roberson
on 27 Feb 2022
Edited: Walter Roberson
on 30 Jun 2025
oh I missed that one, it isn't documented! https://www.mathworks.com/matlabcentral/answers/495798-why-can-t-i-use-crand-in-matlab#answer_405656
More Answers (1)
Bobby Cheng
on 30 Jun 2025
Edited: Steven Lord
on 30 Jun 2025
[SL: hyperlinked the function name.]
0 Comments
See Also
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!