How to ask for user's input in a program

4 Ansichten (letzte 30 Tage)
Dominykas Repecka
Dominykas Repecka am 13 Okt. 2018
I need to create a program which would ask for user to type any value m and choose between functions (sin or cos). After that I have to calculate an equation x=m:.1:m+4*pi and based on the chosen function the program should draw a discrete data plot. The program should later continue the calculations each 0.5s increasing m by pi/8 for 15 times and then draw a new plot in the earlier figure. I should use for, if, else constructors and I have no idea where to start and how to do it. I would love any kind of help! Thanks in advance!
  4 Kommentare
madhan ravi
madhan ravi am 13 Okt. 2018
upload your code
Dominykas Repecka
Dominykas Repecka am 13 Okt. 2018
prompt='Iveskite skaiciu m: ';
m=input(prompt)
x=m:.1:m+4*pi;
A=sin(x);
B=cos(x);
prompt2='Pasirinkite funkcija cos(B)/sin(A): ';
f=input(prompt2)

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Rik
Rik am 13 Okt. 2018
Bearbeitet: Rik am 13 Okt. 2018
You're already very close. You just need to follow the instructions: use if and else. You should be able to complete the rest of the assignment on your own building on the code below. It uses anonymous functions so you can even expand this very easily to more functions.
prompt='Iveskite skaiciu m: ';
m=input(prompt);
x=m:.1:m+4*pi;
prompt2='Pasirinkite funkcija cos(B)/sin(A): ';
f=input(prompt2,'s');%save as string
if strcmp(f,'A')
fun=@sin;
elseif strcmp(f,'B')
fun=@cos;
else
error('invalid selection')
end
figure(1),clf(1)
plot(x,fun(x))
  4 Kommentare
Dominykas Repecka
Dominykas Repecka am 13 Okt. 2018
Thank you very much! This helped so much, I'll try to do the rest on my own
Dominykas Repecka
Dominykas Repecka am 20 Okt. 2018
I've been really struggling understanding the loop function and mainly how it works
% prompt='Iveskite skaiciu m: ';
m=input(prompt);
x=m:.1:m+4*pi;
prompt2='Pasirinkite funkcija cos(B)/sin(A): ';
f=input(prompt2,'s');
if strcmp(f,'A')
fun=@sin;
elseif strcmp(f,'B')
fun=@cos;
else
error('Negalimas pasirinkimas')
end
figure(1),clf(1)
plot(x,fun(x))
% x=m:.1:m+4*pi;
for m = 0:pi/8:15
t = timer('Period', 0.5);
disp(m)
end
how do I figure the last part? I tried to write here something, but i have no idea how the syntax works and help or doc commands dont really help me much

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by