1classdef foo_value_class
2  properties
3    rate;
4    term;
5    principle;
6  end
7  methods
8    function obj = foo_value_class (r, t, p)
9      if (nargin == 3)
10        obj.rate = r;
11        obj.term = t;
12        obj.principle = p;
13      elseif (nargin ~= 0)
14        error ('foo_value_class:SyntaxError', ...
15               'foo_value_class: Invalid syntax')
16      end
17    end
18    function amt = amount (obj)
19      i = obj.rate / (12 * 100);
20      if (i == 0 && obj.term == 0)
21        amt = obj.principle;
22      else
23        amt = (obj.principle * i) / (1 - (1 + i)^(-obj.term));
24      end
25    end
26  end
27end
28