File: variables_matrix.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 (120 lines) | stat: -rw-r--r-- 5,655 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
<!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: MATRIX Matrix Definitions</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('variables_matrix.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="headertitle">
<div class="title">MATRIX Matrix Definitions </div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p>Section: <a class="el" href="sec_variables.html">Variables and Arrays</a> </p>
<h1><a class="anchor" id="Usage"></a>
Usage</h1>
<p>The matrix is the basic datatype of FreeMat. Matrices can be defined using the following syntax </p>
<pre class="fragment">  A = [row_def1;row_def2;...,row_defN]
</pre><p> where each row consists of one or more elements, seperated by commas </p>
<pre class="fragment">  row_defi = element_i1,element_i2,...,element_iM
</pre><p> Each element can either be a scalar value or another matrix, provided that the resulting matrix definition makes sense. In general this means that all of the elements belonging to a row have the same number of rows themselves, and that all of the row definitions have the same number of columns. Matrices are actually special cases of N-dimensional arrays where <code>N&lt;=2</code>. Higher dimensional arrays cannot be constructed using the bracket notation described above. The type of a matrix defined in this way (using the bracket notation) is determined by examining the types of the elements. The resulting type is chosen so no information is lost on any of the elements (or equivalently, by choosing the highest order type from those present in the elements). </p>
<h1><a class="anchor" id="Examples"></a>
Examples</h1>
<p>Here is an example of a matrix of <code>int32</code> elements (note that untyped integer constants default to type <code>int32</code>).</p>
<pre class="fragment">--&gt; A = [1,2;5,8]

A = 
 1 2 
 5 8 
</pre><p>Now we define a new matrix by adding a column to the right of <code>A</code>, and using float constants.</p>
<pre class="fragment">--&gt; B = [A,[3.2f;5.1f]]

B = 
    1.0000    2.0000    3.2000 
    5.0000    8.0000    5.1000 
</pre><p>Next, we add extend <code>B</code> by adding a row at the bottom. Note how the use of an untyped floating point constant forces the result to be of type <code>double</code></p>
<pre class="fragment">--&gt; C = [B;5.2,1.0,0.0]

C = 
    1.0000    2.0000    3.2000 
    5.0000    8.0000    5.1000 
    5.2000    1.0000         0 
</pre><p>If we instead add a row of <code>complex</code> values (recall that <code>i</code> is a <code>complex</code> constant, not a <code>dcomplex</code> constant)</p>
<pre class="fragment">--&gt; D = [B;2.0f+3.0f*i,i,0.0f]

D = 
   1.0000 +  0.0000i   2.0000 +  0.0000i   3.2000 +  0.0000i 
   5.0000 +  0.0000i   8.0000 +  0.0000i   5.1000 +  0.0000i 
   2.0000 +  3.0000i   0.0000 +  1.0000i        0           
</pre><p>Likewise, but using <code>dcomplex</code> constants</p>
<pre class="fragment">--&gt; E = [B;2.0+3.0*i,i,0.0]

E = 
   1.0000 +  0.0000i   2.0000 +  0.0000i   3.2000 +  0.0000i 
   5.0000 +  0.0000i   8.0000 +  0.0000i   5.1000 +  0.0000i 
   2.0000 +  3.0000i   0.0000 +  1.0000i        0           
</pre><p>Finally, in FreeMat, you can construct matrices with strings as contents, but you have to make sure that if the matrix has more than one row, that all the strings have the same length.</p>
<pre class="fragment">--&gt; F = ['hello';'there']

F = 
hello
there
</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_variables.html">Variables and Arrays</a></li>
    <li class="footer">Generated on Thu Jul 25 2013 17:18:30 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>