How to ask for user's input in a program

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 Comments

what have we tried so far?
I have already done the user's input for m, im stuck on the function selection, how do i make that the user could select sin or cos and then make use of it in calculations?
upload your code
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)

Sign in to comment.

 Accepted Answer

Rik
Rik on 13 Oct 2018
Edited: Rik on 13 Oct 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 Comments

Good point, I'll edit it, although this form has the benefit of showing how you can insert any function you want.
Thank you very much! This helped so much, I'll try to do the rest on my own
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

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!