Why won't this display?

2 views (last 30 days)
Jens Peter Juul
Jens Peter Juul on 6 Oct 2017
Commented: Jens Peter Juul on 6 Oct 2017
I am trying to display a random number x. I have tried the following for making the code display x but without success:
a = 16807;
b = 2147483647;
function [x] = lrng(m,a)
x(1)= (m-1)*rand(1)+1
for k=2:10
x(k)=mod(a*x(k-1),m);
end
fprintf('%.2f', x)
end
and
a = 16807;
b = 2147483647;
function [x] = lrng(m,a)
x(1)= (m-1)*rand(1)+1
for k=2:10
x(k)=mod(a*x(k-1),m);
end
disp(x)
end
Every time I try, I get the confirmation that the code has been run, but then it wont show me the output. What do I do? Have I made some mistakes regarding the code or is it something else?
Kind regards Jens

Accepted Answer

Guillaume
Guillaume on 6 Oct 2017
Edited: Guillaume on 6 Oct 2017
Well, you're creating a variable a, a variable b, and a function lrgn but never do anything with them such as calling the function with your a and b variable.
So possibly, you meant to do:
a = ...
b = ...
lrng(b, a) %actually call the function!
function [x] = ...
Note that it's only in recent versions of matlab that you can define a function in a script. In earlier versions, your function would have had to be in a separate file, making more obvious that you never do anything with it.

More Answers (0)

Categories

Find more on Loops and Conditional Statements 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!