Why is matlab not evaluating equation correctly
    3 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    Josh McCaffrey
 el 28 de Mzo. de 2015
  
    
    
    
    
    Comentada: Star Strider
      
      
 el 28 de Mzo. de 2015
                x1=sym('x1');
    x2=sym('x2');
    a=sym('a');
    fx0(x1,x2) = 10*((x1)+3)^2+(x2)^2;
    sp=[-1 , 1];
    fx0d(x1,x2) = gradient(fx0);
    dsd = -1*fx0d(sp(1,1),sp(1,2));
    dsd1 = fx0(sp(1,1)+a*dsd(1,1),sp(1,2)+a*dsd(2,1))
When I run this code the variable dsd1 is not correct. The correct answer is 10(-40a+2)^2+(1-2a)^2 but matlab returns (2*a - 1)^2 + 10*(40*a - 2)^2 and I have no idea why.
0 comentarios
Respuesta aceptada
  Star Strider
      
      
 el 28 de Mzo. de 2015
        When I use your code, and then also add at the end of that code:
Q = 10*(-40*a+2)^2+(1-2*a)^2;
Q = simplify(Q, 'steps', 10)
and run it, I get as the result:
dsd1 =
(2*a - 1)^2 + 10*(40*a - 2)^2
Q =
(2*a - 1)^2 + 10*(40*a - 2)^2
Unless I’m missing something, those look a lot alike!
2 comentarios
Más respuestas (0)
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

