File: fsolve-1.m

package info (click to toggle)
octave 2.0.13-4
  • links: PTS
  • area: main
  • in suites: hamm
  • size: 23,828 kB
  • ctags: 13,172
  • sloc: cpp: 66,241; fortran: 37,245; ansic: 26,548; sh: 7,269; makefile: 3,808; lex: 1,943; yacc: 1,844; perl: 1,676; lisp: 1,662; exp: 123
file content (45 lines) | stat: -rw-r--r-- 689 bytes parent folder | download | duplicates (9)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
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