Mercurial > web-octave
comparison pages/NEWS-2.md @ 215:dedb85c54245
Reorganize homepage.
author | Kai T. Ohlhus <k.ohlhus@gmail.com> |
---|---|
date | Thu, 10 Sep 2020 17:47:36 +0900 |
parents | |
children | c8126c010d67 |
comparison
equal
deleted
inserted
replaced
214:fe5dcb23372a | 215:dedb85c54245 |
---|---|
1 --- | |
2 layout: page | |
3 title: GNU Octave Version 2 | |
4 menu: false | |
5 permalink: NEWS-2.html | |
6 --- | |
7 | |
8 ## Summary of important user-visible changes | |
9 | |
10 {% include release_news_select.md %} | |
11 | |
12 <h2>Summary of changes for version 2.0.17</h2> | |
13 | |
14 <p>This will probably be the last release in the 2.0.x series. There are | |
15 a few bug fixes, but the major change is to print a message saying | |
16 that Octave 2.0.x cannot be compiled with gcc 3.0.x or gcc 2.96. If | |
17 you want to build Octave 2.0.x, you will need to use gcc 2.95.x. If | |
18 you want to use gcc 3.0.x or some later version, you should be using | |
19 the Octave 2.1.35 sources or a more recent version.</p> | |
20 | |
21 <h2>Summary of changes for version 2.0.16</h2> | |
22 | |
23 <p>This is primarily a bug-fixing release.</p> | |
24 | |
25 <h2>Summary of changes for version 2.0.15</h2> | |
26 | |
27 <p>This is primarily a bug-fixing release.</p> | |
28 | |
29 <ul> | |
30 <li>If you are using GNU Emacs 19.34 or earlier, you will need to add | |
31 the following code to your ~/.emacs file in order to use Emacs | |
32 Octave mode: | |
33 <pre> | |
34 ;; Set up the custom library. | |
35 ;; taken from http://www.dina.kvl.dk/~abraham/custom/ | |
36 (eval-and-compile | |
37 (condition-case () | |
38 (require 'custom) | |
39 (error nil)) | |
40 (if (and (featurep 'custom) (fboundp 'custom-declare-variable)) | |
41 nil ;; We've got what we needed | |
42 ;; We have the old custom-library, hack around it! | |
43 (defmacro defgroup (&rest args) | |
44 nil) | |
45 (defmacro defcustom (var value doc &rest args) | |
46 (` (defvar (, var) (, value) (, doc)))))) | |
47 </pre></li> | |
48 </ul> | |
49 | |
50 <h2>Summary of changes for version 2.0.14</h2> | |
51 | |
52 This release fixes numerous bugs and adds the following new features: | |
53 | |
54 <ul> | |
55 <li>argv is now padded with blanks instead of ASCII NUL.</li> | |
56 | |
57 <li>New functions: | |
58 <dl> | |
59 <dt><b>besselh</b></dt> | |
60 Hankel functions of the first and second kind | |
61 <dt><b>airy</b></dt> | |
62 Airy functions of the first and second kind, and | |
63 their derivatives | |
64 </dl></li> | |
65 | |
66 <li>The Bessel functions now accept complex values for the argument | |
67 and any real value for the order.</li> | |
68 | |
69 <li>The value of LOADPATH set by the environment variable | |
70 OCTAVE_PATH, the -p or --path command line options, or on the | |
71 command line is no longer modified to include the default path. | |
72 Instead it is left as specified. Its default value is now ":", | |
73 which tells Octave to search the default path, and the new | |
74 built-in variable DEFAULT_LOADPATH contains the default list of | |
75 directories to search. </li> | |
76 | |
77 <li>The function file_in_path no longer does any special processing of | |
78 its PATH argument. To search LOADPATH for files, it is now | |
79 generally better to use the new function file_in_loadpath.</li> | |
80 | |
81 <li>If fread is given a skip parameter, the skip is performed after | |
82 the read instead of before (for compatibility with Matlab).</li> | |
83 | |
84 <li>The new built-in variable `crash_dumps_octave_core' controls | |
85 whether Octave writes user variables to the file `octave-core' | |
86 when it crashes or is killed by a signal. The default value is 1 | |
87 (0 if you use --traditional).</li> | |
88 | |
89 <li>If LOADPATH contains a doubled colon, the default path is inserted | |
90 in its place. This is similar to the substitution that also takes | |
91 place for leading or trailing colons in the LOADPATH.</li> | |
92 | |
93 <li>Loops of the form `for i = STRING ... endfor' are now allowed.</li> | |
94 | |
95 <li>It is now possible to set the iteration limit for lsode using | |
96 lsode_options ("step limit", N).</li> | |
97 | |
98 <li>New functions: | |
99 <dl> | |
100 <dt><b>is_complex</b></dt> | |
101 tell whether a value is complex | |
102 <dt><b>isnumeric</b></dt> | |
103 tell whether a value is a numeric object | |
104 <dt><b>isfinite</b></dt> | |
105 find finite elements of a matrix object | |
106 <dt><b>rehash</b></dt> | |
107 re-initialize the cache of directories in LOADPATH | |
108 <dt><b>graw</b></dt> | |
109 send a string to the gnuplot subprocess | |
110 </dl></li> | |
111 | |
112 <li>New functions from Kurt Hornik's Octave-ci package: | |
113 <ul> | |
114 <li>In finance (new directory): | |
115 <dl> | |
116 <dt><b>fv</b></dt> | |
117 <dd>future value of an investment</dd> | |
118 <dt><b>fvl</b></dt> | |
119 <dd>future value of an initial lump sum investment</dd> | |
120 <dt><b>irr</b></dt> | |
121 <dd>internal rate of return of an investment</dd> | |
122 <dt><b>nper</b></dt> | |
123 <dd>number of payments needed for amortizing a loan</dd> | |
124 <dt><b>npv</b></dt> | |
125 <dd>net present value of a series of payments</dd> | |
126 <dt><b>pmt</b></dt> | |
127 <dd>amount of periodic payment needed to amortize a loan</dd> | |
128 <dt><b>pv</b></dt> | |
129 <dd>present value of an investment</dd> | |
130 <dt><b>pvl</b></dt> | |
131 <dd>present value of an investment that pays off at the end</dd> | |
132 <dt><b>rate</b></dt> | |
133 <dd>rate of return of an investment</dd> | |
134 <dt><b>vol</b></dt> | |
135 <dd>volatility of financial time series data</dd> | |
136 </dl></li> | |
137 | |
138 <li>In linear-algebra: | |
139 <dl> | |
140 <dt><b>dmult</b></dt> | |
141 <dd>rescale the rows of a matrix</dd> | |
142 </dl></li> | |
143 | |
144 <li>In signal: | |
145 <dl> | |
146 <dt><b>arch_fit</b></dt> | |
147 <dd>fit an ARCH regression model</dd> | |
148 <dt><b>arch_rnd</b></dt> | |
149 <dd>simulate an ARCH process</dd> | |
150 <dt><b>arch_test</b></dt> | |
151 <dd>test for conditional heteroscedascity</dd> | |
152 <dt><b>arma_rnd</b></dt> | |
153 <dd>simulate an ARMA process</dd> | |
154 <dt><b>autocor</b></dt> | |
155 <dd>compute autocorrelations</dd> | |
156 <dt><b>autocov</b></dt> | |
157 <dd>compute autocovariances</dd> | |
158 <dt><b>autoreg_matrix</b></dt> | |
159 <dd>design matrix for autoregressions</dd> | |
160 <dt><b>bartlett</b></dt> | |
161 <dd>coefficients of the Bartlett (triangular) window</dd> | |
162 <dt><b>blackman</b></dt> | |
163 <dd>coefficients of the Blackman window</dd> | |
164 <dt><b>diffpara</b></dt> | |
165 <dd>estimate the fractional differencing parameter</dd> | |
166 <dt><b>durbinlevinson</b></dt> | |
167 <dd>perform one step of the Durbin-Levinson algorithm</dd> | |
168 <dt><b>fractdiff</b></dt> | |
169 <dd>compute fractional differences</dd> | |
170 <dt><b>hamming</b></dt> | |
171 <dd>coefficients of the Hamming window</dd> | |
172 <dt><b>hanning</b></dt> | |
173 <dd>coefficients of the Hanning window</dd> | |
174 <dt><b>hurst</b></dt> | |
175 <dd>estimate the Hurst parameter</dd> | |
176 <dt><b>periodogram</b></dt> | |
177 <dd>compute the periodogram</dd> | |
178 <dt><b>rectangle_lw</b></dt> | |
179 <dd>rectangular lag window</dd> | |
180 <dt><b>rectangle_sw</b></dt> | |
181 <dd>rectangular spectral window</dd> | |
182 <dt><b>sinetone</b></dt> | |
183 <dd>compute a sine tone</dd> | |
184 <dt><b>sinewave</b></dt> | |
185 <dd>compute a sine wave</dd> | |
186 <dt><b>spectral_adf</b></dt> | |
187 <dd>spectral density estimation</dd> | |
188 <dt><b>spectral_xdf</b></dt> | |
189 <dd>spectral density estimation</dd> | |
190 <dt><b>spencer</b></dt> | |
191 <dd>apply Spencer's 15-point MA filter</dd> | |
192 <dt><b>stft</b></dt> | |
193 <dd>short-term Fourier transform</dd> | |
194 <dt><b>synthesis</b></dt> | |
195 <dd>recover a signal from its short-term Fourier transform</dd> | |
196 <dt><b>triangle_lw</b></dt> | |
197 <dd>triangular lag window</dd> | |
198 <dt><b>triangle_sw</b></dt> | |
199 <dd>triangular spectral window</dd> | |
200 <dt><b>yulewalker</b></dt> | |
201 <dd>fit AR model by Yule-Walker method</dd> | |
202 </dl></li> | |
203 | |
204 <li>In statistics/base (new directory): | |
205 <dl> | |
206 <dt><b>center</b></dt> | |
207 <dd>center by subtracting means</dd> | |
208 <dt><b>cloglog</b></dt> | |
209 <dd>complementary log-log function</dd> | |
210 <dt><b>cor</b></dt> | |
211 <dd>compute correlations</dd> | |
212 <dt><b>cov</b></dt> | |
213 <dd>compute covariances</dd> | |
214 <dt><b>cut</b></dt> | |
215 <dd>cut data into intervals</dd> | |
216 <dt><b>iqr</b></dt> | |
217 <dd>interquartile range</dd> | |
218 <dt><b>kendall</b></dt> | |
219 <dd>kendall's rank correlation tau</dd> | |
220 <dt><b>logit</b></dt> | |
221 <dd>logit transformation</dd> | |
222 <dt><b>mean</b></dt> | |
223 <dd>compute arithmetic, geometric, and harmonic mean</dd> | |
224 <dt><b>meansq</b></dt> | |
225 <dd>compute mean square</dd> | |
226 <dt><b>moment</b></dt> | |
227 <dd>compute moments</dd> | |
228 <dt><b>ppplot</b></dt> | |
229 <dd>perform a PP-plot (probability plot)</dd> | |
230 <dt><b>probit</b></dt> | |
231 <dd>probit transformation</dd> | |
232 <dt><b>qqplot</b></dt> | |
233 <dd>perform a QQ-plot (quantile plot)</dd> | |
234 <dt><b>range</b></dt> | |
235 <dd>compute range</dd> | |
236 <dt><b>ranks</b></dt> | |
237 <dd>compute ranks</dd> | |
238 <dt><b>run_count</b></dt> | |
239 <dd>count upward runs</dd> | |
240 <dt><b>spearman</b></dt> | |
241 <dd>spearman's rank correlation rho</dd> | |
242 <dt><b>statistics</b></dt> | |
243 <dd>compute basic statistics</dd> | |
244 <dt><b>studentize</b></dt> | |
245 <dd>subtract mean and divide by standard deviation</dd> | |
246 <dt><b>table</b></dt> | |
247 <dd>cross tabulation</dd> | |
248 <dt><b>values</b></dt> | |
249 <dd>extract unique elements</dd> | |
250 <dt><b>var</b></dt> | |
251 <dd>compute variance</dd> | |
252 </dl></li> | |
253 | |
254 <li>In statistics/distributions (new directory): | |
255 <dl> | |
256 <dt><b>beta_cdf</b></dt> | |
257 <dd>CDF of the Beta distribution</dd> | |
258 <dt><b>beta_inv</b></dt> | |
259 <dd>Quantile function of the Beta distribution</dd> | |
260 <dt><b>beta_pdf</b></dt> | |
261 <dd>PDF of the Beta distribution</dd> | |
262 <dt><b>beta_rnd</b></dt> | |
263 <dd>Random deviates from the Beta distribution | |
264 </dd> | |
265 <dt><b>binomial_cdf</b></dt> | |
266 <dd>CDF of the binomial distribution</dd> | |
267 <dt><b>binomial_inv</b></dt> | |
268 <dd>Quantile function of the binomial distribution</dd> | |
269 <dt><b>binomial_pdf</b></dt> | |
270 <dd>PDF of the binomial distribution</dd> | |
271 <dt><b>binomial_rnd</b></dt> | |
272 <dd>Random deviates from the binomial distribution | |
273 </dd> | |
274 <dt><b>cauchy_cdf</b></dt> | |
275 <dd>CDF of the Cauchy distribution</dd> | |
276 <dt><b>cauchy_inv</b></dt> | |
277 <dd>Quantile function of the Cauchy distribution</dd> | |
278 <dt><b>cauchy_pdf</b></dt> | |
279 <dd>PDF of the Cauchy distribution</dd> | |
280 <dt><b>cauchy_rnd</b></dt> | |
281 <dd>Random deviates from the Cauchy distribution | |
282 </dd> | |
283 <dt><b>chisquare_cdf</b></dt> | |
284 <dd>CDF of the chi-square distribution</dd> | |
285 <dt><b>chisquare_inv</b></dt> | |
286 <dd>Quantile function of the chi-square distribution</dd> | |
287 <dt><b>chisquare_pdf</b></dt> | |
288 <dd>PDF of the chi-sqaure distribution</dd> | |
289 <dt><b>chisquare_rnd</b></dt> | |
290 <dd>Random deviates from the chi-square distribution | |
291 </dd> | |
292 <dt><b>discrete_cdf</b></dt> | |
293 <dd>CDF of a discrete distribution</dd> | |
294 <dt><b>discrete_inv</b></dt> | |
295 <dd>Quantile function of a discrete distribution</dd> | |
296 <dt><b>discrete_pdf</b></dt> | |
297 <dd>PDF of a discrete distribution</dd> | |
298 <dt><b>discrete_rnd</b></dt> | |
299 <dd>Random deviates from a discrete distribution | |
300 </dd> | |
301 <dt><b>empirical_cdf</b></dt> | |
302 <dd>CDF of the empirical distribution</dd> | |
303 <dt><b>empirical_inv</b></dt> | |
304 <dd>Quantile function of the empirical distribution</dd> | |
305 <dt><b>empirical_pdf</b></dt> | |
306 <dd>PDF of the empirical distribution</dd> | |
307 <dt><b>empirical_rnd</b></dt> | |
308 <dd>Bootstrap samples from the empirical distribution | |
309 </dd> | |
310 <dt><b>exponential_cdf</b></dt> | |
311 <dd>CDF of the exponential distribution</dd> | |
312 <dt><b>exponential_inv</b></dt> | |
313 <dd>Quantile function of the exponential distribution</dd> | |
314 <dt><b>exponential_pdf</b></dt> | |
315 <dd>PDF of the exponential distribution</dd> | |
316 <dt><b>exponential_rnd</b></dt> | |
317 <dd>Random deviates from the exponential distribution | |
318 </dd> | |
319 <dt><b>f_cdf</b></dt> | |
320 <dd>CDF of the F distribution</dd> | |
321 <dt><b>f_inv</b></dt> | |
322 <dd>Quantile function of the F distribution</dd> | |
323 <dt><b>f_pdf</b></dt> | |
324 <dd>PDF of the F distribution</dd> | |
325 <dt><b>f_rnd</b></dt> | |
326 <dd>Random deviates from the F distribution | |
327 </dd> | |
328 <dt><b>gamma_cdf</b></dt> | |
329 <dd>CDF of the Gamma distribution</dd> | |
330 <dt><b>gamma_inv</b></dt> | |
331 <dd>Quantile function of the Gamma distribution</dd> | |
332 <dt><b>gamma_pdf</b></dt> | |
333 <dd>PDF of the Gamma distribution</dd> | |
334 <dt><b>gamma_rnd</b></dt> | |
335 <dd>Random deviates from the Gamma distribution | |
336 </dd> | |
337 <dt><b>geometric_cdf</b></dt> | |
338 <dd>CDF of the geometric distribution</dd> | |
339 <dt><b>geometric_inv</b></dt> | |
340 <dd>Quantile function of the geometric distribution</dd> | |
341 <dt><b>geometric_pdf</b></dt> | |
342 <dd>PDF of the geometric distribution</dd> | |
343 <dt><b>geometric_rnd</b></dt> | |
344 <dd>Random deviates from the geometric distribution | |
345 </dd> | |
346 <dt><b>hypergeometric_cdf</b></dt> | |
347 <dd>CDF of the hypergeometric distribution</dd> | |
348 <dt><b>hypergeometric_inv</b></dt> | |
349 <dd>Random deviates from hypergeometric distribution</dd> | |
350 <dt><b>hypergeometric_pdf</b></dt> | |
351 <dd>PDF of the hypergeometric distribution</dd> | |
352 <dt><b>hypergeometric_rnd</b></dt> | |
353 <dd>Random deviates from hypergeometric distribution | |
354 </dd> | |
355 <dt><b>kolmogorov_smirnov_cdf</b></dt> | |
356 <dd>CDF of the Kolmogorov-Smirnov distribution | |
357 </dd> | |
358 <dt><b>laplace_cdf</b></dt> | |
359 <dd>CDF of the Laplace distribution</dd> | |
360 <dt><b>laplace_inv</b></dt> | |
361 <dd>Quantile function of the Laplace distribution</dd> | |
362 <dt><b>laplace_pdf</b></dt> | |
363 <dd>PDF of the Laplace distribution</dd> | |
364 <dt><b>laplace_rnd</b></dt> | |
365 <dd>Random deviates from the Laplace distribution | |
366 </dd> | |
367 <dt><b>logistic_cdf</b></dt> | |
368 <dd>CDF of the logistic distribution</dd> | |
369 <dt><b>logistic_inv</b></dt> | |
370 <dd>Quantile function of the logistic distribution</dd> | |
371 <dt><b>logistic_pdf</b></dt> | |
372 <dd>PDF of the logistic distribution</dd> | |
373 <dt><b>logistic_rnd</b></dt> | |
374 <dd>Random deviates from the logistic distribution | |
375 </dd> | |
376 <dt><b>lognormal_cdf</b></dt> | |
377 <dd>CDF of the log normal distribution</dd> | |
378 <dt><b>lognormal_inv</b></dt> | |
379 <dd>Quantile function of the log normal distribution</dd> | |
380 <dt><b>lognormal_pdf</b></dt> | |
381 <dd>PDF of the log normal distribution</dd> | |
382 <dt><b>lognormal_rnd</b></dt> | |
383 <dd>Random deviates from the log normal distribution | |
384 </dd> | |
385 <dt><b>normal_cdf</b></dt> | |
386 <dd>CDF of the normal distribution</dd> | |
387 <dt><b>normal_inv</b></dt> | |
388 <dd>Quantile function of the normal distribution</dd> | |
389 <dt><b>normal_pdf</b></dt> | |
390 <dd>PDF of the normal distribution</dd> | |
391 <dt><b>normal_rnd</b></dt> | |
392 <dd>Random deviates from the normal distribution | |
393 </dd> | |
394 <dt><b>pascal_cdf</b></dt> | |
395 <dd>CDF of the Pascal (negative binomial) distribution</dd> | |
396 <dt><b>pascal_inv</b></dt> | |
397 <dd>Quantile function of the Pascal distribution</dd> | |
398 <dt><b>pascal_pdf</b></dt> | |
399 <dd>PDF of the Pascal (negative binomial) distribution</dd> | |
400 <dt><b>pascal_rnd</b></dt> | |
401 <dd>Random deviates from the Pascal distribution | |
402 </dd> | |
403 <dt><b>poisson_cdf</b></dt> | |
404 <dd>CDF of the Poisson distribution</dd> | |
405 <dt><b>poisson_inv</b></dt> | |
406 <dd>Quantile function of the Poisson distribution</dd> | |
407 <dt><b>poisson_pdf</b></dt> | |
408 <dd>PDF of the Poisson distribution</dd> | |
409 <dt><b>poisson_rnd</b></dt> | |
410 <dd>Random deviates from the Poisson distribution | |
411 </dd> | |
412 <dt><b>stdnormal_cdf</b></dt> | |
413 <dd>CDF of the standard normal distribution</dd> | |
414 <dt><b>stdnormal_inv</b></dt> | |
415 <dd>Quantile function of standard normal distribution</dd> | |
416 <dt><b>stdnormal_pdf</b></dt> | |
417 <dd>PDF of the standard normal distribution</dd> | |
418 <dt><b>stdnormal_rnd</b></dt> | |
419 <dd>Random deviates from standard normal distribution | |
420 </dd> | |
421 <dt><b>t_cdf</b></dt> | |
422 <dd>CDF of the t distribution</dd> | |
423 <dt><b>t_inv</b></dt> | |
424 <dd>Quantile function of the t distribution</dd> | |
425 <dt><b>t_pdf</b></dt> | |
426 <dd>PDF of the t distribution</dd> | |
427 <dt><b>t_rnd</b></dt> | |
428 <dd>Random deviates from the t distribution | |
429 </dd> | |
430 <dt><b>uniform_cdf</b></dt> | |
431 <dd>CDF of the uniform distribution</dd> | |
432 <dt><b>uniform_inv</b></dt> | |
433 <dd>Quantile function of the uniform distribution</dd> | |
434 <dt><b>uniform_pdf</b></dt> | |
435 <dd>PDF of the uniform distribution</dd> | |
436 <dt><b>uniform_rnd</b></dt> | |
437 <dd>Random deviates from the uniform distribution | |
438 </dd> | |
439 <dt><b>weibull_cdf</b></dt> | |
440 <dd>CDF of the Weibull distribution</dd> | |
441 <dt><b>weibull_inv</b></dt> | |
442 <dd>Quantile function of the Weibull distribution</dd> | |
443 <dt><b>weibull_pdf</b></dt> | |
444 <dd>PDF of the Weibull distribution</dd> | |
445 <dt><b>weibull_rnd</b></dt> | |
446 <dd>Random deviates from the Weibull distribution | |
447 </dd> | |
448 <dt><b>wiener_rnd</b></dt> | |
449 <dd>Simulate a Wiener process</dd> | |
450 </dl></li> | |
451 | |
452 <li>In statistics/models (new directory): | |
453 <dl> | |
454 <dt><b>logistic_regression</b></dt> | |
455 <dd>ordinal logistic regression</dd> | |
456 <dt><b>logistic_regression_derivatives</b></dt> | |
457 <dd>derivates of log-likelihood | |
458 in logistic regression</dd> | |
459 <dt><b>logistic_regression_likelihood</b></dt> | |
460 <dd>likelihood in logistic regression</dd> | |
461 </dl></li> | |
462 | |
463 <li>In statistics/tests (new directory): | |
464 <dl> | |
465 <dt><b>anova</b></dt> | |
466 <dd>one-way analysis of variance</dd> | |
467 <dt><b>bartlett_test</b></dt> | |
468 <dd>bartlett test for homogeneity of variances</dd> | |
469 <dt><b>chisquare_test_homogeneity</b></dt> | |
470 <dd>chi-square test for homogeneity</dd> | |
471 <dt><b>chisquare_test_independence</b></dt> | |
472 <dd>chi-square test for independence</dd> | |
473 <dt><b>cor_test</b></dt> | |
474 <dd>test for zero correlation</dd> | |
475 <dt><b>f_test_regression</b></dt> | |
476 <dd>test linear hypotheses in linear | |
477 regression model</dd> | |
478 <dt><b>hotelling_test</b></dt> | |
479 <dd>test for mean of a multivariate normal</dd> | |
480 <dt><b>hotelling_test_2</b></dt> | |
481 <dd>compare means of two multivariate normals</dd> | |
482 <dt><b>kolmogorov_smirnov_test</b></dt> | |
483 <dd>one-sample Kolmogorov-Smirnov test</dd> | |
484 <dt><b>kolmogorov_smirnov_test_2</b></dt> | |
485 <dd>two-sample Kolmogorov-Smirnov test</dd> | |
486 <dt><b>kruskal_wallis_test</b></dt> | |
487 <dd>kruskal-Wallis test</dd> | |
488 <dt><b>manova</b></dt> | |
489 <dd>one-way multivariate analysis of variance</dd> | |
490 <dt><b>mcnemar_test</b></dt> | |
491 <dd>mcnemar's test for symmetry</dd> | |
492 <dt><b>prop_test_2</b></dt> | |
493 <dd>compare two proportions</dd> | |
494 <dt><b>run_test</b></dt> | |
495 <dd>run test for independence</dd> | |
496 <dt><b>sign_test</b></dt> | |
497 <dd>sign test</dd> | |
498 <dt><b>t_test</b></dt> | |
499 <dd>student's one-sample t test </dd> | |
500 <dt><b>t_test_2</b></dt> | |
501 <dd>student's two-sample t test</dd> | |
502 <dt><b>t_test_regression</b></dt> | |
503 <dd>test one linear hypothesis in linear | |
504 regression model</dd> | |
505 <dt><b>u_test</b></dt> | |
506 <dd>mann-Whitney U-test</dd> | |
507 <dt><b>var_test</b></dt> | |
508 <dd>f test to compare two variances</dd> | |
509 <dt><b>welch_test</b></dt> | |
510 <dd>welch two-sample t test</dd> | |
511 <dt><b>wilcoxon_test</b></dt> | |
512 <dd>wilcoxon signed-rank test</dd> | |
513 <dt><b>z_test</b></dt> | |
514 <dd>test for mean of a normal sample with | |
515 known variance</dd> | |
516 <dt><b>z_test_2</b></dt> | |
517 <dd>compare means of two normal samples with | |
518 known variances</dd> | |
519 </dl></li> | |
520 </ul></li> | |
521 | |
522 <li>The save command now accepts the option -append to save the | |
523 variables at the end of the file, leaving the existing contents.</li> | |
524 | |
525 <li>New command-line option --no-history (also available using the | |
526 single character option -H) inhibits saving command history.</li> | |
527 | |
528 <li>The mkoctfile script now accepts -DDEF options and passes them on | |
529 to the C and C++ compilers.</li> | |
530 </ul | |
531 > | |
532 <h2>Summary of changes for version 2.0.13</h2> | |
533 | |
534 <p>This is a bug-fixing release. There are no new user-visible features.</p> | |
535 | |
536 <h2>Summary of changes for version 2.0.12</h2> | |
537 | |
538 <ul> | |
539 <li>Tilde expansion is once again performed on the directories listed | |
540 in the LOADPATH variable.</li> | |
541 | |
542 <li>gplot now supports the `axes' qualifier that is new with gnuplot | |
543 3.6beta.</li> | |
544 | |
545 <li>Timestamps on .m and .oct files are now only checked if a prompt | |
546 has been printed since the last timestamp check.</li> | |
547 | |
548 <li>Octave now prints a warning if a .m or .oct file has a time stamp | |
549 in the future.</li> | |
550 | |
551 <li>For matrices, x(:) now works no matter what the value of | |
552 do_fortran_indexing is.</li> | |
553 | |
554 <li>New keywords __FILE__ and __LINE__ expand to the name of the file | |
555 that is being read and the current input line number, respectively.</li> | |
556 | |
557 <li>The GNU Info reader is no longer distributed with Octave because | |
558 current releases of GNU Info now support all the features needed | |
559 by Octave. If your copy of GNU Info doesn't support the | |
560 --index-search option, you should install a newer version of GNU | |
561 Info, which is distributed as part of the GNU Texinfo package.</li> | |
562 | |
563 <li>Running `make check' should work now before you run `make install', | |
564 even if you build a copy of Octave that depends on shared versions | |
565 of the Octave libraries.</li> | |
566 | |
567 <li>Octave now uses kpathsea 3.2.</li> | |
568 | |
569 <li>The new built-in variable `kluge_procbuf_delay' specifies the number | |
570 of microseconds to delay in the parent process after forking. By | |
571 default on gnu-win32 systems, it's set to 500000 (1/2 second). On | |
572 other systems, the default value is 0. Delaying for a short time | |
573 in the parent after forking seems to avoid problems in which | |
574 communicating with subprocesses via pipes would sometimes cause | |
575 Octave to hang. I doubt that the delay is really the right | |
576 solution. If anyone has a better idea, I'd love to hear it.</li> | |
577 </ul> | |
578 | |
579 <h2>Summary of changes for version 2.0.11</h2> | |
580 | |
581 <ul> | |
582 <li>There are two new built-in variables that control how global | |
583 variables are initialized. If `initialize_global_variables' is | |
584 nonzero, global variables are initialized to the value of the | |
585 variable `default_global_variable_value'. The default value of | |
586 `initialize_global_variables' is 0 (1 if you use --traditional) | |
587 and `default_global_variable_value' is undefined (the empty matrix | |
588 if you use --traditional). The default settings are compatible | |
589 with versions of Octave before 2.0.10.</li> | |
590 </ul> | |
591 | |
592 <h2>Summary of changes for version 2.0.10</h2> | |
593 | |
594 <ul> | |
595 <li>The built-in variable `PWD' has been removed. If you need to get | |
596 the value of the current working directory, use the pwd() function | |
597 instead.</li> | |
598 <li>For compatibility with Matlab, Octave's lyap function now solves | |
599 <pre> | |
600 A*X + X*A' + C = 0 | |
601 </pre> | |
602 instead of | |
603 <pre> | |
604 A'*X + X*A + C = 0 | |
605 </pre> | |
606 To try to avoid confusion for people who are used to the way | |
607 Octave behaved in previous versions, a warning is printed the | |
608 first time lyap is called in a given session. To completely | |
609 disable the warning, simply add | |
610 <pre> | |
611 global __disable_lyap_interface_change_warning__; | |
612 </pre> | |
613 to your ~/.octaverc file. The warning will eventually disappear | |
614 for good in some future version of Octave.</li> | |
615 <li>New built-in functions for computing Bessel functions: | |
616 besseli, besselj, besselk, and bessely.</li> | |
617 <li>The gammai and betai functions are now implemented as built-in | |
618 functions rather than function files.</li> | |
619 <li>The new built-in variable `implicit_num_to_str_ok' controls | |
620 whether Octave converts expressions like `[97, 98, 99, "123"]' to | |
621 strings. The default value is 0 unless you use --traditional.</li> | |
622 <li>The new built-in variable `fixed_point_format' controls whether | |
623 Octave uses a scaled fixed-point format for displaying matrices. | |
624 The default value is 0 unless you use --traditional.</li> | |
625 <li>The function sumsq now computes sum (x .* conj (x)) for complex values.</li> | |
626 <li>Dynamically linked functions can be cleared.</li> | |
627 <li>If a .oct file has a time stamp more recent than the time that it | |
628 was loaded, it is automatically reloaded. Reloading a .oct file | |
629 may cause several functions to be cleared automatically. By | |
630 default, a warning is printed that lists the names of the | |
631 functions that will be cleared. You can suppress the message by | |
632 setting the new built-in variable `warn_reload_forces_clear' to 0.</li> | |
633 <li>Global variables are now initialized to the empty matrix, for | |
634 compatibility with Matlab.</li> | |
635 <li>Explicit initialization of global variables only happens once. | |
636 For example, after the following statements are evaluated, g still | |
637 has the value 1. | |
638 <pre> | |
639 global g = 1 | |
640 global g = 2 | |
641 </pre> | |
642 This is useful for initializing global variables that are used to | |
643 maintain state information that is shared among several functions.</li> | |
644 <li>The new built-in variable max_recursion_depth allows you to | |
645 prevent Octave from attempting infinite recursion. The default | |
646 value is 256.</li> | |
647 <li>Octave now uses readline version 2.1 and kpathsea 3.0.</li> | |
648 <li>The libreadline and libkpathsea libraries are no longer installed.</li> | |
649 <li>The libcruft, liboctave, and liboctinterp libraries are now | |
650 installed in $libdir/octave instead of just $libdir.</li> | |
651 <li>It's no longer necessary to have libg++, but you do need to have | |
652 the GNU implementation of libstdc++. If you are using gcc 2.7.2, | |
653 libstdc++ is distributed as part of libg++ 2.7.2. For later | |
654 versions, libstdc++ is distributed separately. For egcs, | |
655 libstdc++ is included with the compiler distribution.</li> | |
656 </ul> | |
657 | |
658 <h2>Summary of changes for version 2.0.9</h2> | |
659 | |
660 <p>This is a bug-fixing release, but there is one new user-visible | |
661 feature:</p> | |
662 | |
663 <ul> | |
664 <li>It is now possible to specify a label for lines in the plot key | |
665 when using the plot function. For example, | |
666 <pre> | |
667 plot (x, y, "-*;sin(x);") | |
668 </pre> | |
669 plots y vs. x using the linespoints style and sets the title of | |
670 the line in the key to be `sin(x)'</li> | |
671 </ul> | |
672 | |
673 <h2>Summary of changes for version 2.0.8</h2> | |
674 | |
675 <p>This is a bug-fixing release. There are only a few new user-visible | |
676 features.</p> | |
677 | |
678 <ul> | |
679 <li>If the argument to eig() is symmetric, Octave uses the specialized | |
680 Lapack subroutine for symmetric matrices for a significant | |
681 increase in performance.</li> | |
682 <li>It is now possible to use the mkoctfile script to create .oct | |
683 files from multiple source and object files.</li> | |
684 </ul> | |
685 | |
686 <h2>Summary of changes for version 2.0.7</h2> | |
687 | |
688 <p>This is a bug-fixing release. There are no new user-visible features.</p> | |
689 | |
690 <h2>Summary of changes for version 2.0.6</h2> | |
691 | |
692 <p>This is primarily a bug-fixing release. There are only a few new | |
693 user-visilbe features.</p> | |
694 | |
695 <ul> | |
696 <li>The new built-in variable default_eval_print_flag controls whether | |
697 Octave prints the results of commands executed by eval() that do | |
698 not end with semicolons. The default is 1.</li> | |
699 <li>The new built-in constant OCTAVE_HOME specifies the top-level | |
700 directory where Octave is installed.</li> | |
701 <li>Octave no longer includes functions to work with NPSOL or QPSOL, | |
702 because they are not free software.</li> | |
703 </ul> | |
704 | |
705 <h2>Summary of changes for version 2.0.5</h2> | |
706 | |
707 <ul> | |
708 <li>A `switch' statement is now available. See the Statements chapter | |
709 in the manual for details.</li> | |
710 <li>Commands like ls, save, and cd may now also be used as formal | |
711 parameters for functions.</li> | |
712 <li>More tests.</li> | |
713 </ul> | |
714 | |
715 <h2>Summary of changes for version 2.0.4</h2> | |
716 | |
717 <ul> | |
718 <li>It is now possible to use commands like ls, save, and cd as simple | |
719 variable names. They still cannot be used as formal parameters | |
720 for functions, or as the names of structure variables. Failed | |
721 assignments leave them undefined (you can recover the orginal | |
722 function definition using clear).</li> | |
723 <li>Is is now possible to invoke commands like ls, save, and cd as | |
724 normal functions (for example, load ("foo", "x", "y", "z")).</li> | |
725 </ul> | |
726 | |
727 <h2>Summary of changes for version 2.0.3</h2> | |
728 | |
729 <ul> | |
730 <li>The manual has been completely revised and now corresponds much | |
731 more closely to the features of the current version.</li> | |
732 <li>The return value for assignment expressions is now the RHS since | |
733 that is more consistent with the way other programming languages | |
734 work. However, Octave still prints the entire LHS value so that | |
735 <pre> | |
736 x = zeros (1, 2); | |
737 x(2) = 1 | |
738 </pre> | |
739 still prints | |
740 <pre> | |
741 x = | |
742 | |
743 0 1 | |
744 | |
745 </pre> | |
746 but an assignment like | |
747 <pre> | |
748 z = x(2) = 1 | |
749 </pre> | |
750 sets z to 1 (not [ 0, 1 ] as in previous versions of Octave).</li> | |
751 <li>It is now much easier to make binary distributions. See the | |
752 Binary Distributions section of the manual for more details.</li> | |
753 </ul> | |
754 | |
755 <h2>Summary of changes for version 2.0.2</h2> | |
756 | |
757 <ul></li> | |
758 <li>Octave now stops executing commands from a script file if an error | |
759 is encountered.</li> | |
760 <li>The return, and break commands now cause Octave to quit executing | |
761 commands from script files. When used in invalid contexts, the | |
762 break, continue, and return commands are now simply ignored | |
763 instead of producing parse errors.</li> | |
764 <li>size ("") is now [0, 0].</li> | |
765 <li>New functions: | |
766 <dl> | |
767 <dt><b>sleep</b></dt> | |
768 <dd>pause execution for a specified number of seconds</dd> | |
769 <dt><b>usleep</b></dt> | |
770 <dd>pause execution for a specified number of microseconds</dd> | |
771 </dl></li> | |
772 </ul> | |
773 </pre> | |
774 | |
775 <h2>Summary of changes for version 2.0.1</h2> | |
776 | |
777 <p>Other than bug fixes, there were no user-visible changes in version | |
778 2.0.1. | |
779 | |
780 <h2>Summary of changes for version 2.0</h2> | |
781 | |
782 <p><ul> | |
783 <li>The set and show commands for setting and displaying gnuplot | |
784 parameters have been replaced by gset and gshow. This change will | |
785 probably break lots of things, but it is necessary to allow for | |
786 compatibility with the Matlab graphics and GUI commands in a | |
787 future version of Octave. (For now, the old set and show commands | |
788 do work, but they print an annoying warning message to try to get | |
789 people to switch to using gset.)</li> | |
790 <li>Octave has been mostly ported to Windows NT and Windows 95 using | |
791 the beta 17 release of the Cygnus GNU-WIN32 tools. Not everything | |
792 works, but it is usable. See the file README.WINDOWS for more | |
793 information.</li> | |
794 <li>Dynamic linking works on more systems using dlopen() and friends | |
795 (most modern Unix systems) or shl_load() and friends (HP/UX | |
796 systems). A simple example is provided in examples/hello.cc. | |
797 For this feature to work, you must configure Octave with | |
798 --enable-shared. You may also need to have a shared-library | |
799 version of libg++ and libstdc++.</li> | |
800 <li>New data types can be added to Octave by writing a C++ class. On | |
801 systems that support dynamic linking, new data types can be added | |
802 to an already running Octave binary. A simple example appears in | |
803 the file examples/make_int.cc. Other examples are the standard | |
804 Octave data types defined in the files src/ov*.{h,cc} and | |
805 src/op-*.cc.</li> | |
806 <li>The configure option --enable-bounds-check turns on bounds | |
807 checking on element references for Octave's internal array and | |
808 matrix classes. It's enabled by default. To disable this | |
809 feature, configure Octave with --disable-bounds-check.</li> | |
810 <li>The C-style I/O functions (fopen, fprintf, etc.) have been | |
811 rewritten to be more compatible with Matlab. The fputs function | |
812 has also been added. Usage of the *printf functions that was | |
813 allowed in previous versions of Octave should still work. | |
814 However, there is no way to make the new versions of the *scanf | |
815 functions compatible with Matlab *and* previous versions of | |
816 Octave. An optional argument to the *scanf functions is now | |
817 available to make them behave in a way that is compatible with | |
818 previous versions of Octave.</li> | |
819 <li>Octave can now read files that contain columns of numbers only, | |
820 with no header information. The name of the loaded variable is | |
821 constructed from the file name. Each line in the file must have | |
822 the same number of elements.</li> | |
823 <li>The interface to the pager has changed. The new built-in variable | |
824 `page_output_immediately' controls when Octave sends output to the | |
825 pager. If it is nonzero, Octave sends output to the pager as soon | |
826 as it is available. Otherwise, Octave buffers its output and | |
827 waits until just before the prompt is printed to flush it to the | |
828 pager.</li> | |
829 <li>Expressions of the form | |
830 <pre> | |
831 A(i,j) = x | |
832 </pre> | |
833 where X is a scalar and the indices i and j define a matrix of | |
834 elements now work as you would expect rather than giving an error. | |
835 I am told that this is how Matlab 5.0 will behave when it is | |
836 released.</li> | |
837 <li>Indexing of character strings now works.</li> | |
838 <li>The echo command has been implemented.</li> | |
839 <li>The document command is now a regular function.</li> | |
840 <li>New method for handling errors: | |
841 <pre> | |
842 try | |
843 BODY | |
844 catch | |
845 CLEANUP | |
846 end_try_catch | |
847 </pre> | |
848 Where BODY and CLEANUP are both optional and may contain any | |
849 Octave expressions or commands. The statements in CLEANUP are | |
850 only executed if an error occurs in BODY. | |
851 | |
852 <p> No warnings or error messages are printed while BODY is | |
853 executing. If an error does occur during the execution of BODY, | |
854 CLEANUP can access the text of the message that would have been | |
855 printed in the builtin constant __error_text__. This is the same | |
856 as eval (TRY, CATCH) (which may now also use __error_text__) but | |
857 it is more efficient since the commands do not need to be parsed | |
858 each time the TRY and CATCH statements are evaluated.</li> | |
859 <li>Octave no longer parses the help command by grabbing everything | |
860 after the keyword `help' until a newline character is read. To | |
861 get help for `;' or `,', now, you need to use the command | |
862 `help semicolon' or `help comma'.</li> | |
863 <li>Octave's parser now does some simple constant folding. This means | |
864 that expressions like 3*i are now evaluated only once, when a | |
865 function is compiled, and the right hand side of expressions like | |
866 a = [1,2;3,4] are treated as true matrix constants rather than | |
867 lists of elements which must be evaluated each time they are | |
868 needed.</li> | |
869 <li>Built-in variables that can take values of "true" and "false" can | |
870 now also be set to any nonzero scalar value to indicate "true", | |
871 and 0 to indicate "false".</li> | |
872 <li>New built-in variables `history_file', `history_size', and | |
873 `saving_history'.</li> | |
874 <li>New built-in variable `string_fill_char' specifies the character | |
875 to fill with when creating arrays of strings.</li> | |
876 <li>If the new built-in variable `gnuplot_has_frames' is nonzero, | |
877 Octave assumes that your copy of gnuplot includes support for | |
878 multiple plot windows when using X11. | |
879 | |
880 If the new built-in variable `gnuplot_has_multiplot' is nonzero, | |
881 Octave assumes that your copy of gnuplot has the multiplot support | |
882 that is included in recent 3.6beta releases. | |
883 | |
884 The initial values of these variables are determined by configure, | |
885 but can be changed in your startup script or at the command line | |
886 in case configure got it wrong, or if you upgrade your gnuplot | |
887 installation.</li> | |
888 <li>The new plot function `figure' allows multiple plot windows when | |
889 using newer versions of gnuplot with X11.</li> | |
890 <li>Octave now notices when the plotter has exited unexpectedly.</li> | |
891 <li>New built-in variable `warn_missing_semicolon'. If nonzero, Octave | |
892 will warn when statements in function definitions don't end in | |
893 semicolons. The default value is 0.</li> | |
894 <li>Octave now attempts to continue after floating point exceptions | |
895 or out-of-memory errors.</li> | |
896 <li>If Octave crashes, it now attempts to save all user-defined | |
897 variables in a file named `octave-core' in the current directory | |
898 before exiting.</li> | |
899 <li>It is now possible to get the values of individual option settings | |
900 for the dassl, fsolve, lsode, npsol, qpsol, and quad functions | |
901 using commands like | |
902 <pre> | |
903 dassl_reltol = dassl_options ("relative tolerance"); | |
904 </pre></li> | |
905 <li>The svd() function no longer computes the left and right singular | |
906 matrices unnecessarily. This can significantly improve | |
907 performance for large matrices if you are just looking for the | |
908 singular values.</li> | |
909 <li>The filter() function is now a built-in function.</li> | |
910 <li>New function randn() returns a pseudo-random number from a normal | |
911 distribution. The rand() and randn() functions have separate | |
912 seeds and generators.</li> | |
913 <li>Octave's command-line arguments are now available in the built-in | |
914 variable `argv'. The program name is also available in the | |
915 variables `program_invocation_name' and `program_name'. If | |
916 executing a script from the command line (e.g., octave foo.m) or | |
917 using the `#! /bin/octave' hack, the program name is set to the | |
918 name of the script.</li> | |
919 <li>New built-in variable `completion_append_char' used as the | |
920 character to append to successful command-line completion | |
921 attempts. The default is " " (a single space).</li> | |
922 <li>Octave now uses a modified copy of the readline library from | |
923 version 1.14.5 of GNU bash.</li> | |
924 <li>In prompt strings, `\H' expands to the whole host name.</li> | |
925 <li>New built-in variable `beep_on_error'. If nonzero, Octave will try | |
926 to ring your terminal's bell before printing an error message. | |
927 The default value is 0.</li> | |
928 <li>For functions defined from files, the type command now prints the | |
929 text of the file. You can still get the text reconstructed from | |
930 the parse tree by using the new option -t (-transformed).</li> | |
931 <li>New command-line argument --traditional sets the following | |
932 preference variables for compatibility with Matlab: | |
933 <pre> | |
934 PS1 = ">> " | |
935 PS2 = "" | |
936 beep_on_error = 1 | |
937 default_save_format = "mat-binary" | |
938 define_all_return_values = 1 | |
939 do_fortran_indexing = 1 | |
940 empty_list_elements_ok = 1 | |
941 implicit_str_to_num_ok = 1 | |
942 ok_to_lose_imaginary_part = 1 | |
943 page_screen_output = 0 | |
944 prefer_column_vectors = 0 | |
945 prefer_zero_one_indexing = 1 | |
946 print_empty_dimensions = 0 | |
947 treat_neg_dim_as_zero = 1 | |
948 warn_function_name_clash = 0 | |
949 whitespace_in_literal_matrix = "traditional" | |
950 </pre></li> | |
951 <li>New functions: | |
952 <dl> | |
953 <dt><b>readdir</b></dt> | |
954 <dd>returns names of files in directory as array of strings</dd> | |
955 <dt><b>mkdir</b></dt> | |
956 <dd>create a directory</dd> | |
957 <dt><b>rmdir</b></dt> | |
958 <dd>remove a directory</dd> | |
959 <dt><b>rename</b></dt> | |
960 <dd>rename a file</dd> | |
961 <dt><b>unlink</b></dt> | |
962 <dd>delete a file</dd> | |
963 <dt><b>umask</b></dt> | |
964 <dd>set permission mask for file creation</dd> | |
965 <dt><b>stat</b></dt> | |
966 <dd>get information about a file</dd> | |
967 <dt><b>lstat</b></dt> | |
968 <dd>get information about a symbolic link</dd> | |
969 <dt><b>glob</b></dt> | |
970 <dd>perform filename globbing</dd> | |
971 <dt><b>fnmatch</b></dt> | |
972 <dd>match strings with filename globbing patterns</dd> | |
973 <dt><b>more</b></dt> | |
974 <dd>turn the pager on or off</dd> | |
975 <dt><b>gammaln</b></dt> | |
976 <dd>alias for lgamma</dd> | |
977 </dl></li> | |
978 <li>New audio functions from Andreas Weingessel: | |
979 <dl> | |
980 <dt><b>lin2mu</b></dt> | |
981 <dd>linear to mu-law encoding</dd> | |
982 <dt><b>loadaudio</b></dt> | |
983 <dd>load an audio file to a vector</dd> | |
984 <dt><b>mu2lin</b></dt> | |
985 <dd>mu-law to linear encoding</dd> | |
986 <dt><b>playaudio</b></dt> | |
987 <dd>play an audio file</dd> | |
988 <dt><b>record</b></dt> | |
989 <dd>record sound and store in vector</dd> | |
990 <dt><b>saveaudio</b></dt> | |
991 <dd>save a vector as an audio file</dd> | |
992 <dt><b>setaudio</b></dt> | |
993 <dd>executes mixer shell command</dd> | |
994 </dl></li> | |
995 <li>New plotting functions from Vinayak Dutt. Ones dealing with | |
996 multiple plots on one page require features from gnuplot 3.6beta | |
997 (or later). | |
998 <dl> | |
999 <dt><b>bottom_title</b></dt> | |
1000 <dd>put title at the bottom of the plot</dd> | |
1001 <dt><b>mplot</b></dt> | |
1002 <dd>multiplot version of plot</dd> | |
1003 <dt><b>multiplot</b></dt> | |
1004 <dd>switch multiple-plot mode on or off</dd> | |
1005 <dt><b>oneplot</b></dt> | |
1006 <dd>return to one plot per page</dd> | |
1007 <dt><b>plot_border</b></dt> | |
1008 <dd>put a border around plots</dd> | |
1009 <dt><b>subplot</b></dt> | |
1010 <dd>position multiple plots on a single page</dd> | |
1011 <dt><b>subwindow</b></dt> | |
1012 <dd>set subwindow position for next plot</dd> | |
1013 <dt><b>top_title</b></dt> | |
1014 <dd>put title at the top of the plot</dd> | |
1015 <dt><b>zlabel</b></dt> | |
1016 <dd>put a label on the z-axis</dd> | |
1017 </dl></li> | |
1018 <li>New string functions | |
1019 <dl> | |
1020 <dt><b>bin2dec</b></dt> | |
1021 <dd>convert a string of ones and zeros to an integer</dd> | |
1022 <dt><b>blanks</b></dt> | |
1023 <dd>create a string of blanks</dd> | |
1024 <dt><b>deblank</b></dt> | |
1025 <dd>delete trailing blanks</dd> | |
1026 <dt><b>dec2bin</b></dt> | |
1027 <dd>convert an integer to a string of ones and zeros</dd> | |
1028 <dt><b>dec2hex</b></dt> | |
1029 <dd>convert an integer to a hexadecimal string</dd> | |
1030 <dt><b>findstr</b></dt> | |
1031 <dd>locate occurrences of one string in another</dd> | |
1032 <dt><b>hex2dec</b></dt> | |
1033 <dd>convert a hexadecimal string to an integer</dd> | |
1034 <dt><b>index</b></dt> | |
1035 <dd>return position of first occurrence a string in another</dd> | |
1036 <dt><b>rindex</b></dt> | |
1037 <dd>return position of last occurrence a string in another</dd> | |
1038 <dt><b>split</b></dt> | |
1039 <dd>divide one string into pieces separated by another</dd> | |
1040 <dt><b>str2mat</b></dt> | |
1041 <dd>create a string matrix from a list of strings</dd> | |
1042 <dt><b>strrep</b></dt> | |
1043 <dd>replace substrings in a string</dd> | |
1044 <dt><b>substr</b></dt> | |
1045 <dd>extract a substring</dd> | |
1046 </dl> | |
1047 <p> The following functions return a matrix of ones and zeros. | |
1048 Elements that are nonzero indicate that the condition was true for | |
1049 the corresponding character in the string array. | |
1050 <dl> | |
1051 <dt><b>isalnum</b></dt> | |
1052 <dd>letter or a digit</dd> | |
1053 <dt><b>isalpha</b></dt> | |
1054 <dd>letter</dd> | |
1055 <dt><b>isascii</b></dt> | |
1056 <dd>ascii</dd> | |
1057 <dt><b>iscntrl</b></dt> | |
1058 <dd>control character</dd> | |
1059 <dt><b>isdigit</b></dt> | |
1060 <dd>digit</dd> | |
1061 <dt><b>isgraph</b></dt> | |
1062 <dd>printable (but not space character)</dd> | |
1063 <dt><b>islower</b></dt> | |
1064 <dd>lower case</dd> | |
1065 <dt><b>isprint</b></dt> | |
1066 <dd>printable (including space character)</dd> | |
1067 <dt><b>ispunct</b></dt> | |
1068 <dd>punctuation</dd> | |
1069 <dt><b>isspace</b></dt> | |
1070 <dd>whitespace</dd> | |
1071 <dt><b>isupper</b></dt> | |
1072 <dd>upper case</dd> | |
1073 <dt><b>isxdigit</b></dt> | |
1074 <dd>hexadecimal digit</dd> | |
1075 </dl> | |
1076 <p> These functions return new strings. | |
1077 <dl> | |
1078 <dt><b>tolower</b></dt> | |
1079 <dd>convert to lower case</dd> | |
1080 <dt><b>toupper</b></dt> | |
1081 <dd>convert to upper case</dd> | |
1082 </dl></li> | |
1083 <li>New function, fgetl. Both fgetl and fgets accept an optional | |
1084 second argument that specifies a maximum number of characters to | |
1085 read, and the function fgets is now compatible with Matlab.</li> | |
1086 <li>Printing in hexadecimal format now works (format hex). It is also | |
1087 possible to print the internal bit representation of a value | |
1088 (format bit). Note that these formats are only implemented for | |
1089 numeric values.</li> | |
1090 <li>Additional structure features: | |
1091 <ul> | |
1092 <li>Name completion now works for structures.</li> | |
1093 <li>Values and names of structure elements are now printed by | |
1094 default. The new built-in variable `struct_levels_to_print' | |
1095 controls the depth of nested structures to print. The default | |
1096 value is 2.</li> | |
1097 <li>New functions: | |
1098 <dl> | |
1099 <dt><b>struct_contains (S, NAME)</b></dt> | |
1100 <dd>returns 1 if S is a structure with element NAME; otherwise returns 0.</dd> | |
1101 <dt><b>struct_elements (S)</b></dt> | |
1102 <dd>returns the names of all elements of structure S in an array of | |
1103 strings.</dd> | |
1104 </dl></li> | |
1105 </ul></li> | |
1106 <li>New io/subprocess functions: | |
1107 <dl> | |
1108 <dt><b>fputs</b></dt> | |
1109 <dd>write a string to a file with no formatting</dd> | |
1110 <dt><b>popen2</b></dt> | |
1111 <dd>start a subprocess with 2-way communication</dd> | |
1112 <dt><b>mkfifo</b></dt> | |
1113 <dd>create a FIFO special file</dd> | |
1114 <dt><b>popen</b></dt> | |
1115 <dd>open a pipe to a subprocess</dd> | |
1116 <dt><b>pclose</b></dt> | |
1117 <dd>close a pipe from a subprocess</dd> | |
1118 <dt><b>waitpid</b></dt> | |
1119 <dd>check the status of or wait for subprocesses</dd> | |
1120 </dl></li> | |
1121 <li>New time functions: | |
1122 <dl> | |
1123 <dt><b>asctime</b></dt> | |
1124 <dd>format time structure according to local format</dd> | |
1125 <dt><b>ctime</b></dt> | |
1126 <dd>equivalent to `asctime (localtime (TMSTRUCT))'</dd> | |
1127 <dt><b>gmtime</b></dt> | |
1128 <dd>return time structure corresponding to UTC</dd> | |
1129 <dt><b>localtime</b></dt> | |
1130 <dd>return time structure corresponding to local time zone</dd> | |
1131 <dt><b>strftime</b></dt> | |
1132 <dd>print given time structure using specified format</dd> | |
1133 <dt><b>time</b></dt> | |
1134 <dd>return current time</dd> | |
1135 </dl> | |
1136 <p> The `clock' and `date' functions are now implemented in M-files | |
1137 using these basic functions.</li> | |
1138 <li>Access to additional Unix system calls: | |
1139 <dl> | |
1140 <dt><b>dup2</b></dt> | |
1141 <dd>duplicate a file descriptor</dd> | |
1142 <dt><b>exec</b></dt> | |
1143 <dd>replace current process with a new process</dd> | |
1144 <dt><b>fcntl</b></dt> | |
1145 <dd>control open file descriptors</dd> | |
1146 <dt><b>fork</b></dt> | |
1147 <dd>create a copy of the current process</dd> | |
1148 <dt><b>getpgrp</b></dt> | |
1149 <dd>return the process group id of the current process</dd> | |
1150 <dt><b>getpid</b></dt> | |
1151 <dd>return the process id of the current process</dd> | |
1152 <dt><b>getppid</b></dt> | |
1153 <dd>return the process id of the parent process</dd> | |
1154 <dt><b>getuid</b></dt> | |
1155 <dd>return the real user id of the current process</dd> | |
1156 <dt><b>getgid</b></dt> | |
1157 <dd>return the real group id of the current process</dd> | |
1158 <dt><b>geteuid</b></dt> | |
1159 <dd>return the effective user id of the current process</dd> | |
1160 <dt><b>getegid</b></dt> | |
1161 <dd>return the effective group id of the current process</dd> | |
1162 <dt><b>pipe</b></dt> | |
1163 <dd>create an interprocess channel</dd> | |
1164 </dl></li> | |
1165 <li>Other new functions: | |
1166 <dl> | |
1167 <dt><b>commutation_matrix</b></dt> | |
1168 <dd>compute special matrix form</dd> | |
1169 <dt><b>duplication_matrix</b></dt> | |
1170 <dd>compute special matrix form</dd> | |
1171 <dt><b>common_size.m</b></dt> | |
1172 <dd>bring arguments to a common size</dd> | |
1173 <dt><b>completion_matches</b></dt> | |
1174 <dd>perform command completion on string</dd> | |
1175 <dt><b>tilde_expand</b></dt> | |
1176 <dd>perform tilde expansion on string</dd> | |
1177 <dt><b>meshgrid</b></dt> | |
1178 <dd>compatible with Matlab's meshgrid function</dd> | |
1179 <dt><b>tmpnam</b></dt> | |
1180 <dd>replaces octave_tmp_file_name</dd> | |
1181 <dt><b>atexit</b></dt> | |
1182 <dd>register functions to be called when Octave exits</dd> | |
1183 <dt><b>putenv</b></dt> | |
1184 <dd>define an environment variable</dd> | |
1185 <dt><b>bincoeff</b></dt> | |
1186 <dd>compute binomial coefficients</dd> | |
1187 <dt><b>nextpow2</b></dt> | |
1188 <dd>compute the next power of 2 greater than a number</dd> | |
1189 <dt><b>detrend</b></dt> | |
1190 <dd>remove a best fit polynomial from data</dd> | |
1191 <dt><b>erfinv</b></dt> | |
1192 <dd>inverse error function</dd> | |
1193 <dt><b>shift</b></dt> | |
1194 <dd>perform a circular shift on the elements of a matrix</dd> | |
1195 <dt><b>pow2</b></dt> | |
1196 <dd>compute 2 .^ x</dd> | |
1197 <dt><b>log2</b></dt> | |
1198 <dd>compute base 2 logarithms</dd> | |
1199 <dt><b>diff</b></dt> | |
1200 <dd>compute differences of matrix elements</dd> | |
1201 <dt><b>vech</b></dt> | |
1202 <dd>stack columns of a matrix below the diagonal</dd> | |
1203 <dt><b>vec</b></dt> | |
1204 <dd>stack columns of a matrix to form a vector</dd> | |
1205 <dt><b>xor</b></dt> | |
1206 <dd>compute exclusive or</dd> | |
1207 </dl></li> | |
1208 <li>Functions for getting info from the password database on Unix systems: | |
1209 <dl> | |
1210 <dt><b>getpwent</b></dt> | |
1211 <dd>read entry from password-file stream, opening if necessary</dd> | |
1212 <dt><b>getpwuid</b></dt> | |
1213 <dd>search for password entry with matching user ID</dd> | |
1214 <dt><b>getpwnam</b></dt> | |
1215 <dd>search for password entry with matching username</dd> | |
1216 <dt><b>setpwent</b></dt> | |
1217 <dd>rewind the password-file stream</dd> | |
1218 <dt><b>endpwent</b></dt> | |
1219 <dd>close the password-file stream</dd> | |
1220 </dl></li> | |
1221 <li>Functions for getting info from the group database on Unix systems: | |
1222 <dl> | |
1223 <dt><b>getgrent</b></dt> | |
1224 <dd>read entry from group-file stream, opening if necessary</dd> | |
1225 <dt><b>getgrgid</b></dt> | |
1226 <dd>search for group entry with matching group ID</dd> | |
1227 <dt><b>getgrnam</b></dt> | |
1228 <dd>search for group entry with matching group name</dd> | |
1229 <dt><b>setgrent</b></dt> | |
1230 <dd>rewind the pgroup-file stream</dd> | |
1231 <dt><b>endgrent</b></dt> | |
1232 <dd>close the group-file stream</dd> | |
1233 </dl></li> | |
1234 <li>The New function octave_config_info returns a structure containing | |
1235 information about how Octave was configured and compiled.</li> | |
1236 <li>New function getrusage returns a structure containing system | |
1237 resource usage statistics. The `cputime' function is now defined | |
1238 in an M-file using getrusage.</li> | |
1239 <li>The info reader is now a separate binary that runs as a | |
1240 subprocess. You still need the info reader distributed with | |
1241 Octave though, because there are some new command-line arguments | |
1242 that are not yet available in the public release of Info.</li> | |
1243 <li>There is a new built-in variable, INFO_PROGRAM, which is used as | |
1244 the name of the info program to run. Its initial value is | |
1245 $OCTAVE_HOME/lib/octave/VERSION/exec/ARCH/info, but that value can | |
1246 be overridden by the environment variable OCTAVE_INFO_PROGRAM, or | |
1247 the command line argument --info-program NAME, or by setting the | |
1248 value of INFO_PROGRAM in a startup script.</li> | |
1249 <li>There is a new built-in variable, EXEC_PATH, which is used as | |
1250 the list of directories to search when executing subprograms. Its | |
1251 initial value is taken from the environment variable | |
1252 OCTAVE_EXEC_PATH (if it exists) or PATH, but that value can be | |
1253 overridden by the the command line argument --exec-path PATH, or | |
1254 by setting the value of EXEC_PATH in a startup script. If the | |
1255 EXEC_PATH begins (ends) with a colon, the directories | |
1256 $OCTAVE_HOME/lib/octave/VERSION/exec/ARCH and $OCTAVE_HOME/bin are | |
1257 prepended (appended) to EXEC_PATH (if you don't specify a value | |
1258 for EXEC_PATH explicitly, these special directories are prepended | |
1259 to your PATH).</li> | |
1260 <li>If it is present, Octave will now use an `ls-R' database file to | |
1261 speed up recursive path searching. Octave looks for a file called | |
1262 ls-R in the directory specified by the environment variable | |
1263 OCTAVE_DB_DIR. If that is not set but the environment variable | |
1264 OCTAVE_HOME is set, Octave looks in $OCTAVE_HOME/lib/octave. | |
1265 Otherwise, Octave looks in the directory $datadir/octave (normally | |
1266 /usr/local/lib/octave).</li> | |
1267 <li>New examples directory.</li> | |
1268 <li>There is a new script, mkoctfile, that can be used to create .oct | |
1269 files suitable for dynamic linking.</li> | |
1270 <li>Many more bug fixes.</li> | |
1271 <li>ChangeLogs are now kept in each subdirectory.</li></li> | |
1272 </ul> |