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.

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.

Opportunities for recent engineering grads.

## 2 Comments

## Azzi Abdelmalek (view profile)

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

what are sizes of B and X

## Kevin Claytor (view profile)

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.