How to make a function that outputs true or false (logical) if a number inputted is in a predetermined vector?
Show older comments
% Here is my code:
function [x] = testLucky1
% testLucky(x) - determine whether x is a lucky number
% return true (1) if x is a lucky number
% return false (0) if x is not a lucky number
secretLucky = [19,22,5,9,11,15,21];
x = input('Enter a number: ');
for k = 1:length(secretLucky)
if secretLucky(k) == x
true
else
false
end
end
% The issue I'm having is that when I enter a single number like
% 19/22/5/9/11/15/21, the command window shows a logical statement of 1
% alongside logical statements of 0.
% For example, if I input 19, the first logical statement in the command
% window will be 1, and the remaining 6 logical statements will be 0.
% My question is, how can I make the output in the command window be a
% SINGLE logical statement of 1 if ANY of the numbers in vector secretLucky
% is entered? And if a number that is not ANY of the numbers in vector
% secretLucky is entered, how can I have a SINGLE logical statement of 0?
% Does my issue stem from the fact the ouput of true/false is based on my
% variable k? If so what should I do to change this?
Accepted Answer
More Answers (1)
Davide Masiello
on 1 Mar 2022
Edited: Davide Masiello
on 1 Mar 2022
function testLucky
% testLucky - determine whether x is a lucky number
% return true (1) if x is a lucky number
% return false (0) if x is not a lucky number
secretLucky = [19,22,5,9,11,15,21];
x = input('Enter a number: ');
result = false;
for i = 1:numel(secretLucky)
if x == secretLucky(i)
result = true;
end
end
result
end
2 Comments
Jacob Boulrice
on 1 Mar 2022
Davide Masiello
on 1 Mar 2022
I didn't think about that, I have edited my answer accordingly
Categories
Find more on Programming 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!