Double Sum Using Matlab

by adeeyo
Tags: double, matlab
adeeyo is offline
Feb21-12, 10:15 PM
P: 19
I have this double summation expression to solve as part of matlab code I am writing. I have searched matlab no syntax that can do it. Please assist.

Q=ƩƩxixjaij i.e double sum of xi xj aij, i=1:n, j=1:n

Please assist me

Phys.Org News Partner Mathematics news on
Researchers help Boston Marathon organizers plan for 2014 race
'Math detective' analyzes odds for suspicious lottery wins
Pseudo-mathematics and financial charlatanism
mathman is offline
Feb22-12, 03:44 PM
Sci Advisor
P: 5,935
What do mean by solve? What you have written is simply an expression. To solve something you need to describe what is known and what you are trying to find.
adeeyo is offline
Feb22-12, 05:12 PM
P: 19
Thanks Mathman,

What I mean is this. I wrote a matlab code for that expression and manual as seen below but got different answer. I don't know what is wrong either with matlab code or manual expression or both.

Q=∑∑xixjaij the first sigma has i=1:n, the second sigma j=1:n

for i=1:n
for j=1:n
Q=sum(sum(x(i).*x(j).*(a(i, j))));


Q=x(1)*x(1)*(a(1)*a(1))+x(1)*x(2)*(a(1)*a(2))+x(1)*x(3)*a(1)*a(3)+x(2)* x(1)*a(2)*a(1))+x(2)*x(2)*a(2)*a(2))+x(2)*x(3)*a(2)*a(3)*+x(3)*x(1)*a(3 )*a(1))+x(3)*


mathman is offline
Feb23-12, 03:45 PM
Sci Advisor
P: 5,935

Double Sum Using Matlab

From what I recall about coding: You need to set Q = 0.0 before starting. Then the operating instruction should be Q=Q+x(i)*x(j)*a(i, j). To save a little time you could multiply by x(i) outside the j loop.
Wizlem is offline
Feb24-12, 04:57 PM
P: 35
if a is nxn and x is nx1 try Q = sum(sum(a.*repmat(x,[1 n]).*repmat(x',[n 1])))
Office_Shredder is offline
Feb24-12, 05:03 PM
P: 4,499
Q=sum(sum(x(i).*x(j).*(a(i, j))));
This line is what is wrong with your code. Let's consider what happens on each loop:
i=1, j=1:
sum(sum(x(1)*x(1)*a(1,1))) = x(1)*x(1)*a(1,1) so Q=x(1)*x(1)*a(1,1)

sum(sum(x(1)*x(2)*a(1,2))) = x(1)*x(2)*a(1,2) so Q=x(1)*x(2)*a(1,2) NOT x(1)*x(1)*a(1,1)+x(1)*x(2)*a(1,2)

If you replace the line with
you should get the right answer

Register to reply

Related Discussions
Matlab Plotting of QM double-potential-barrier Math & Science Software 2
MATLAB: expressing a double index equation as a matrix Engineering, Comp Sci, & Technology Homework 6
calculating e, using matlab (how to get answer in double type) Engineering, Comp Sci, & Technology Homework 1
double integrals with matlab General Math 3
Matlab- input arguments of type 'double' ???? Math & Science Software 2