在Matlab中,我有两种矩阵:一种具有整数x
,以及一种具有布尔值的矩阵y
:
x =
2 4 2
3 3 1
4 1 5
y =
0 0 1
1 1 0
1 0 1
我现在想要做的是将的元素分配x
为5,并且我想y
用作掩码来确定应将哪些元素设置为5。因此,在其中对应值为0 in的元素y
应保持不变x
,但那些具有相应值1 in的值y
应设置为5。因此,输出应为:
2 4 5
5 5 1
5 1 5
我尝试了以下方法:
x(y) = 5
这给了我错误:
Subscript indices must either be real positive integers or logicals.
我也尝试过:
y(x) = 5
这给了我以下内容:
5 5 1
5 1 0
5 0 1
有人可以解释一下这是怎么回事,以及我需要做些什么才能获得想要的结果?
您遇到的错误是由于以下事实:显然,这y
是type double
一段时间,在这种情况下,它应该是type logical
您可以尝试:
x(logical(y))=5
希望这可以帮助
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句