if 语句 MATLAB 示例问题

Posted

技术标签:

【中文标题】if 语句 MATLAB 示例问题【英文标题】:If statement MATLAB example issue 【发布时间】:2016-05-02 14:31:04 【问题描述】:

我正在尝试在 MATLAB 7.6.0 (R2008a) 版本上运行这个简单的 if 语句 MATLAB 代码。

*我在 M-File 中输入了这个:

function output = DEMO(input)
 if input > 0
   fprintf('Greater than 0')
elseif input < 0
   fprintf('Less then 0')
else
   fprintf('Equals 0')
end

outvar = 1;

*尝试在命令窗口中实现: 每当我输入一个数字时,它总是给我大于 0!

在这里:

怎么了? 我想不通? 是因为outvar = 1吗?我试着把它设为0,得到了同样的结果! -.-

【问题讨论】:

是的,它给了我不到零 但是为什么ans总是一个!是因为outvar吗? @Mariah,是的,这就是原因。 【参考方案1】:

当你通过以下方式调用函数时:

DEMO 0

这将0 隐式传递为字符串'0'。当您在字符串'0'0 之间进行比较时,'0' 被转换为它的 ASCII 码 (32),它似乎总是大于0

相反,您需要使用括号来显式调用函数并传递一个数字。

DEMO(0)

作为旁注,您似乎分配给outvar,但您的函数的输出参数实际上是output。此外,您将outvar 分配给底部的1无论条件如何。如果您想为每个条件设置不同的输出值,则需要在感兴趣的if 语句设置输出值。

可能是这样的:

function output = DEMO(input)
    if input > 0
       fprintf('Greater than 0')
       output = 1;
    elseif input < 0
       fprintf('Less then 0')
       output = -1;
    else
       fprintf('Equals 0')
       output = 0;
    end
end

【讨论】:

以上是关于if 语句 MATLAB 示例问题的主要内容,如果未能解决你的问题,请参考以下文章

在这个简单示例中替代 if 语句

csharp 使用嵌套if语句的示例。

csharp 使用嵌套if语句的示例。

csharp if else语句的基本示例。

csharp if else语句的基本示例。

Python学习:5if语句,while语句,函数以及商城示例