MATLAB Answers

0

Error: File: box.m Line: 23 Column: 21 Unbalanced or unexpected parenthesis or bracket.

Asked by Ehi Eromosele on 29 Jan 2014
Latest activity Answered by Cagas Akalin on 15 Apr 2015
function box(a,b,c)
tol=10^(-15);
X=[a;b;c];
Y=F(X);
disp('  n    a        b        c       |F(X)|');
n=0;
while (true)
    changeX=-dF(X)\Y;
    X=X+changeX;
    Y=F(X);
    n=n+1;
    fprintf('%3d %21.15f %21.15f %21.15f %10.1e \n', n, X(1), X(2), X(3), norm(Y));
    if norm(changeX) < tol*norm(X)
        disp('Root Found'); break;
    end
    if n>=100
        disp('Failed To Converge'); break;
    end
end
end
function Y=F(X)
    a=X(1); b=X(2); c=X(3);
    Y = [a*b*c-181;2(a*b+a*c+b*c);a^2+b^2+c^2];
end
function J=dF(X)
    a=X(1); b=X(2); c=X(3);
    J=[bc,ac,ab;4b+4c,4a+4c,4a+4b;2a,2b,2c];
end

  0 Comments

Sign in to comment.

2 Answers

Answer by Azzi Abdelmalek
on 29 Jan 2014
Edited by Azzi Abdelmalek
on 29 Jan 2014
 Accepted Answer

You missed a multiplication operator * in (line 23)

Y = [a*b*c-181;2(a*b+a*c+b*c);a^2+b^2+c^2];

It should be

Y = [a*b*c-181;2*(a*b+a*c+b*c);a^2+b^2+c^2];

Answer by Cagas Akalin on 15 Apr 2015

Hi everyone,

Matlab gives the same error for the below line code because of the script in first parenthesis. - (1-x1.)^2-

If you know how to correct it, please share your suggestion...

f = @(x1,x2) (1-x1.)^2+100*(x2.-x1.^2)^2

  0 Comments

Sign in to comment.