File: operators_dottimes.html

package info (click to toggle)
freemat 4.2%2Bdfsg1-4
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 141,800 kB
  • ctags: 14,082
  • sloc: ansic: 126,788; cpp: 62,046; python: 2,080; perl: 1,255; sh: 1,146; yacc: 1,019; lex: 239; makefile: 100
file content (132 lines) | stat: -rw-r--r-- 5,190 bytes parent folder | download | duplicates (2)
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>FreeMat: DOTTIMES Element-wise Multiplication Operator</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">FreeMat
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.1.1 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li class="current"><a href="pages.html"><span>Related&#160;Pages</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('operators_dottimes.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="headertitle">
<div class="title">DOTTIMES Element-wise Multiplication Operator </div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p>Section: <a class="el" href="sec_operators.html">Mathematical Operators</a> </p>
<h1><a class="anchor" id="Usage"></a>
Usage</h1>
<p>Multiplies two numerical arrays (elementwise). There are two forms for its use, both with the same general syntax: </p>
<pre class="fragment">  y = a .* b
</pre><p> where <code>a</code> and <code>b</code> are <code>n</code>-dimensional arrays of numerical type. In the first case, the two arguments are the same size, in which case, the output <code>y</code> is the same size as the inputs, and is the element-wise product of <code>a</code> and <code>b</code>. In the second case, either <code>a</code> or <code>b</code> is a scalar, in which case <code>y</code> is the same size as the larger argument, and is the product of the scalar with each element of the other argument.</p>
<p>The rules for manipulating types has changed in FreeMat 4.0. See <code>typerules</code> for more details.</p>
<h1><a class="anchor" id="Function"></a>
Internals</h1>
<p>There are three formulae for the dot-times operator, depending on the sizes of the three arguments. In the most general case, in which the two arguments are the same size, the output is computed via: </p>
<p class="formulaDsp">
<img class="formulaDsp" alt="\[ y(m_1,\ldots,m_d) = a(m_1,\ldots,m_d) \times b(m_1,\ldots,m_d) \]" src="form_105.png"/>
</p>
<p> If <code>a</code> is a scalar, then the output is computed via </p>
<p class="formulaDsp">
<img class="formulaDsp" alt="\[ y(m_1,\ldots,m_d) = a \times b(m_1,\ldots,m_d). \]" src="form_106.png"/>
</p>
<p> On the other hand, if <code>b</code> is a scalar, then the output is computed via </p>
<p class="formulaDsp">
<img class="formulaDsp" alt="\[ y(m_1,\ldots,m_d) = a(m_1,\ldots,m_d) \times b. \]" src="form_107.png"/>
</p>
 <h1><a class="anchor" id="Examples"></a>
Examples</h1>
<p>Here are some examples of using the dottimes operator. First, a straight-forward usage of the <code>.*</code> operator. The first example is straightforward:</p>
<pre class="fragment">--&gt; 3 .* 8

ans = 
 24 
</pre><p>Next, we multiply a scalar by a vector of values:</p>
<pre class="fragment">--&gt; 3.1 .* [2,4,5,6,7]

ans = 
    6.2000   12.4000   15.5000   18.6000   21.7000 
</pre><p>With complex values</p>
<pre class="fragment">--&gt; a = 3 + 4*i

a = 
   3.0000 +  4.0000i 

--&gt; b = a .* 2

b = 
   6.0000 +  8.0000i 
</pre><p>Finally, the element-wise version:</p>
<pre class="fragment">--&gt; a = [1,2;3,4]

a = 
 1 2 
 3 4 

--&gt; b = [2,3;6,7]

b = 
 2 3 
 6 7 

--&gt; c = a .* b

c = 
  2  6 
 18 28 
</pre> </div></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="index.html">FreeMat Documentation</a></li><li class="navelem"><a class="el" href="sec_operators.html">Mathematical Operators</a></li>
    <li class="footer">Generated on Thu Jul 25 2013 17:17:45 for FreeMat by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.1 </li>
  </ul>
</div>
</body>
</html>