Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在if-else语句中返回布尔值,返回值将链接到Matlab中的if-else语句?_Matlab_If Statement - Fatal编程技术网

如何在if-else语句中返回布尔值,返回值将链接到Matlab中的if-else语句?

如何在if-else语句中返回布尔值,返回值将链接到Matlab中的if-else语句?,matlab,if-statement,Matlab,If Statement,为了链接到第二部分给出的if-else语句,我自己创建了以下if-else语句: m=4 if m==3 disp(true) else disp(false) 第二部分(此代码为修复,无法更改): 如果使用第一部分代码,我的输出将是 A=Hello World 但我的欲望输出是 A=Bye 任何人都可以编辑第一部分,因为现在第一部分中的返回值无法链接到第二部分。如果您不能更改第二部分的代码,恐怕您的愿望无法实现。或者更确切地说,我担心您的代码根本不会运行,因为您的peren

为了链接到第二部分给出的if-else语句,我自己创建了以下if-else语句:

m=4
if m==3
   disp(true)
else
   disp(false)
第二部分(此代码为修复,无法更改):

如果使用第一部分代码,我的输出将是

A=Hello World
但我的欲望输出是

A=Bye 

任何人都可以编辑第一部分,因为现在第一部分中的返回值无法链接到第二部分。

如果您不能更改第二部分的代码,恐怕您的愿望无法实现。或者更确切地说,我担心您的代码根本不会运行,因为您的perenthesis、引号、end语句(可以说是分号)都不正确

if true
    A = 'Hello World';
else
    A = 'Bye';
end
这段代码将返回
A='helloworld'
,因为true总是true。如果其他条件是这样的:

if (*what's in here evealuates to true*)  
%do stuff
else (*if what's up there does not evaluate to true*)
%do other stuff

显然,
true
将始终计算为
true
。因此,上面的if-else条件将始终返回
A='Hello World'
,您不需要两个
if语句来完成此任务。一个就足以满足您的所有需求:

m = 4;

if (m == 3)
   A = 'Hello World';
else
   A = 'Bye';
end

disp(A);
关于您的代码的一些评论:

  • if语句
    需要以
    end结束
  • if(true)
    将始终传递到语句中
  • disp
    函数不指定值,它的唯一目标是在
    命令窗口中显示该值
  • 为了处理文本,您必须将其括在单引号
    字符数组
    )或双引号
    字符串
    )中,详细信息
如果您只发布了代码的小片段,并且需要在脚本的不同部分按顺序执行这两项检查,那么:

m = 4;

if (m == 3)
   m_equals_3 = true;
   disp('M == 3');
else
   m_equals_3 = false;
   disp('M ~= 3');
end

% then, somewhere else...

if (m_equals_3)
   A = 'Hello World';
else
   A = 'Bye';
end

% ...

我想这是一个家庭作业。如果是这样的话,你应该披露

练习要求您更改工作区,以便第二位代码计算
else
情况。这可以通过更改
true
的含义来完成。在第一位代码中,请使其成为

true = flase;
或同等地

true = 0;
请注意,这是一种非常糟糕的形式,如果你在明确要求你这样做的家庭作业之外做类似的事情,你会被解雇,甚至被枪杀。你已经被警告过了


顺便说一句,我假设字符串周围缺少引号字符和缺少的
end
s都是打字错误?

@SardarUsama hi我想要的结果是A=ByeDo您想更改第一个代码以生成第二个代码的输出吗?是的,我需要更改第一部分代码就是您想要的:
A='Hello World'
disp(true)之后
A='Bye'
disp(false)
之后?你是认真的吗?这是一个巨魔吗?在
disp(true)
A='Bye'
之后写
A='Hello World'
,摆脱你的第二个代码
true = 0;