Matlab不到比较

1视图(30天)
罗伯特Demyanovich
罗伯特Demyanovich 2021年6月20日
评论道: Stephen23 2021年6月20日
Matlab文档是迷惑我。
我想测试每个单元格在一个特定的行数组(cA)。如果细胞有一个值小于一个常数(NC),然后细胞值更改为常数。这就是我有:
如果cA (i + 1,:) <数控;
cA(我+ 1)=数控;
结束;
这是正确的吗?我很困惑,因为文档表示," < "语句的结果只是一个逻辑向量(在本例中)的1和0取决于是否真或假的比较。
1评论
Stephen23
Stephen23 2021年6月20日
虽然你被问及 运营商,迄今为止最简单、最有效的解决你的问题是这样的:
cA(我+ 1)= max(数控,cA(我+ 1,))

登录置评。

答案(2)

Chunru
Chunru 2021年6月20日
正确的方法应该是:
cA(我+ 1)= max (cA(我+ 1,),NC);
:idx = cA (i + 1) <数控;
idx cA (i + 1) =数控;
2的评论
罗伯特Demyanovich
罗伯特Demyanovich 2021年6月20日
我很抱歉。我不明白你的意思。麦根cA是一个数组的大小。每个单元格中的值或我想MatLab调用这一个元素应该是一个实数。

登录置评。


Atsushi上野
Atsushi上野 2021年6月20日
>这是正确的吗? ——是的,这是正确的语法。不,它不像你期望。
cA =兰迪(10、10 [3]);i = 1;数控= 5;%的临时值
:%如果cA (i + 1) <数控;% 1:没有分号,2:任何需要(),3:如果声明不需要
cA (i + 1, cA (i + 1,:) < =数控NC)%所有cA的行i + 1设置为数控
cA = 3×10
8 5 10 9 9 3 2 5 2 10 6 8 5 5 5 9 6 8 8 8 2 7 9 3 2 6 6 7 2 9
%结束;% 1:没有分号,实际上3:if语句不需要
现在你正在第三索引的方法。请查看它。
在MATLAB®>,有三个主要方法访问数组元素数组中基于其位置(索引)。这些方法由位置索引,线性索引,索引和逻辑。
  • 索引的元素的位置
  • 索引与单个索引
  • 逻辑值的索引
>表达式,包括关系运算符数组等 > 0 ,是真的只有当每一个元素的结果是零。
if语句不需要就这个问题而言,但如果您使用if语句,你必须知道,上面要求的if语句。

标签

社区寻宝

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

开始狩猎!