EDA365电子论坛网
标题:
数组中元素替换的问题
[打印本页]
作者:
xiannvjiejie
时间:
2020-9-14 14:36
标题:
数组中元素替换的问题
请教如题的问题,为了方便描述,见图
$ Y2 S) x/ Z1 f' X+ i
8 n; h% _! T! @- T
有一个由0和1随机位置组成的A矩阵,现在想将A矩阵中的1和0依次替换成B矩阵和C矩阵中的元素,替换方式为图示箭头所示:B矩阵中的元素依次替换A矩阵中每个1的位置,同理,C矩阵中的元素依次替换A矩阵中每个0的位置,得到新D矩阵。
" B: I' c7 `+ j! i( [6 [" N5 l
4 z" d) A: f* f; @& S1 {4 _
不知道是否有什么函数可以快速实现,我用for语句没有写出来。
2 v/ |. X, |& p2 V
: r7 K! z4 m* }( K" @9 R& L' F
非常感谢。
4 B/ s: d9 g/ N2 o: J3 ]- M
232738qg63omzaxpkb2pk8.png
(30 KB, 下载次数: 7)
下载附件
保存到相册
2020-9-14 14:36 上传
4 m' Y4 I6 {" \5 C- l! v4 _" F
作者:
modengxian111
时间:
2020-9-14 15:32
- J5 i+ ?7 z: I9 V5 A" w2 r* C/ A
使用逻辑索引赋值就可以达到这个要求。示例代码如下:
7 k, ~% H. j# E* x4 d1 p. N
>> A=[0,1,0,0,1,1,0,0,1]
$ F9 p7 z, w5 Q; p7 W: o
A =
1 }) i2 o& l9 _3 s
0 1 0 0 1 1 0 0 1
! Z4 i+ S2 g- R' A! U2 s
>> B=[2,1,4,3]
, c/ ?6 T3 p+ K2 c- A
B =
4 V6 v: b* ~! _ G( f3 g
2 1 4 3
8 O; x1 F2 ~$ T- T( D E0 A
>> C=[7,5,9,6,8]
4 H- {9 T: E5 p: H% E
C =
) {6 i; E x$ E. Q* z
7 5 9 6 8
( M8 X2 @/ b: m; b! w% f& }: \4 x
>> A(A==1)=B
& k! S. }0 l1 p2 Q
A =
6 O7 P3 r C1 m' I% a( M" L8 z0 g
0 2 0 0 1 4 0 0 3
9 C, Q- D) u- @" l. y- B9 N
>> A(A==0)=C
' V3 q; n! R& Q4 S
A =
$ |! S9 P8 h. O
7 2 5 9 1 4 6 8 3
欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/)
Powered by Discuz! X3.2