home *** CD-ROM | disk | FTP | other *** search
/ Geek Gadgets 1 / ADE-1.bin / ade-dist / octave-1.1.1p1-src.tgz / tar.out / fsf / octave / test / octave.test / fsolve / fsolve-2.m < prev    next >
Text File  |  1996-09-28  |  824b  |  49 lines

  1. x_opt = [ -0.767297326653401;
  2.            0.590671081117440;
  3.            1.47190018629642;
  4.           -1.52719341133957 ];
  5.  
  6. tol = 1.0e-5;
  7.  
  8. function retval = f (p)
  9.  
  10.   x = p(1);
  11.   y = p(2);
  12.   z = p(3);
  13.   w = p(4);
  14.  
  15.   retval = zeros (4, 1);
  16.  
  17.   retval(1) = 3*x + 4*y + exp (z + w) - 1.007;
  18.   retval(2) = 6*x - 4*y + exp (3*z + w) - 11;
  19.   retval(3) = x^4 - 4*y^2 + 6*z - 8*w - 20;
  20.   retval(4) = x^2 + 2*y^3 + z - w - 4;
  21.  
  22. end
  23.  
  24. [x, info] = fsolve ("f", [-1, 1, 2, -1]);
  25.  
  26. val = f (x);
  27.  
  28. info_bad = (info != 1);
  29. solution_bad = sum (abs (x - x_opt) > tol);
  30. value_bad = sum (abs (val) > tol);
  31.  
  32. if (info_bad)
  33.   printf ("info bad\n");
  34. else
  35.   printf ("info good\n");
  36. endif
  37.  
  38. if (solution_bad)
  39.   printf ("solution bad\n");
  40. else
  41.   printf ("solution good\n");
  42. endif
  43.  
  44. if (value_bad)
  45.   printf ("value bad\n");
  46. else
  47.   printf ("value good\n");
  48. endif
  49.