How to ask a user for an input for once ?

2 views (last 30 days)
I am new to MATLAB and I am attempting to make a code that asks the user to input a function and then estimates the integral using Monte Carlo Method.
My problem is when I ask to enter the function, it repeats asking for the function. I only want the user to enter the function only once.
Thanks in advance for any help!
This is my code :
under = 0;
nmax = 10000;
for i=1:nmax
x = rand;
y = rand;
prompt = 'Enter your function';
z = input(prompt);
if y <= z
under = under +1;
end
end
estimated_integration =(under/nmax);
  3 Comments
Osama Al-Shalali
Osama Al-Shalali on 3 Feb 2020
@Adam
In Monte Carlo Method, we need to generate pretty enough random numbers to estimate an integration.
Adam
Adam on 4 Feb 2020
But you are asking the user to input a function every time and then running a test against that. Either you want that to happen 10000 times or if you don't then don't put it in the loop.

Sign in to comment.

Accepted Answer

KSSV
KSSV on 4 Feb 2020
Put the prompt which asks for input outside the loop.
prompt = 'Enter your function';
z = input(prompt);
under = 0;
nmax = 10000;
for i=1:nmax
x = rand;
y = rand;
if y <= z
under = under +1;
end
end
estimated_integration =(under/nmax);

More Answers (1)

Osama Al-Shalali
Osama Al-Shalali on 5 Feb 2020
Thanks!
all I nedded to define
syms z x;
plot(x,subs(z));

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!