MATLAB Object-Oriented Programming

(Joyce) #1
Example Code Discussion
function r = plus(obj1,obj2)
obj1 = DocPolynom(obj1);
obj2 = DocPolynom(obj2);
k = length(obj2.coef) - length(obj1.coef);
zp = zeros(1,k);
zm = zeros(1,-k);
r = DocPolynom([zp,obj1.coef] + [zm,obj2.coef]);
end

function r = minus(obj1,obj2)
obj1 = DocPolynom(obj1);
obj2 = DocPolynom(obj2);
k = length(obj2.coef) - length(obj1.coef);
zp = zeros(1,k);
zm = zeros(1,-k);
r = DocPolynom([zp,obj1.coef] - [zm,obj2.coef]);
end

function r = mtimes(obj1,obj2)
obj1 = DocPolynom(obj1);
obj2 = DocPolynom(obj2);
r = DocPolynom(conv(obj1.coef,obj2.coef));
end
end

Define three arithmetic
operators:


  • Polynomial addition

  • Polynomial subtraction

  • Polynomial multiplication


For information about this code,
see “Define Arithmetic
Operators” on page 19-21.

For general information about
defining operators, see
“Operator Overloading” on page
17-47

end
end
end statements for methods and
for classdef.

Expand for Class Code


classdef DocPolynom
% Documentation example
% A value class that implements a data type for polynomials
% See Implementing a Class for Polynomials in the
% MATLAB documentation for more information.


properties
coef
end


% Class methods
methods
function obj = DocPolynom(c)


Representing Polynomials with Classes
Free download pdf