forked from ubcmatlabguide/ubcmatlabguide.github.io
-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.html
247 lines (190 loc) · 5.7 KB
/
index.html
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
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
<h2>
<a name="YAGTOM:_Yet_Another_Guide_TO_Matlab">
</a>
YAGTOM: Yet Another Guide TO Matlab
<a href="#YAGTOM:_Yet_Another_Guide_TO_Matlab" class="section_anchor">
</a>
</h2>
<p>
The source code of this guide is available at
<a href="https://github.com/ubcmatlabguide/ubcmatlabguide.github.io" rel="nofollow">
https://github.com/ubcmatlabguide/ubcmatlabguide.github.io
</a>
</p>
<p>
By
<a href="http://www.cs.ubc.ca/~mdunham/" rel="nofollow">
Matt Dunham
</a>
and
<a href="http://people.cs.ubc.ca/~murphyk/" rel="nofollow">
Kevin Murphy
</a>
</p>
<p>
University of British Columbia.
</p>
<p>
Last update: January 2014
</p>
<p>
This tutorial covers a number of topics on the
<a href="http://www.mathworks.com/products/matlab/" rel="nofollow">
Matlab
</a>
programming language and environment, focussing on the features likely to be of use to people performing general purpose programming as well as data analysis/ statistics/ machine learning. In particular, it covers basic features as well as some recent additions to the language, such as
<a href="http://ubcmatlabguide.github.io/html/speedup.html#bsxfun" rel="nofollow">
bsxfun
</a>
(added 2007a), the new
<a href="http://ubcmatlabguide.github.io/html/objectOriented.html" rel="nofollow">
object oriented programming
</a>
interface (added 2008a), the
<a href="http://ubcmatlabguide.github.io/html/dataStructures.html#Containers.map" rel="nofollow">
containers.map
</a>
hash table (added 2008b), etc. Many matlab programmers do not know about these useful features since they are buried deep inside the
<a href="http://www.mathworks.com/access/helpdesk/help/techdoc/index.html" rel="nofollow">
official documentation
</a>
.
</p>
<p>
All the code for the examples in this tutorial is embedded directly into the document, allowing you to easily try it out for yourself as you work your way through the tutorial. Most of the code will work on all versions of matlab released since 2004 (version 7), although some examples require more recent versions.
</p>
<p>
We have grouped the topics by importance: 'basic' topics are essential to all users, 'intermediate' topics are useful to know about once you have gained some experience, and 'advanced' topics are for experts only and/or of limited interest.
</p>
<h3>
<a name="Basics">
</a>
Basics
<a href="#Basics" class="section_anchor">
</a>
</h3>
<ul>
<li>
<a href="http://ubcmatlabguide.github.io/html/gettingStarted.html" rel="nofollow">
Getting started
</a>
</li>
<li>
<a href="http://ubcmatlabguide.github.io/html/matrixOperations.html" rel="nofollow">
Matrix operations
</a>
</li>
<li>
<a href="http://ubcmatlabguide.github.io/html/writingFunctions.html" rel="nofollow">
Functions
</a>
</li>
<li>
<a href="http://ubcmatlabguide.github.io/html/flowOfControl.html" rel="nofollow">
Flow of control
</a>
</li>
<li>
<a href="http://ubcmatlabguide.github.io/html/dataStructures.html" rel="nofollow">
Data structures
</a>
</li>
<li>
<a href="http://ubcmatlabguide.github.io/html/files.html" rel="nofollow">
File system issues
</a>
</li>
<li>
<a href="http://ubcmatlabguide.github.io/html/plotting.html" rel="nofollow">
Plotting
</a>
</li>
<li>
<a href="https://github.com/ubcmatlabguide/ubcmatlabguide.github.io/wiki/Octave-vs-Matlab" rel="nofollow">
Octave vs Matlab
</a>
</li>
</ul>
<h3>
<a name="Intermediate">
</a>
Intermediate
<a href="#Intermediate" class="section_anchor">
</a>
</h3>
<ul>
<li>
<a href="http://ubcmatlabguide.github.io/html/speedup.html" rel="nofollow">
Speedup tricks
</a>
</li>
<li>
<a href="http://ubcmatlabguide.github.io/html/plottingAdvanced.html" rel="nofollow">
More plotting
</a>
</li>
<li>
<a href="http://ubcmatlabguide.github.io/html/debugging.html" rel="nofollow">
Debugging
</a>
</li>
<li>
<a href="http://ubcmatlabguide.github.io/html/style.html" rel="nofollow">
Programming style guidelines
</a>
</li>
<li>
<a href="http://ubcmatlabguide.github.io/html/objectOriented.html" rel="nofollow">
Object oriented programming
</a>
</li>
<li>
<a href="https://github.com/murphyk/matlabtools/" rel="nofollow">
Matlabtools
</a>
has various useful utility functions written by us and others
</li>
<li>
<a href="http://www.mathworks.com/matlabcentral/" rel="nofollow">
Matlabcentral
</a>
has even more utility functions
</li>
</ul>
<h3>
<a name="Advanced">
</a>
Advanced
<a href="#Advanced" class="section_anchor">
</a>
</h3>
<ul>
<li>
<a href="http://ubcmatlabguide.github.io/html/objectOrientedAdvanced.html" rel="nofollow">
OOP: advanced topics
</a>
</li>
<li>
<a href="http://ubcmatlabguide.github.io/html/objectOrientedOldStyle.html" rel="nofollow">
OOP: using the old (pre 2008a) system
</a>
</li>
<li>
<a href="http://ubcmatlabguide.github.io/html/external.html" rel="nofollow">
Compiling and calling external functions
</a>
</li>
<li>
<a href="http://ubcmatlabguide.github.io/html/symbolic.html" rel="nofollow">
Symbolic algebra
</a>
</li>
</ul>
<hr/>
<p>
Authorized users can modify this tutorial by following
<a href="https://github.com/ubcmatlabguide/ubcmatlabguide.github.io/wiki/Details-on-updating-this-tutorial">
these instructions
</a>
. (Send Kevin Murphy an email if you want to permission to edit the source.)
</p>