File: octave_1.html

package info (click to toggle)
octave 2.0.16-2
  • links: PTS
  • area: main
  • in suites: potato
  • size: 26,276 kB
  • ctags: 16,450
  • sloc: cpp: 67,548; fortran: 41,514; ansic: 26,682; sh: 7,361; makefile: 4,077; lex: 2,008; yacc: 1,849; lisp: 1,702; perl: 1,676; exp: 123
file content (324 lines) | stat: -rw-r--r-- 9,993 bytes parent folder | download
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
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.51
     from ./octave.texi on 18 June 1999 -->

<TITLE>GNU Octave - Preface</TITLE>
</HEAD>
<BODY>
Go to the first, previous, <A HREF="octave_2.html">next</A>, <A HREF="octave_40.html">last</A> section, <A HREF="octave_toc.html">table of contents</A>.
<P><HR><P>



<H1><A NAME="SEC1" HREF="octave_toc.html#TOC1">Preface</A></H1>
<P>
<A NAME="IDX1"></A>
<A NAME="IDX2"></A>

</P>
<P>
Octave was originally intended to be companion software for an
undergraduate-level textbook on chemical reactor design being written by
James B. Rawlings of the University of Wisconsin-Madison and John
G. Ekerdt of the University of Texas.

</P>
<P>
Clearly, Octave is now much more than just another `courseware' package
with limited utility beyond the classroom.  Although our initial goals
were somewhat vague, we knew that we wanted to create something that
would enable students to solve realistic problems, and that they could
use for many things other than chemical reactor design problems.

</P>
<P>
There are those who would say that we should be teaching the students
Fortran instead, because that is the computer language of engineering,
but every time we have tried that, the students have spent far too much
time trying to figure out why their Fortran code crashes and not enough
time learning about chemical engineering.  With Octave, most students
pick up the basics quickly, and are using it confidently in just a few
hours.

</P>
<P>
Although it was originally intended to be used to teach reactor design,
it has been used in several other undergraduate and graduate
courses in the Chemical Engineering Department at the University of
Texas, and the math department at the University of Texas has been using
it for teaching differential equations and linear algebra as well.  If
you find it useful, please let us know.  We are always interested to
find out how Octave is being used in other places.

</P>
<P>
Virtually everyone thinks that the name Octave has something to do with
music, but it is actually the name of a former professor of mine who
wrote a famous textbook on chemical reaction engineering, and who was
also well known for his ability to do quick `back of the envelope'
calculations.  We hope that this software will make it possible for many
people to do more ambitious computations just as easily.

</P>
<P>
Everyone is encouraged to share this software with others under the
terms of the GNU General Public License (see section <A HREF="octave_36.html#SEC202">GNU GENERAL PUBLIC LICENSE</A>) as described
at the beginning of this manual.  You are also encouraged to help make
Octave more useful by writing and contributing additional functions for
it, and by reporting any problems you may have.

</P>



<H2><A NAME="SEC2" HREF="octave_toc.html#TOC2">Acknowledgements</A></H2>
<P>
<A NAME="IDX3"></A>

</P>
<P>
Many people have already contributed to Octave's development.  In
addition to John W. Eaton, the following people have helped write parts
of Octave or helped out in various other ways.

</P>


<UL>
<LI>

Thomas Baier @email{baier@ci.tuwien.ac.at} wrote the original versions
of <CODE>popen</CODE>, <CODE>pclose</CODE>, <CODE>execute</CODE>, <CODE>sync_system</CODE>, and
<CODE>async_system</CODE>.

<LI>

Karl Berry @email{karl@cs.umb.edu} wrote the <CODE>kpathsea</CODE> library
that allows Octave to recursively search directory paths for function
and script files.

<LI>

Georg Beyerle @email{gbeyerle@awi-potsdam.de} contributed code to save
values in MATLAB's <TT>`.mat'</TT>-file format, and has provided many
useful bug reports and suggestions.

<LI>

John Campbell @email{jcc@bevo.che.wisc.edu} wrote most of the file and
C-style input and output functions.

<LI>

Brian Fox @email{bfox@gnu.ai.mit.edu} wrote the <CODE>readline</CODE> library
used for command history editing, and the portion of this manual that
documents it.

<LI>

Klaus Gebhardt @email{gebhardt@crunch.ikp.physik.th-darmstadt.de}
ported Octave to OS/2.

<LI>

A. Scottedward Hodel @email{A.S.Hodel@eng.auburn.edu} contributed a number
of functions including <CODE>expm</CODE>, <CODE>qzval</CODE>, <CODE>qzhess</CODE>,
<CODE>syl</CODE>, <CODE>lyap</CODE>, and <CODE>balance</CODE>.

<LI>

Kurt Hornik @email{Kurt.Hornik@ci.tuwien.ac.at} provided the
<CODE>corrcoef</CODE>, <CODE>cov</CODE>, <CODE>fftconv</CODE>, <CODE>fftfilt</CODE>, <CODE>gcd</CODE>,
<CODE>lcd</CODE>, <CODE>kurtosis</CODE>, <CODE>null</CODE>, <CODE>orth</CODE>, <CODE>poly</CODE>,
<CODE>polyfit</CODE>, <CODE>roots</CODE>, and <CODE>skewness</CODE> functions, supplied
documentation for these and numerous other functions, rewrote the Emacs
mode for editing Octave code and provided its documentation, and has
helped tremendously with testing.  He has also been a constant source of
new ideas for improving Octave.

<LI>

