EDA365电子论坛网

标题: 两个row vector 如果相等则于0 不等等于1 [打印本页]

作者: tryeverythingop    时间: 2022-3-2 10:45
标题: 两个row vector 如果相等则于0 不等等于1
两个row vector 二进制 a和b,建立新的vector z,如果a的数值对应的位置等于b的数值,则数值0加入z,反之,数值1加入z。( n- O7 |2 z/ O+ C
最后求出z的平均值。 以下是我的码 很麻烦,大家帮我简化一下。谢谢/ k& C2 @: X  @8 Z& B9 R- {7 r
a = [1;0;1;1];3 e. |7 K* ?% a" y2 I- v
b = [1;0;0;0];: m" w( C; V3 T# e: |: P+ x1 ?, }1 _- u+ V
z = [];
" S: D# _- Q! P! Ffor i = 1:length(a)
& X" P5 W. M& g- G$ _/ V% R& x    if a(i)==b(i)
5 y- q$ C5 [; M8 T* ~/ t        z(end+1) = 0;
! v5 E; Y* D7 P0 J: j# i    else
- a! [+ }, {' L  w, O6 @        z(end+1) = 1;
" a& C  n3 E0 [9 P- z3 V( Y  Z    end8 S7 `3 x7 i' @
end! t# |9 K3 Z* E. C( t4 l# T
mean(z);4 I5 P! j) y+ E$ r  P

作者: geronimo123    时间: 2022-3-2 13:12
用逻辑运算
作者: geronimo123    时间: 2022-3-2 13:15
筛选不等用 ~=
作者: nevadaooo    时间: 2022-3-2 15:45
仅供参考' P# s3 B0 |' Q) [9 U9 f8 \
a = [1;0;1;1];
- V. g, w8 d" o: Ib = [1;0;0;0];
3 [; K+ @  l9 \9 @6 O; Q2 Cz=zeros(length(a),1);
$ n- r! ~% f. r( m" f* \) c+ Iz(a~=b)=1;' p6 i$ A# D: i; s
z1=mean(z);
" y3 a8 T0 v4 O  @复制代码




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2