EDA365电子论坛网

标题: Matlab中if循环的条件有两个的话应该用什么语句? [打印本页]

作者: dapmood    时间: 2020-4-15 13:42
标题: Matlab中if循环的条件有两个的话应该用什么语句?
if A and B
: z( U8 [$ @0 Z% C1 U/ M' [, u   C
( i. d. p# `2 [end
/ r& ^7 X. Y$ k& F& H6 Y& m! [% `可以吗?
& v0 p1 f* J( u, }+ ]: f' K% g: o

作者: CCxiaom    时间: 2020-4-15 18:57
3 `3 s* h, j) {( @1 A2 b
if A and B$ W$ u1 [+ |+ G8 B7 e( i! {5 j
   C& ]8 |9 z2 Y' a: R8 w8 a1 k# T
end
/ M2 o# |* G6 m4 C6 E  V% o% ~" [: I) ~' l9 E
可以这样来表示:  B& u' x. z- ?2 @' z. N* P
if A&&B' U: P# U) S; U* d
C$ u, y! i! Z* p
end
作者: ExxNEN    时间: 2020-4-15 18:58
感觉这样表示总是有些问题,最好不要这样,结果会使自己想不到的。
$ l0 ~9 [  t) |: o* F5 P比如下面一个简单的,直接用向量作为if的判断条件。
; e% E+ H/ W' F5 _6 w: P$ C! k% O
9 D6 I" d6 K- @; |8 F$ s%test if9 f5 N# U1 \# i8 t. l5 J4 B
clear,clc
& [3 h( x: A/ a/ P' x8 @% Ka=[1 0 1 1 0 1];, x) x% v0 c  i2 P" O/ h. l9 T3 N4 `
b=[0 1 0 1 0 1];
, a' Q7 W: m" G0 N1 mfor i=1:6
7 \7 |$ E  Z8 l3 f& ^    if a&b1 w; H/ S; M" `
        c(i)=a(i)+b(i);6 m" {6 A0 R7 N( `* H$ k
    else
; Y! @$ b3 i# O; v        d(i)=a(i)+b(i);
& z1 W7 H1 g3 K$ _    end
6 h2 u% h$ ]2 c' f4 x6 Send, K. Y  l$ |0 N1 ?! [, q

( f  t& s# g0 Z  i8 `3 B结果c没有d=1     1     1     2     0     25 p6 Q' P& ~  V+ y, I7 |
如下表示才能得到正常结果。
! W, T7 ~0 W3 }4 w" W. K, w3 f3 p5 e* Y* L0 h( e+ F
%test if
9 d$ S& W" f& B; r* K9 n4 gclear,clc
$ C  D; m: X" q( aa=[1 0 1 1 0 1];
0 @# l8 z2 q# H) Eb=[0 1 0 1 0 1];
# R* m8 T. n4 S& B; _& i2 Dfor i=1:6
( C/ i: m0 c! F% U2 w    if a(i)&b(i)
6 d4 B! c4 o' A' g# h; A) {        c(i)=a(i)+b(i);) g$ ?( s& @1 d' d
    else
8 ?+ {/ W, d! ?6 N, q' S' O7 C& r        d(i)=a(i)+b(i);
8 F- r! Y5 b2 K8 H3 M8 L    end1 @. c4 @  x( A4 n
end4 _2 t" I+ q' o2 w$ R





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