Sophie

Sophie

distrib > Mageia > 4 > x86_64 > by-pkgid > b38d2da330d1936e5ab1307c039c4941 > files > 383

octave-doc-3.6.4-3.mga4.noarch.rpm

<html lang="en">
<head>
<title>Operator Overloading - GNU Octave</title>
<meta http-equiv="Content-Type" content="text/html">
<meta name="description" content="GNU Octave">
<meta name="generator" content="makeinfo 4.13">
<link title="Top" rel="start" href="index.html#Top">
<link rel="up" href="Overloading-Objects.html#Overloading-Objects" title="Overloading Objects">
<link rel="prev" href="Function-Overloading.html#Function-Overloading" title="Function Overloading">
<link rel="next" href="Precedence-of-Objects.html#Precedence-of-Objects" title="Precedence of Objects">
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
<meta http-equiv="Content-Style-Type" content="text/css">
<style type="text/css"><!--
  pre.display { font-family:inherit }
  pre.format  { font-family:inherit }
  pre.smalldisplay { font-family:inherit; font-size:smaller }
  pre.smallformat  { font-family:inherit; font-size:smaller }
  pre.smallexample { font-size:smaller }
  pre.smalllisp    { font-size:smaller }
  span.sc    { font-variant:small-caps }
  span.roman { font-family:serif; font-weight:normal; } 
  span.sansserif { font-family:sans-serif; font-weight:normal; } 
--></style>
</head>
<body>
<div class="node">
<a name="Operator-Overloading"></a>
<p>
Next:&nbsp;<a rel="next" accesskey="n" href="Precedence-of-Objects.html#Precedence-of-Objects">Precedence of Objects</a>,
Previous:&nbsp;<a rel="previous" accesskey="p" href="Function-Overloading.html#Function-Overloading">Function Overloading</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="Overloading-Objects.html#Overloading-Objects">Overloading Objects</a>
<hr>
</div>

<h4 class="subsection">34.4.2 Operator Overloading</h4>

<p><a name="index-addition-3003"></a><a name="index-and-operator-3004"></a><a name="index-arithmetic-operators-3005"></a><a name="index-boolean-expressions-3006"></a><a name="index-boolean-operators-3007"></a><a name="index-comparison-expressions-3008"></a><a name="index-complex_002dconjugate-transpose-3009"></a><a name="index-division-3010"></a><a name="index-equality-operator-3011"></a><a name="index-equality_002c-tests-for-3012"></a><a name="index-exponentiation-3013"></a><a name="index-expressions_002c-boolean-3014"></a><a name="index-expressions_002c-comparison-3015"></a><a name="index-expressions_002c-logical-3016"></a><a name="index-greater-than-operator-3017"></a><a name="index-Hermitian-operator-3018"></a><a name="index-less-than-operator-3019"></a><a name="index-logical-expressions-3020"></a><a name="index-logical-operators-3021"></a><a name="index-matrix-multiplication-3022"></a><a name="index-multiplication-3023"></a><a name="index-negation-3024"></a><a name="index-not-operator-3025"></a><a name="index-operators_002c-arithmetic-3026"></a><a name="index-operators_002c-boolean-3027"></a><a name="index-operators_002c-logical-3028"></a><a name="index-operators_002c-relational-3029"></a><a name="index-or-operator-3030"></a><a name="index-quotient-3031"></a><a name="index-relational-operators-3032"></a><a name="index-subtraction-3033"></a><a name="index-tests-for-equality-3034"></a><a name="index-transpose-3035"></a><a name="index-transpose_002c-complex_002dconjugate-3036"></a><a name="index-unary-minus-3037"></a>
<div class="float">
<a name="tab_003aoverload_005fops"></a><a name="index-g_t_002b-3038"></a><a name="index-g_t_002d-3039"></a><a name="index-g_t_002e_002a-3040"></a><a name="index-g_t_002a-3041"></a><a name="index-g_t_002e_002f-3042"></a><a name="index-g_t_002f-3043"></a><a name="index-g_t_002e_005c-3044"></a><a name="index-g_t_005c-3045"></a><a name="index-g_t_002e_005e-3046"></a><a name="index-g_t_005e-3047"></a><a name="index-g_t_003c-3048"></a><a name="index-g_t_003c_003d-3049"></a><a name="index-g_t_003e-3050"></a><a name="index-g_t_003e_003d-3051"></a><a name="index-g_t_003d_003d-3052"></a><a name="index-g_t_0021_003d-3053"></a><a name="index-g_t_007e_003d-3054"></a><a name="index-g_t_0026-3055"></a><a name="index-g_t_007c-3056"></a><a name="index-g_t_0021-3057"></a><a name="index-g_t_0027-3058"></a><a name="index-g_t_002e_0027-3059"></a><a name="index-g_t_003a-3060"></a><a name="index-g_t_003c-3061"></a>
   <p><table summary=""><tr align="left"><th valign="top" width="10%"></th><th valign="top" width="20%">Operation </th><th valign="top" width="20%">Method </th><th valign="top" width="40%">Description </th><th valign="top" width="10%">
