具有逻辑的多个条件语句

13意见(过去30天)
托马斯的太阳
托马斯的太阳 2020年3月31日
我想写一个名为under_age的函数,它输入一个人是否太年轻了。它有多个年龄和限制的输入。
如果年龄小于极限,而不是太限=真实,如果年龄大于太大= false。我也想在输入年龄的情况下放置
在这种情况下,年龄是自动设置为21的极限。
此时,如果这个人是too_young = true,函数就会工作。但是我不明白为什么当too_young = false时它不起作用。
函数[too_young] = under_age(年龄,限制)
如果(输入参数个数= = 2)
年龄<限制
too_young = true;
elsef.(输入参数个数= = 2)
年龄> =限制
太_young = false;
elsef.(nargin == 1) ||为空(limit)
年龄<21
too_young = true;
elsef.(nargin == 1) ||为空(limit)
年龄> = 21
太_young = false;
结尾
1条评论
图像分析
图像分析 20月26日
显然这是家庭作业,因为它是 这个问题的副本 。我会将其标记为作业,就像它应该原本应该是这样没有人提供完整的解决方案。金宝搏官方网站

登录评论。

答案(2)

图像分析
图像分析 2020年3月31日
编辑:图像分析 于5月17日2020年5月17日
尝试这个:
年轻=未成年(22,21)
Too_young =未满年龄(11,25)
太_young = under_age(33)
too_young = under_age(18)
函数too_young = under_age(年龄,限制)
FPRINTF('nargin =%d \ n',nargin);
如果(输入参数个数= = 2)
太_young =年龄<限制;%返回true或false。
其他的
太_young =年龄<21;%返回true或false。
结尾
结尾
2评论
图像分析
图像分析 于5月17日2020年5月17日
好吧,我正在增加评论。这么多,现在有比代码更多的评论。它应该是 现在不言自明。
m-file的%顶部:
%呼叫under_age()函数具有各种值和输入参数的数量。
%首次调用两个输入参数,每个输入参数有不同的限制。
年轻=未成年(22,21)
Too_young =未满年龄(11,25)
%现在呼叫没有第二个输入参数。under_age()函数将假设为21的限制。
太_young = under_age(33)
too_young = under_age(18)
m-file的%底部,函数定义。
函数too_young = under_age(年龄,限制)
%打印出用户称之为函数的输入参数。
FPRINTF('nargin =%d \ n',nargin);
如果(输入参数个数= = 2)
%该函数称为2个输入参数。
%我们需要看看年龄(第一个参数)是否低于或高于限制(第二个参数)。
太_young =年龄<限制;%返回true或false。
其他的
函数被调用时只有一个参数。
%所以我们只需要检查一个年龄的值为21的值,而不是反对任何其他价值。
太_young =年龄<21;%返回true或false。
结尾
结尾如果函数与脚本相同的m-file,则需要%最终结束,但如果它完全在它自己的m-file中,则不需要。

登录评论。


阿尔贝托·查韦斯
阿尔贝托·查韦斯 2020年3月31日
我认为您在陈述部分中有表达的一部分。
也许这是作品。
函数[too_young] = under_age(年龄,限制)
如果(nargin == 2)&&年龄<限制
too_young = true;
elsef.(nargin == 2) &&年龄>=极限
太_young = false;
elsef.(nargin == 1)&& isempty(限制)&&年龄<21
too_young = true;
elsef.(Nargin == 1)&& isempty(limit)&&年龄> = 21
太_young = false;
结尾
3评论
阿尔贝托·查韦斯
阿尔贝托·查韦斯 2020年4月1日
哦,我的坏,这应该是工作。
函数[too_young] = under_age(年龄,限制)
如果nargin == 2
如果Isempty(限制)== 1
如果年龄< 21
too_young = true;
elsef.年龄> = 21
太_young = false;
结尾
elsef.Isempty(限制)== 0
如果年龄<限制
too_young = true;
elsef.年龄> =限制
太_young = false;
结尾
结尾
elsef.nargin == 1
如果年龄< 21
too_young = true;
elsef.年龄> = 21
太_young = false;
结尾
结尾
我必须重组你的代码,你的输入有3种可能性。首先你是否有:
under_age(年龄,限制)
% %或
under_age(年龄)
%%第二,是否有过
限制= []%或
限制= anynumber
%%三,无论您有
年龄<限制||21.%或
年龄> =限制||21.
我在我的电脑上运行了它,现在它工作了。

登录评论。

社区寻宝

找到Matlab Central中的宝藏,并发现社区如何帮助您!

开始狩猎!