How to ask a user for an input for once ?

5 vues (au cours des 30 derniers jours)
Osama Al-Shalali
Osama Al-Shalali le 3 Fév 2020
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 commentaires
Osama Al-Shalali
Osama Al-Shalali le 3 Fév 2020
@Adam
In Monte Carlo Method, we need to generate pretty enough random numbers to estimate an integration.
Adam
Adam le 4 Fév 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.

Connectez-vous pour commenter.

Réponse acceptée

KSSV
KSSV le 4 Fév 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);

Plus de réponses (1)

Osama Al-Shalali
Osama Al-Shalali le 5 Fév 2020
Thanks!
all I nedded to define
syms z x;
plot(x,subs(z));

Catégories

En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by