<br></th></tr><tr align="left"><td valign="top" width="10%"></td><td valign="top" width="20%">a + b </td><td valign="top" width="20%">plus (a, b) </td><td valign="top" width="40%">Binary addition </td><td valign="top" width="10%">
<br></td></tr><tr align="left"><td valign="top" width="10%"></td><td valign="top" width="20%">a - b </td><td valign="top" width="20%">minus (a, b) </td><td valign="top" width="40%">Binary subtraction operator </td><td valign="top" width="10%">
<br></td></tr><tr align="left"><td valign="top" width="10%"></td><td valign="top" width="20%">+ a </td><td valign="top" width="20%">uplus (a) </td><td valign="top" width="40%">Unary addition operator </td><td valign="top" width="10%">
<br></td></tr><tr align="left"><td valign="top" width="10%"></td><td valign="top" width="20%">- a </td><td valign="top" width="20%">uminus (a) </td><td valign="top" width="40%">Unary subtraction operator </td><td valign="top" width="10%">
<br></td></tr><tr align="left"><td valign="top" width="10%"></td><td valign="top" width="20%">a .* b </td><td valign="top" width="20%">times (a, b) </td><td valign="top" width="40%">Element-wise multiplication operator </td><td valign="top" width="10%">
<br></td></tr><tr align="left"><td valign="top" width="10%"></td><td valign="top" width="20%">a * b </td><td valign="top" width="20%">mtimes (a, b) </td><td valign="top" width="40%">Matrix multiplication operator </td><td valign="top" width="10%">
<br></td></tr><tr align="left"><td valign="top" width="10%"></td><td valign="top" width="20%">a ./ b </td><td valign="top" width="20%">rdivide (a, b) </td><td valign="top" width="40%">Element-wise right division operator </td><td valign="top" width="10%">
<br></td></tr><tr align="left"><td valign="top" width="10%"></td><td valign="top" width="20%">a / b </td><td valign="top" width="20%">mrdivide (a, b) </td><td valign="top" width="40%">Matrix right division operator </td><td valign="top" width="10%">
<br></td></tr><tr align="left"><td valign="top" width="10%"></td><td valign="top" width="20%">a .\ b </td><td valign="top" width="20%">ldivide (a, b) </td><td valign="top" width="40%">Element-wise left division operator </td><td valign="top" width="10%">
<br></td></tr><tr align="left"><td valign="top" width="10%"></td><td valign="top" width="20%">a \ b </td><td valign="top" width="20%">mldivide (a, b) </td><td valign="top" width="40%">Matrix left division operator </td><td valign="top" width="10%">
<br></td></tr><tr align="left"><td valign="top" width="10%"></td><td valign="top" width="20%">a .^ b </td><td valign="top" width="20%">power (a, b) </td><td valign="top" width="40%">Element-wise power operator </td><td valign="top" width="10%">
<br></td></tr><tr align="left"><td valign="top" width="10%"></td><td valign="top" width="20%">a ^ b </td><td valign="top" width="20%">mpower (a, b) </td><td valign="top" width="40%">Matrix power operator </td><td valign="top" width="10%">
<br></td></tr><tr align="left"><td valign="top" width="10%"></td><td valign="top" width="20%">a &lt; b </td><td valign="top" width="20%">lt (a, b) </td><td valign="top" width="40%">Less than operator </td><td valign="top" width="10%">
<br></td></tr><tr align="left"><td valign="top" width="10%"></td><td valign="top" width="20%">a &lt;= b </td><td valign="top" width="20%">le (a, b) </td><td valign="top" width="40%">Less than or equal to operator </td><td valign="top" width="10%">
<br></td></tr><tr align="left"><td valign="top" width="10%"></td><td valign="top" width="20%">a &gt; b </td><td valign="top" width="20%">gt (a, b) </td><td valign="top" width="40%">Greater than operator </td><td valign="top" width="10%">
<br></td></tr><tr align="left"><td valign="top" width="10%"></td><td valign="top" width="20%">a &gt;= b </td><td valign="top" width="20%">ge (a, b) </td><td valign="top" width="40%">Greater than or equal to operator </td><td valign="top" width="10%">
<br></td></tr><tr align="left"><td valign="top" width="10%"></td><td valign="top" width="20%">a == b </td><td valign="top" width="20%">eq (a, b) </td><td valign="top" width="40%">Equal to operator </td><td valign="top" width="10%">
<br></td></tr><tr align="left"><td valign="top" width="10%"></td><td valign="top" width="20%">a != b </td><td valign="top" width="20%">ne (a, b) </td><td valign="top" width="40%">Not equal to operator </td><td valign="top" width="10%">
<br></td></tr><tr align="left"><td valign="top" width="10%"></td><td valign="top" width="20%">a &amp; b </td><td valign="top" width="20%">and (a, b) </td><td valign="top" width="40%">Logical and operator </td><td valign="top" width="10%">
<br></td></tr><tr align="left"><td valign="top" width="10%"></td><td valign="top" width="20%">a | b </td><td valign="top" width="20%">or (a, b) </td><td valign="top" width="40%">Logical or operator </td><td valign="top" width="10%">
<br></td></tr><tr align="left"><td valign="top" width="10%"></td><td valign="top" width="20%">! b </td><td valign="top" width="20%">not (a) </td><td valign="top" width="40%">Logical not operator </td><td valign="top" width="10%">
<br></td></tr><tr align="left"><td valign="top" width="10%"></td><td valign="top" width="20%">a' </td><td valign="top" width="20%">ctranspose (a) </td><td valign="top" width="40%">Complex conjugate transpose operator </td><td valign="top" width="10%">
<br></td></tr><tr align="left"><td valign="top" width="10%"></td><td valign="top" width="20%">a.' </td><td valign="top" width="20%">transpose (a) </td><td valign="top" width="40%">Transpose operator </td><td valign="top" width="10%">
<br></td></tr><tr align="left"><td valign="top" width="10%"></td><td valign="top" width="20%">a : b </td><td valign="top" width="20%">colon (a, b) </td><td valign="top" width="40%">Two element range operator </td><td valign="top" width="10%">
<br></td></tr><tr align="left"><td valign="top" width="10%"></td><td valign="top" width="20%">a : b : c </td><td valign="top" width="20%">colon (a, b, c) </td><td valign="top" width="40%">Three element range operator </td><td valign="top" width="10%">
<br></td></tr><tr align="left"><td valign="top" width="10%"></td><td valign="top" width="20%">[a, b] </td><td valign="top" width="20%">horzcat (a, b) </td><td valign="top" width="40%">Horizontal concatenation operator </td><td valign="top" width="10%">
<br></td></tr><tr align="left"><td valign="top" width="10%"></td><td valign="top" width="20%">[a; b] </td><td valign="top" width="20%">vertcat (a, b) </td><td valign="top" width="40%">Vertical concatenation operator </td><td valign="top" width="10%">
<br></td></tr><tr align="left"><td valign="top" width="10%"></td><td valign="top" width="20%">a(s_1, <small class="dots">...</small>, s_n) </td><td valign="top" width="20%">subsref (a, s) </td><td valign="top" width="40%">Subscripted reference </td><td valign="top" width="10%">
<br></td></tr><tr align="left"><td valign="top" width="10%"></td><td valign="top" width="20%">a(s_1, <small class="dots">...</small>, s_n) = b </td><td valign="top" width="20%">subsasgn (a, s, b) </td><td valign="top" width="40%">Subscripted assignment </td><td valign="top" width="10%">
<br></td></tr><tr align="left"><td valign="top" width="10%"></td><td valign="top" width="20%">b (a) </td><td valign="top" width="20%">subsindex (a) </td><td valign="top" width="40%">Convert to zero-based index </td><td valign="top" width="10%">
<br></td></tr><tr align="left"><td valign="top" width="10%"></td><td valign="top" width="20%"><dfn>display</dfn> </td><td valign="top" width="20%">display (a) </td><td valign="top" width="40%">Commandline display function </td><td valign="top" width="10%">
   <br></td></tr></table>

   <p><strong class="float-caption">Table 34.1: Available overloaded operators and their corresponding class method</strong></p></div>

   <p>An example <code>mtimes</code> method for our polynomial class might look like

<pre class="example"><pre class="verbatim">     function y = mtimes (a, b)
       y = polynomial (conv (double(a),double(b)));
     endfunction
</pre>
</pre>
   </body></html>