在“如果”报表使用和操作符

250 vu (au课程最后的30天时间)
安德鲁
安德鲁 勒梅2011
你好,
当我输入以下代码:
如果大小((1 2 3))= =大小([4 5 6])和大小([4 5 6])= =大小([7 8 9])
“是的”
其他的
“不”
结束
MATLAB代码分析器问题这个警告消息:“当两种观点都是标量数值,考虑更换& & &性能。”
所以,我使用& & &:
如果大小((1 2 3))= =大小([4 5 6])& &尺寸大小([4 5 6])= = ((7 8 9))
“是的”
其他的
“不”
结束
当我运行更新的脚本, MATLAB中显示一个错误消息 命令窗口:
? ? ?操作数的| |和& &操作符必须转换逻辑标量值。
我能做些什么来解决这个问题吗?提前谢谢。
Andrew DeYoung
卡内基梅隆大学
7 commentaires
珍妮
珍妮 勒对2016
马特,我还用我的从你的课堂上做的笔记,和谢谢你的帮助在这个问题。我需要得到这个权利。

Connectez-vous倒评论者。

响应被接受的人

安德鲁·纽厄尔
问题是,大小返回一个向量:
大小((1 2 3))
ans =
1 3
相反,使用 元素个数 :
如果元素个数((1 2 3))= =元素个数([4 5 6])& &元素个数([4 5 6])= =元素个数([7 8 9])
disp (“是的”)
其他的
disp (“不”)
结束
或者你可以使用 (尺寸大小((1 2 3))= = ((4 5 6)) 等。
我还在 disp 命令来照顾其他的警告。

加德回应(1)

肖恩·德Wolski
肖恩·德Wolski 勒梅2011
作为附录安德鲁的全面和良好的解决方案,你可以直接检查尺寸:
如果(isequal(((1 2 3)),大小((4 5 6))))
disp (“是的”)
其他的
disp (“不”)
结束
这将会失败如果大小不一样但是元素(元素个数)的数量是:
如果(isequal(((1 2 3)),大小([4;5;6))))
disp (“是的”)
其他的
disp (“不”)
结束
3 commentaires
安德鲁·纽厄尔
好点。

Connectez-vous倒评论者。

类别

在知道加瑟尔循环和条件语句帮助中心文件交换

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!

翻译的