So how do you make MAtlab into a responding program?

I Want to make a program that can respond back to you with words. I found one way but its annoying. I need to put (' ') Around the words I type and the it response but I just want to type the words and it give off a correct responses. Any good examples to make this work?

 Accepted Answer

Use input with the 's' option to request the responses
din = input('What did you have for dinner?', 's');

7 Comments

Not exactly what i meant. What I really was looking for was if I say hello, hey or hi, it will give me a respond for either of them. For Example I have din = input(' ', 's'); if din <= 'Hello' fprintf('Hello sir'); if din <= 'Hi' fprintf('Hi there'); end end. Now it works for the first one (Hello) but when I type hi it say something like matrix error or some stuff. I want it to work for both.
Don't use the <= operator. The reason you get the matrix error is because din cannot have both 5 characters (as it does if din=='Hello') and 3 characters (as if din=='Hi'), as your code assumes. That is the source of your matrix size error.
Use strcmp() (or strcmpi()) instead:
if strcmpi(din, 'Hello'),
fprintf('Hello sir');
elseif strcmpi(din, 'Hi'),
fprintf('Hi');
end
Thanks guys it work now let say I want to make it respond to any word for ex.
if strcmpi(din, 'Hello','Hi','Whats up')
This obiviously doesnt work but I think you understand when I mean that. Like if i make any of these responds it will send back the same responds. How could i do that
if strcmpi(din, {'Hello', 'Hi', 'Whats up'})
Yeah that's not working like I planned any other suggestions.
if any(strcmpi(din, {'Hello', 'Hi', 'Whats up'}))

Sign in to comment.

More Answers (1)

How do I make if and else statement equal to the words that I type.

Categories

Find more on Live Scripts and Functions in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!