changeset 2720:4d964afd8d57

[project @ 1997-02-22 19:40:49 by jwe]
author jwe
date Sat, 22 Feb 1997 19:40:49 +0000
parents eaa225e7e721
children 1c256e0e1474
files test/octave.test/nonlin/fsolve-1.m test/octave.test/nonlin/fsolve-2.m test/octave.test/nonlin/nonlin.exp
diffstat 3 files changed, 100 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/octave.test/nonlin/fsolve-1.m	Sat Feb 22 19:40:49 1997 +0000
@@ -0,0 +1,45 @@
+x_opt = [ 0.599054;
+          2.395931;
+          2.005014 ];
+
+tol = 1.0e-5;
+
+function retval = f (p) 
+
+  x = p(1);
+  y = p(2);
+  z = p(3);
+
+  retval = zeros (3, 1);
+
+  retval(1) = sin(x) + y**2 + log(z) - 7;
+  retval(2) = 3*x + 2**y -z**3 + 1;
+  retval(3) = x + y + z - 5;
+
+end
+
+[x, info] = fsolve ("f", [ 0.5, 2.0, 2.5 ]);
+
+val = f (x);
+
+info_bad = (info != 1);
+solution_bad = sum (abs (x - x_opt) > tol);
+value_bad = sum (abs (val) > tol);
+
+if (info_bad)
+  printf ("info bad\n");
+else
+  printf ("info good\n");
+endif
+
+if (solution_bad)
+  printf ("solution bad\n");
+else
+  printf ("solution good\n");
+endif
+
+if (value_bad)
+  printf ("value bad\n");
+else
+  printf ("value good\n");
+endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/octave.test/nonlin/fsolve-2.m	Sat Feb 22 19:40:49 1997 +0000
@@ -0,0 +1,48 @@
+x_opt = [ -0.767297326653401;
+           0.590671081117440;
+           1.47190018629642;
+          -1.52719341133957 ];
+
+tol = 1.0e-5;
+
+function retval = f (p)
+
+  x = p(1);
+  y = p(2);
+  z = p(3);
+  w = p(4);
+
+  retval = zeros (4, 1);
+
+  retval(1) = 3*x + 4*y + exp (z + w) - 1.007;
+  retval(2) = 6*x - 4*y + exp (3*z + w) - 11;
+  retval(3) = x^4 - 4*y^2 + 6*z - 8*w - 20;
+  retval(4) = x^2 + 2*y^3 + z - w - 4;
+
+end
+
+[x, info] = fsolve ("f", [-1, 1, 2, -1]);
+
+val = f (x);
+
+info_bad = (info != 1);
+solution_bad = sum (abs (x - x_opt) > tol);
+value_bad = sum (abs (val) > tol);
+
+if (info_bad)
+  printf ("info bad\n");
+else
+  printf ("info good\n");
+endif
+
+if (solution_bad)
+  printf ("solution bad\n");
+else
+  printf ("solution good\n");
+endif
+
+if (value_bad)
+  printf ("value bad\n");
+else
+  printf ("value good\n");
+endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/octave.test/nonlin/nonlin.exp	Sat Feb 22 19:40:49 1997 +0000
@@ -0,0 +1,7 @@
+set test fsolve-1
+set prog_output "info good\nsolution good\nvalue good"
+do_test fsolve-1.m
+
+set test fsolve-2
+set prog_output "info good\nsolution good\nvalue good"
+do_test fsolve-2.m