MATLAB: How to avoid the “if” statement

implicit if

Hi,
I want to use a conditional term in an equation but don't want to use "if", simply because I want to explore something else.
Here is the problem,
E=A(2)*B+A(2)*C
where A=[a,b].
Here "a" is a flag. And I'd like to have:
If A(1)=1, E=A(2)*B+C
if A(2)=2, E=B+A(2)*C
How this can be realized without the "if" statement?
Thanks a lot

Best Answer

Hi qingtao,
You mention 'a' is the flag, does that mean your second if statement should actually read:
if A(1)=2, E=B+A(2)*C
Either way, you can use logical statements as the coefficients for each equation. For example,
E = (A(1)==1)*(A(2)*B+C) + (A(1)==2)*(B+A(2)*C);