Phil Johnson @email{johnsonp@nicco.sscnet.ucla.edu} has helped to make
Linux releases available.

<LI>

Friedrich Leisch @email{leisch@ci.tuwien.ac.at} provided the
<CODE>mahalanobis</CODE> function.

<LI>

Ken Neighbors @email{wkn@leland.stanford.edu} has provided many useful
bug reports and comments on MATLAB compatibility.

<LI>

Rick Niles @email{niles@axp745.gsfc.nasa.gov} rewrote Octave's plotting
functions to add line styles and the ability to specify an unlimited
number of lines in a single call.  He also continues to track down odd
incompatibilities and bugs.

<LI>

Mark Odegard @email{meo@sugarland.unocal.com} provided the initial
implementation of <CODE>fread</CODE>, <CODE>fwrite</CODE>, <CODE>feof</CODE>, and
<CODE>ferror</CODE>.

<LI>

Tony Richardson @email{arichard@stark.cc.oh.us} wrote Octave's
image processing functions as well as most of the original polynomial
functions.

<LI>

R. Bruce Tenison @email{Bruce.Tenison@eng.auburn.edu} wrote the
<CODE>hess</CODE> and <CODE>schur</CODE> functions.

<LI>

Teresa Twaroch @email{twaroch@ci.tuwien.ac.at} provided the functions
<CODE>gls</CODE> and <CODE>ols</CODE>.

<LI>

Andreas Weingessel @email{Andreas.Weingessel@ci.tuwien.ac.at} wrote the
audio functions <CODE>lin2mu</CODE>, <CODE>loadaudio</CODE>, <CODE>mu2lin</CODE>,
<CODE>playaudio</CODE>, <CODE>record</CODE>, <CODE>saveaudio</CODE>, and <CODE>setaudio</CODE>.

<LI>

Fook Fah Yap @email{ffy@eng.cam.ac.uk} provided the <CODE>fft</CODE> and
<CODE>ifft</CODE> functions and valuable bug reports for early versions.
</UL>

<P>
Special thanks to the following people and organizations for
supporting the development of Octave:

</P>

<UL>
<LI>

Digital Equipment Corporation, for an equipment grant as part of their
External Research Program.

<LI>

Sun Microsystems, Inc., for an Academic Equipment grant.

<LI>

International Business Machines, Inc., for providing equipment as part
of a grant to the University of Texas College of Engineering.

<LI>

Texaco Chemical Company, for providing funding to continue the
development of this software.

<LI>

The University of Texas College of Engineering, for providing a
Challenge for Excellence Research Supplement, and for providing an
Academic Development Funds grant.

<LI>

The State of Texas, for providing funding through the Texas
Advanced Technology Program under Grant No. 003658-078.

<LI>

Noel Bell, Senior Engineer, Texaco Chemical Company, Austin Texas.

<LI>

James B. Rawlings, Professor, University of Wisconsin-Madison,
Department of Chemical Engineering.

<LI>

Richard Stallman, for writing GNU.
</UL>

<P>
This project would not have been possible without the GNU software used
in and used to produce Octave.

</P>


<H2><A NAME="SEC3" HREF="octave_toc.html#TOC3">How You Can Contribute to Octave</A></H2>
<P>
<A NAME="IDX4"></A>
<A NAME="IDX5"></A>

</P>
<P>
There are a number of ways that you can contribute to help make Octave a
better system.  Perhaps the most important way to contribute is to write
high-quality code for solving new problems, and to make your code freely
available for others to use.

</P>
<P>
If you find Octave useful, consider providing additional funding to
continue its development.  Even a modest amount of additional funding
could make a significant difference in the amount of time that is
available for development and support.

</P>
<P>
If you cannot provide funding or contribute code, you can still help
make Octave better and more reliable by reporting any bugs you find and
by offering suggestions for ways to improve Octave.  See section <A HREF="octave_32.html#SEC181">Known Causes of Trouble</A>, for
tips on how to write useful bug reports.

</P>


<H2><A NAME="SEC4" HREF="octave_toc.html#TOC4">Distribution</A></H2>
<P>
<A NAME="IDX6"></A>

</P>
<P>
Octave is <STRONG>free</STRONG> software.  This means that everyone is free to
use it and free to redistribute it on certain conditions.  Octave is not
in the public domain.  It is copyrighted and there are restrictions on
its distribution, but the restrictions are designed to ensure that
others will have the same freedom to use and redistribute Octave that
you have.  The precise conditions can be found in the GNU General Public
License that comes with Octave and that also appears in section <A HREF="octave_36.html#SEC202">GNU GENERAL PUBLIC LICENSE</A>.

</P>
<P>
Octave is available on CD-ROM with various collections of other free
software, and from the Free Software Foundation.  Ordering a copy of
Octave from the Free Software Foundation helps to fund the development
of more free software.  For more information, write to

</P>

<BLOCKQUOTE>
<P>
Free Software Foundation<BR>
59 Temple Place--Suite 330<BR>
Boston, MA 02111--1307<BR>
USA
</BLOCKQUOTE>

<P>
 
Octave is also available on the Internet from
@url{ftp://ftp.che.wisc.edu/pub/octave}, and additional information is
available from @url{http://www.che.wisc.edu/octave}.

</P>
<P><HR><P>
Go to the first, previous, <A HREF="octave_2.html">next</A>, <A HREF="octave_40.html">last</A> section, <A HREF="octave_toc.html">table of contents</A>.
</BODY>
</HTML>