Matlab error, what am I doing wrong?

1 view (last 30 days)
Lala
Lala on 26 Aug 2014
Commented: José-Luis on 26 Aug 2014
I have written the followin code on Matlab :
class1 = [0, 0; 0, 1; 2, 2; 3, 1; 3, 2; 3, 3;];
class2 = [6, 9; 8, 9; 9, 8; 9, 9; 9, 10; 8, 11;];
mu1 = mean(class1);
mu2 = mean(class2);
sigma1 = cov(class1);
sigma2 = cov(class2);
syms x y;
g1 = -0.5*([x;y]-mu1)*inv(sigma1)*([x;y]-mu1)-log(2*pi)-0.5*log(det(sigma1));
g2 = -0.5*([x;y]-mu2)*inv(sigma2)*([x;y]-mu2)-log(2*pi)-0.5*log(det(sigma2));
g = g1 - g2;
ezplot(g, [[-1,11], [-1,11]]);
and this is the error I keep getting :
??? g1 = -0.5*([x;y]-mu1)*inv(sigma1)*([x;y]-mu1)-log(2*pi)-0.5*log(det(sigma1));
|
Error: The input character is not valid in MATLAB statements or expressions.

Accepted Answer

José-Luis
José-Luis on 26 Aug 2014
The transpose character is not what you think it is:
g1 = -0.5*([x;y]-mu1')'*inv(sigma1)*([x;y]-mu1')-log(2*pi)-0.5*log(det(sigma1));
  6 Comments
Lala
Lala on 26 Aug 2014
Ok, thank you once again, you have been very helpful.
José-Luis
José-Luis on 26 Aug 2014
My pleasure. Please accept an answer if it helped you.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!