Logical and function question.
3 次查看(过去 30 天)
显示 更早的评论
I'm trying to create a function that satisfies the following conditions :
- There must be more letters than numbers in combination.
- There must be at least one uppercase letter.
- The summation of all numeric digits must be between the given minimal and maximal values (exclusive).
And the following is the input I put in. (originalcombo, mincombo, maxcombo) and the output is supposed to be 'true'(1) but it keeps giving me the answer that it's false(0). How can I fix this problem?
originalcombo = 'GPBurdell1885';
mincombo = 20;
maxcombo = 30;
numbercombo=str2double(regexp(originalcombo,'[\d.]+','match'));
W=str2double(regexp(num2str(numbercombo),'\d','match'));
numberoutput = sum(numbercombo);
B = length(originalcombo);
C = B - length(numbercombo);
A = isstrprop(originalcombo, 'upper');
A = sum(A);
lock = (C > length(W)) && (A > 0) && (maxcombo>numberoutput>mincombo)
2 个评论
Walter Roberson
2016-9-16
编辑:Walter Roberson
2016-9-16
I would point out that the numeric digits are not necessarily going to be beside each other, and that the digits are to be added individually. I would also point out that '.' should not be included as a numeric digit.
John D'Errico
2016-9-16
You just asked this question. So why post a second question just to provide more information?????????
Add a comment (NOT a new question, NOT an answer.) Or edit your original question.
回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Logical 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!