MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn moreOpportunities for recent engineering grads.

Apply Today
Asked by PK on 4 Sep 2012

how to code for a equation containing summation like this

sum(i=1to10)sum(j=1to2)BijXi

*No products are associated with this question.*

Answer by Star Strider on 4 Sep 2012

Edited by Star Strider on 4 Sep 2012

Accepted answer

I am guessing that you want to multiply `B` (that seems to be a `[10 x 2]` matrix) and `X` (that seems to be a `[10 x 1]` vector). That will not work because the number of columns of `B` has to equal the number of rows in `X`.

If you define `B` as `[2 x 10]`, then the `[2 x 1]` vector `Y` will be:

Y = B*X

See the documentation sections on `Language Fundamentals`, `Arrays and Matrices`, and `Linear Algebra` for more information.

Also, **please do not use ‘i’ and ‘j’ for array indexing**. MATLAB uses those for its imaginary operators. They *will* work as array indexes but will cause confusion if you also use complex numbers.

PK on 5 Sep 2012

k i tried it that way and its working fine but how to subtract a complex value obtained from exponential with a constant numerical value and removing complex value from a term

Star Strider on 5 Sep 2012

I am not certain that I understand your question. If you mean by *‘removing a complex value from a term’* that you want to eliminate imaginary values, then the easiest way is to use the `real` function.

If the values of the complex part are very small (perhaps on the order of 1E-6 times the real part or less and you have good reason to believe the result should not be complex) you may be able to consider them as numerical errors in the calculation process and ignore them. If they are not, I suggest you look closely at your data and your code to be sure you are doing the calculations correctly.

## 2 Comments

Direct link to this comment:http://www.mathworks.com/matlabcentral/answers/47349#comment_97405

what are sizes of B and X

Direct link to this comment:http://www.mathworks.com/matlabcentral/answers/47349#comment_97458

This would be a perfect case for a pair of nested for loops.