How to solve an equation from 2 different matrix..?

I have a problem when i want to vectorize an equation, and the elements of the equation contain 2 different matrix with 2 different size. for example :
P Q R S T
A = [ 1 3 21 5 20
2 1 15 1 25
3 5 7 3 21
4 2 6 6 28
5 4 5 7 16
6 2 8 10 18
7 3 12 9 12
8 1 7 4 23];
P P W
(i) (j)
B = [ 1 2 0.5
1 8 0.8
2 1 0.6
3 4 0.22
3 7 0.13
4 5 0.16
4 6 0.58
5 6 0.21
6 7 0.20
7 8 0.66];
and the equation is :
I've already try with this :
n = length(A(:,1));
for i = 1:n
for j = 1:i
x = sum((w*(Q(i)-R(j))*(Q(j)-R(i)))/S(i)-T(j));
end
end
but the result is "Index exceeds matrix dimensions." Does anyone have the solution...??
thanks..

1 Comment

Jan
Jan on 7 Feb 2013
Edited: Jan on 7 Feb 2013
Well formatted text and code, very nice formula, shown what has been tried already - this is simply a good question. +1
Does the value of B matter anywhere in the equation?

Sign in to comment.

 Accepted Answer

The code for the posted equation:
x = 0;
n = size(A, 1);
for i = 1:n
for j = 1:n
x = x + sum((w*(Q(i)-R(j))*(Q(j)-R(i)))/S(i)-T(j));
end
end
But this does not change anything for the "Index exceeds matrix dimensions" problem. Please post the complete error message and finc out which of the array fails:
dbstop if error
% Then run the program until the error occurres
disp(i)
disp(j)
disp(size(Q))
disp(size(R))
disp(size(S))
disp(size(T))

1 Comment

I already fix my vector.
I think i found where is my mistake, I didn't use
x = 0;
n = size(A, 1);
and in the equation i didn't use "x +..." before sum((...
if i may ask, why i have to add "x +..." before sum((... ?? that thing is really new for me..
thank you for your solution..

Sign in to comment.

More Answers (0)

Asked:

on 7 Feb 2013

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!