VFNSQY:S5CY5$NV
M#M.$`9:;VEES^"&^%?=D!HQY-"Z=CPK>GHVM##^!IUOL<]^!^P^66%8Z&TOJ
M:"P=X.-M#L4/A=>*^2HMXRCH"!PG?(D>0^IQI,('BYQ_(`H1R1;L1+H@4.=+
M7>#_ASZ&#P;]0061P(2WDL:%&&[`)@=Y[J>`$-$\X\J\$`4YUYEQ1Y,2#'
M2!:F'*S'Z*#PN`YJ<0V43&"L'VFZ.D80-@E(@>D0M5#06J^'[TB4*O.6"QR70Y\::@[2V"4BOA-HRV*7<3;EN)M8$Z_O0G76H*H&=#DS-;JQ`^:>0SZ3,P
M@1YR=OF3B5$Q"TZ^R:)7GMF96SW=Q+B"I9L=QW(.>``(A(GC:I;3E3ES/^:A
M+`S>V)-$A++5B!!&-+3]N>R`J/MW2&B6QA366P'5),?(L8WQ"T84"6:5T`6Q
M$\^AV'1;/SC^3&<1(>P2JI#G1).(8ZG0`[90X8/-D^R]+L@-:"2"!8T;-`;:
M`*PS3N^9!3.OAJJ;##L?L./J*P/004+-K;ELF*REA1_[/':S-0A7T#X0^4H<
MKHK"E2W%Q)N%;.GDXDJ7GL&DX/!0^V,M%:^I^KR(F/%.?V/,XHBX0(]P$M*(
M^-$4%1J[I/5_%&F(99B(*Q`PL0.C&;5D"TY4T8W)G9Y:KJTZ@3@-Y;I+W[Z%8AYNZA@W4=B#.9?@GR>+[]_)<->2S,ZFN
M,2EK0'D?BE2L)''E`4G-#J1G2,`*U-UKLJH_EK:#T;!I'2)$F`<6C.!`-.1)
MT.@&0X_-:GNH&W+&X7KI*HJ%CD/JRRPJ*/!'AI7\$:?B)`"T*A;)T[HTA18+
M71;52;"_,"0SA>K%O8KW137<6*@*&_E/ORV7-&N4:Y2A:4(63!<8.5XQ$4FP-$&8JN%P2-!^=``2-7;.5
M@KO`PL;8,YYS/JA56F>#VF0Y@G"+86AF%9A>&<;&%A6#*D[TZI$-(S1\0+K,
MT/@"6R6=%\+1+N3:MC2%?[0AW[\/\,S'!]7_R=#8\/_JA^W[7SN!VO^[B#&!
MU2*<(EBRJ]G9$QJW*^]`P;*!C`?-TKMD>G/E*5E/'`8<98ZL4B41USG$(#9!
M+9O;EUZTC'N@;T`SU+.K]NBA$1+09%^@WGKZLT+&45AX=8[ST`X`P9L<-+D`
M=-=3YM@`7G8"'*P#&DM@8\(O:`J^'4P"WV:GFO,Y855E$3-H54S'
ME9C<$_5]WD[%K%I)QA(5Z[!2O)-9BXG,LFZ_07]S2#^ET3S4D0Y**:Q''
MIX(4*FH/FK4)T2KU?ATW#E0JQW976P@F/W`$"?9^/QLJK\875B'.8A6M)Q#HP^F*L
M8-`+9^-3W3H;JZ_&_S<:@Q$(K4_UM?:GNK1BE<^C@)8&^-E8&8TKZQN7"#UR
MB$0BS\L;[$C(+<3$3%P+RTT!;5N>J,S(A.41-VQ-9D,*0FE%"BL]("X5I@:S
MP7>PKL._VA@6BM4AHS&O`OB:/C.LA&@P=PE60^AL#.^[3'->T)F=+.\W`^@&
M_<_0M>&Z_M507PU"!^A
M/A%'$9/L(!5+U:]06JJW)8,E8J)E,`8P!,0%M<#2F!L*U1^7)`LZ]5R/*S3<
MZ(RQCU&/(6/=,$2^5V(JU2;@;^0<9G%11ILJ%2R=>['34,28]I4P_H>X"X5N
M$4=3T.]Z113E/^2=[:4*^1%1U0'S-PWM]V=_1F%IP!K]I51W?\1IK,5+]*=/
MGOZ5V$]3L-TF"G33JTE?(]E0*MDF>3^V)F;G91WY?P_BB#0R`<[X/4@AE#_H
MU1R-Y9=C&`FH41+I$%+&>PCA4@R=G2"Q`!%(&!2*I:)3RC)`4%0X`&3J2Q2`
M`NMB3:8U7;K0"*N0YYJTXB"%H;\$?*,QXMIG@FW-4;]2_3V*&!-;X72J:@VO
MZS8AM/KBSCD3TV=C0$::PK4IJIC_E]5[7HES=#AP!-WB,*Z+5"ZVNF4+TFT(
MKPON^>?A'2XPRX%SF5C,E'^^G$'(T@-1"=C($'S;
MK`WH0E`"8AB=/UWZ@,XA=@JX:8P9&2R^/UF",A("%V.65Y-C)I0&"4G\Z%.;
M>/@->Y9R[E7ZR[GKC\6G=%<+M-UOPR==^&V2UF_SE_TV+@M3%9WP&W:LX\A/
M&IQIBW>[1Z[+K27-W%JF^V9FZ03:INVBWR1646)6:<`?\EA5/I9
M5O17]G(YKG"!2^:3E!2"*1?'9UPMWB,O2AY-XOQ\$>J!Q3>6VN%-9%94>\IZ(0\X/)6H^$IPBC;U7@;B3X
M$+9GJ;P:-SQA396>;P&_YDO/?_NGJ+WNA=NV?<+:7@G;]K/TC\'SPOT6WN![
MXT+[_GUOMW&T-<;R73K:'BDDZ<))'E;_[P^?-.._!HO_&H>M_K\+V-3_&4%L
MZO\II0M\*=BAR93>K270QH&_)VV]C0-7MW^+.#!G&-];'/@^#0J6BV89&R_&
MW3HB7*JW'PVG('[JRVQ[/AP2^(0_]_H^Q[O_1V_ROW<`]F>6W-<3O5.+C#XS<
MWN3^,P;WGS&W'WI'_QRP#;_G/P%PH_P?'-;R'W\+$O,_6OF_$UB7_PMV]M%%
MB$9Z_6/XK)`L(C\/H\"S_:04[LO&;_XG:_PBH=Q1B=P`#];OQCX_."H>+M60
M3/9X?UB<^.)>YJ4%[Y"^N3/U+0'/`GA@^U_7-^5_^_[O3N#.DVAN[8._8]'_
MT`OYC<*GN8=_1"E^P-]_-(Q^\_PS^W^HM^=_)[`1_RT)@D>`[68,^%U1=$=O
M`6-(E,34M[/FWPTB/!YB83Q$M>61B!?2_0=^E6O"NX#F2Q%>%EVU-^:23&W?
M?JSAW\?R5W&^(IAFW,=;E6MOK%P?*%M+W9+,.KO+EC?>]_CKKU*67>52(ZFK
M/(5WF-:UUL_7O5B))6NHM@SXFPJ.M=!""RVTT$(++;300@LMM-!""RVTT$(+
?+;300@LMM-!""RVTT$(++;30PB.'_P?\P0RV`*```+30
end
From help-octave-request@che.utexas.edu Mon Apr 10 08:38:29 1995
Received: (daemon@localhost) by bullwinkle.che.utexas.edu (8.6.10/8.6) id IAA34672 for help-octave-outgoing; Mon, 10 Apr 1995 08:31:11 GMT
Received: from ford.ee.up.ac.za (ford.ee.up.ac.za [137.215.102.101]) by bullwinkle.che.utexas.edu (8.6.10/8.6) with SMTP id DAA30315; Mon, 10 Apr 1995 03:31:05 -0500
Received: from fanella.ee.up.ac.za by ford.ee.up.ac.za with smtp
(Smail3.1.27.1 #2) id m0ryErg-0002ieC; Mon, 10 Apr 95 10:30 USAST
Received: from ING2/MAILQ by fanella.ee.up.ac.za (Mercury 1.13);
Mon, 10 Apr 95 10:36:29 GMT+2
Received: from MAILQ by ING2 (Mercury 1.13); Mon, 10 Apr 95 10:36:04 GMT+2
From: "C Lombard, Dept. Mech. Eng."
Organization: University of Pretoria
To: John Eaton , help-octave@che.utexas.edu
Date: Mon, 10 Apr 1995 10:35:58 GMT+2
MIME-Version: 1.0
Content-type: text/plain; charset=US-ASCII
Content-transfer-encoding: 7BIT
Subject: Re: Nonlinear solvers
Reply-to: stoffel-lombard@up.ac.za
Priority: normal
X-mailer: Pegasus Mail v3.22
Message-ID:
Sender: help-octave-request@che.utexas.edu
Hi,
Here is the nonlinear equation solvers I mentioned before. Sorry for
the delay. The file is a uuencoded xxx.tar.gz file. I haven't tried
all of the files with octave yet but they should work.
Bye
_______________________________________________________
C Lombard
Dept. Mech. Eng.
University of Pretoria
stoffel-lombard@up.ac.za
Tel: 2712 4202861
From help-octave-request@che.utexas.edu Sat Apr 15 19:53:42 1995
Received: (daemon@localhost) by bullwinkle.che.utexas.edu (8.6.10/8.6) id TAA28015 for help-octave-outgoing; Sat, 15 Apr 1995 19:52:00 GMT
Received: from nessie.mcc.ac.uk (pp@nessie.mcc.ac.uk [130.88.200.20]) by bullwinkle.che.utexas.edu (8.6.10/8.6) with ESMTP id OAA32874 for ; Sat, 15 Apr 1995 14:51:59 -0500
Received: from Tedistan.annex.umist.ac.uk by nessie.mcc.ac.uk with SMTP (PP);
Sat, 15 Apr 1995 20:51:50 +0100
Message-Id:
From: Ted.Harding@nessie.mcc.ac.uk (Ted Harding)
Subject: Octave mesh plots using Plotmtv
To: help-octave@che.utexas.edu
Date: Sat, 15 Apr 1995 20:50:59 +0200 (BST)
X-Mailer: ELM [version 2.4 PL23]
Content-Type: text
Content-Length: 5427
Sender: help-octave-request@che.utexas.edu
Hi All,
For those of you who may be [thinking of] using Plotmtv with octave,
here are a couple of m-files for making a meshplot with plotmtv.
The technique uses a temp file /tmp/mtv_curves_dat. The function
mtv_clr
deletes this. Otherwise, successive plots accumulate in this file
and can be viewed in succession using the Plotmtv "widget" to browse
up and down the sequence.
The function
mtv_mesh
creates the mesh file and displays the mesh plot. Its syntax is the
same as that of Octave's "mesh" function.
This function uses binary data as saved in either "-mat-binary"
or "-binary" format. I know (see below) that "mtv_mesh" uses the
matlab-binary in the right way; it seems that this is the case also
for octave-binary format, but I have not quite understood from the octave
source how this format is written. However, if anyone can confirm that
the last part of an octave-binary-save of a single real matrix contains
the matrix elements output by successive columns, just as for matlab-binary,
then this also is OK. The file given below offers both options
(one commented out).
Use of the binary format is very much faster than writing the data
to the file in ascii format: experiments with a 79x79 matrix (6241
elements) gave typical time of less than 4 seconds to create the file
/tmp/mtv_curves_dat for the binary, compared with about 125 seconds
for the ascii format. There seems to be no perceptible difference
between the two binary formats in this respect. It is also true
that Plotmtv reads binary data much faster than ascii data.
As written, "mtv_mesh" creates a simple mesh plot with "hidden lines",
i.e. the plot is painted from rear to foreground, with meshes painted in.
You can easily modify the Plotmtv-specific commands to generate other
types of plot (e.g. contours), or to change its attributes.
I also have a crude suite of functions to plot curves. However, before
publicising these, I intend to try to implement a smooth interface for
setting the many possible options which Plotmtv offers.
"mtv_mesh" is derived from the code in Octave's "mesh". Thanks to
John Eaton as always. Thanks also to Christoph Mecklenbraeuker
(cfm@alcapone.sth.ruhr-uni-bochum.de) for telling me about the
matlab binary format.
Ted. (Ted.Harding@nessie.mcc.ac.uk)
------------------------------ mtv_clr.m -----------------------------------
function mtv_clr()
shell_cmd("rm /tmp/mtv_curves_dat");
endfunction
============================================================================
------------------------------ mtv_mesh.m ----------------------------------
# Based on "mesh.m": ( Copyright (C) 1993 John W. Eaton
# This file is part of Octave. )
# Modifications 1995: E.F. Harding
function mtv_mesh (x, y, z)
# usage: mtv_mesh(Z) or mtv_mesh(x, y, Z)
#
# where Z is a n x m matrix of values of f(x,y), x along rows & y down cols
#
# See also: plot, semilogx, semilogy, loglog, polar, meshdom, contour,
# bar, stairs, gplot, gsplot, replot, xlabel, ylabel, title
if (nargin == 1)
z = x;
if (is_matrix (z))
m = columns(z); n = rows(z);
x = (1:m); y = (1:n);
else
error ("mesh: argument must be a matrix");
endif
endif
if any(any(imag(z)))
error("mtv_mesh(x,y,Z) : Z must be a real matrix");
endif
if (nargin == 3) # if-1
if (is_vector (x) && is_vector (y) && is_matrix (z)) # if-2
m = length (x);
n = length (y);
if (n == rows (z) && m == columns (z)) # if-3
if (columns (x) == 1) # if-4
x = x';
endif # endif-4
if (columns (y) == 1) # if-4
y = y';
endif # endif-4
else # else-3
;# disp ("mtv_mesh(x,y,Z) : rows (Z) must be the same as length (y)");
;# error (" and columns (Z) must be the same as length (x)");
endif # endif-3
else # else-2
;# error ("mtv_mesh(x,y,Z) : x and y must be vectors and Z must be a matrix");
endif # endif-2
else # else-1
;# error ("usage: mtv_mesh(Z) or mtv_mesh(x,y,Z)");
endif # endif-1
file = "/tmp/mtv_curves_dat";
fprintf(file,"\n\n$ data=CONTOUR\n\n");
fprintf(file,"%% contstyle=3\n\n");
fprintf(file,"%% hiddenline=True\n");
fprintf(file,"%% fillcolor=3\n\n");
fprintf(file,"%% nx = %d xgrid=True\n",m);
write ( file,"%g",x );
fprintf(file,"\n%% ny = %d ygrid=True\n",n);
write ( file,"%g",y );
fprintf(file,"%% binary=True\n");
fclose("/tmp/mtv_curves_dat");
save -mat-binary /tmp/temp.mat z
# save -binary /tmp/temp.mat z
mtv_cmd = sprintf("system(\"tail -c %.0f /tmp/temp.mat >> %s\")", 8*m*n, file);
eval(mtv_cmd);
# Adjust the command-line options below to your taste
shell_cmd("plotmtv -3d -geom 688x572+880+0 -nodate -noframe /tmp/mtv_curves_dat > /dev/null 2>&1 ");
endfunction
============================================================================
From help-octave-request@che.utexas.edu Sat Apr 15 20:28:51 1995
Received: (daemon@localhost) by bullwinkle.che.utexas.edu (8.6.10/8.6) id UAA27351 for help-octave-outgoing; Sat, 15 Apr 1995 20:28:46 GMT
Received: from nessie.mcc.ac.uk (pp@nessie.mcc.ac.uk [130.88.200.20]) by bullwinkle.che.utexas.edu (8.6.10/8.6) with ESMTP id PAA37074 for ; Sat, 15 Apr 1995 15:28:45 -0500
Received: from Tedistan.annex.umist.ac.uk by nessie.mcc.ac.uk with SMTP (PP);
Sat, 15 Apr 1995 21:28:40 +0100
Message-Id:
From: Ted.Harding@nessie.mcc.ac.uk (Ted Harding)
Subject: Octave mesh plots using Plotmtv: errata!
To: help-octave@che.utexas.edu
Date: Sat, 15 Apr 1995 21:27:49 +0200 (BST)
X-Mailer: ELM [version 2.4 PL23]
Content-Type: text
Content-Length: 399
Sender: help-octave-request@che.utexas.edu
Hi All,
Further to my last: As written, the function mtv_mesh(x,y,Z) needs
the matrix Z to be transposed (or x,y interchanged). However, without
arguments (x,y) it will produce a satisfactory result as it stands.
Apologies for this: it arose because I have "transposed" meshdom
on my system.
Ted. (Ted.Harding@nessie.mcc.ac.uk)
(Specialist in rapid bug-fixing)
From help-octave-request@che.utexas.edu Sat Apr 15 23:49:19 1995
Received: (daemon@localhost) by bullwinkle.che.utexas.edu (8.6.10/8.6) id XAA28034 for help-octave-outgoing; Sat, 15 Apr 1995 23:49:08 GMT
Received: from nessie.mcc.ac.uk (pp@nessie.mcc.ac.uk [130.88.200.20]) by bullwinkle.che.utexas.edu (8.6.10/8.6) with ESMTP id SAA26493 for ; Sat, 15 Apr 1995 18:49:07 -0500
Received: from Tedistan.annex.umist.ac.uk by nessie.mcc.ac.uk with SMTP (PP);
Sun, 16 Apr 1995 00:48:50 +0100
Message-Id:
From: Ted.Harding@nessie.mcc.ac.uk (Ted Harding)
Subject: Octave mesh plots using Plotmtv - again!
To: help-octave@che.utexas.edu
Date: Sun, 16 Apr 1995 00:47:49 +0200 (BST)
X-Mailer: ELM [version 2.4 PL23]
Content-Type: text
Content-Length: 2081
Sender: help-octave-request@che.utexas.edu
Hi All ...
If you took an interest in the earlier posts about using Plotmtv,
you may have wondered what the command "write" was doing.
Its m-file is appended (it goes back to a long time before variable-
length argument lists were implemented ... a utility written for
MatLab vintage 1988, to be precise!)
Apologies again - time I spent a day taking the dogs for a long walk, maybe.
Ted. (Ted.Harding@nessie.mcc.ac.uk)
------------------------------ write.m -------------------------------------
function write(file,fmt,x1,x2,x3,x4,x5,x6,x7,x8,x9,x10)
#
# write('filename','format',x1,x2,x3,x4,x5,x6,x7,x8,x9,x10)
#
# writes the data in the rows of matrices x1,x2,...
# side-by-side into the rows of (APPEND mode).
#
# 'format' is a C f,e or g format (e.g.'%7.4f') for a single number.
# 'format' is mandatory, 'filename' is optional and, if omitted,
# output is to the screen. If 'filename' exists the output is appended.
#
# There must be at least one matrix argument x1, and at most 10.
# The matrices x1, x2, ... are output side by side; all must have the
# same number of rows.
#
s_temp = empty_list_elements_ok;
empty_list_elements_ok = "true";
strargs=1;
if isstr(fmt), strargs=2; end
if strargs==1, FIL="stdout"; X=fmt; FMT=file; P=1;
else X=[]; FMT=fmt; FIL=file; P=0; end
if (nargin-strargs)>P+0, X=[X x1]; end
if (nargin-strargs)>P+1, X=[X x2]; end
if (nargin-strargs)>P+2, X=[X x3]; end
if (nargin-strargs)>P+3, X=[X x4]; end
if (nargin-strargs)>P+4, X=[X x5]; end
if (nargin-strargs)>P+5, X=[X x6]; end
if (nargin-strargs)>P+6, X=[X x7]; end
if (nargin-strargs)>P+7, X=[X x8]; end
if (nargin-strargs)>P+8, X=[X x9]; end
if (nargin-strargs)>P+9, X=[X x10]; end
S=size(X); R=S(1); C=S(2);
fopen(FIL,"a");
for i=1:R
for j=1:C
fprintf(FIL,FMT,X(i,j)), fprintf(FIL,' '), end, fprintf(FIL,'\n')
end
fflush(FIL);
if (strargs==2) fclose(FIL); end
empty_list_elements_ok = s_temp;
endfunction
============================================================================
From help-octave-request@che.utexas.edu Mon Apr 17 23:17:21 1995
Received: (daemon@localhost) by bullwinkle.che.utexas.edu (8.6.10/8.6) id XAA42251 for help-octave-outgoing; Mon, 17 Apr 1995 23:15:17 GMT
Received: from nessie.mcc.ac.uk (pp@nessie.mcc.ac.uk [130.88.200.20]) by bullwinkle.che.utexas.edu (8.6.10/8.6) with ESMTP id SAA40710 for ; Mon, 17 Apr 1995 18:15:12 -0500
Received: from Tedistan.annex.umist.ac.uk by nessie.mcc.ac.uk with SMTP (PP);
Tue, 18 Apr 1995 00:15:01 +0100
Message-Id:
From: Ted.Harding@nessie.mcc.ac.uk (Ted Harding)
Subject: Using Plotmtv with Octave
To: help-octave@che.utexas.edu
Date: Tue, 18 Apr 1995 00:14:01 +0200 (BST)
X-Mailer: ELM [version 2.4 PL23]
Content-Type: text
Content-Length: 2475
Sender: help-octave-request@che.utexas.edu
Hi All,
Another instalment. Here is a skeleton m-file (mtv_surf.m) to draw surfaces
from octave using the plotting package Plotmtv.
Two example files are also appended for testing: spere.m (draws a simple
sphere) and kuen.m (draws the rather interesting Kuen surface - formulae
cribbed from Maple). The delay while the data are written to file is
(naturally, since fpdintf is used for the ASCII writing) longish,
especially for the latter example. However, re-draw is quite quick
once the plot is up.
Various extensions and embellishments are possible using the Plotmtv
resources. In particular, cells can be given a different colours
depending on, perhaps, the values of (u,v) or (x,y,z), or (most simply)
passed to the function as a matrix "colours" conformal with X,Y,Z.
Best wishes to all,
Ted. (Ted.Harding@nessie.mcc.ac.uk)
------------------------------ mtv_surf.m ----------------------------------
function mtv_surf(X,Y,Z)
# usage: mtv_surf(X,Y,Z)
#
# displays a surface from parametrised coordinates X,Y,Z.
#
# It is assumed that X and Y and Z have been generated from "mesh"
# matrices U, V of parameters (u,v) as in:
#
# u = urange; v = vrange; [U,V] = meshdom(u,v);
# X = f(U,V); Y = g(U,V); Z = h(U,V);
#
file = "/tmp/mtv_curves_dat"
fopen(file,"a");
fprintf(file,"\n$ data=curve3d\n");
fprintf(file,"%% hiddenline=True\n\n");
[m,n]=size(X);
for i=1:m-1
for j=1:n-1
fprintf(file,"%g %g %g\n",X(i,j),Y(i,j),Z(i,j));
fprintf(file,"%g %g %g\n",X(i+1,j),Y(i+1,j),Z(i+1,j));
fprintf(file,"%g %g %g\n",X(i+1,j+1),Y(i+1,j+1),Z(i+1,j+1));
fprintf(file,"%g %g %g\n\n",X(i,j+1),Y(i,j+1),Z(i,j+1));
endfor
endfor
fclose(file)
mtv_cmd = sprintf("plotmtv -3d %s",file);
system(mtv_cmd);
============================================================================
------------------------------ sphere.m ------------------------------------
u=2*pi*0.025*(0:40)'; v=pi*0.05*(0:20); [U,V]=meshdom(u,v);
X=cos(U).*sin(V); Y=sin(U).*sin(V); Z=cos(V);
mtv_surf(X,Y,Z);
============================================================================
------------------------------ kuen.m --------------------------------------
u=4*0.05*(-20:20)'; v=pi*0.05*(1:19)'; [U,V]=meshdom(u,v);
D = 1 + U.*U.*sin(V).*sin(V);
X = 2*(cos(U)+U.*sin(V)).*sin(V)./D;
Y = 2*(sin(U)-U.*cos(V)).*sin(V)./D;
Z = log(tan(0.5*V)) + 2*cos(V)./D;
mtv_surf(X,Y,Z);
============================================================================
From help-octave-request@che.utexas.edu Tue Apr 18 14:27:09 1995
Received: (daemon@localhost) by bullwinkle.che.utexas.edu (8.6.10/8.6) id OAA23331 for help-octave-outgoing; Tue, 18 Apr 1995 14:25:40 GMT
Received: from bru.mayo.EDU (bru.mayo.edu [129.176.200.17]) by bullwinkle.che.utexas.edu (8.6.10/8.6) with SMTP id JAA18972 for ; Tue, 18 Apr 1995 09:25:39 -0500
Received: from us0.mayo.EDU by bru.mayo.EDU (4.1/SMI-4.0)
id AA13991; Tue, 18 Apr 95 09:24:59 CDT
Received: by us0.mayo.EDU (4.1/SMI-4.1)
id AA25048; Tue, 18 Apr 95 09:24:14 CDT
Date: Tue, 18 Apr 95 09:24:14 CDT
From: pitts@us0.mayo.EDU (Todd Pitts)
Message-Id: <9504181424.AA25048@us0.mayo.EDU>
To: help-octave@che.utexas.edu
Subject: subscribe
Sender: help-octave-request@che.utexas.edu
From help-octave-request@che.utexas.edu Tue Apr 18 14:33:24 1995
Received: (daemon@localhost) by bullwinkle.che.utexas.edu (8.6.10/8.6) id OAA40880 for help-octave-outgoing; Tue, 18 Apr 1995 14:33:16 GMT
Received: from bru.mayo.EDU (bru.mayo.edu [129.176.200.17]) by bullwinkle.che.utexas.edu (8.6.10/8.6) with SMTP id JAA39083 for ; Tue, 18 Apr 1995 09:33:15 -0500
Received: from us0.mayo.EDU by bru.mayo.EDU (4.1/SMI-4.0)
id AA14164; Tue, 18 Apr 95 09:32:41 CDT
Received: by us0.mayo.EDU (4.1/SMI-4.1)
id AA25069; Tue, 18 Apr 95 09:31:53 CDT
Date: Tue, 18 Apr 95 09:31:53 CDT
From: pitts@us0.mayo.EDU (Todd Pitts)
Message-Id: <9504181431.AA25069@us0.mayo.EDU>
To: help-octave@che.utexas.edu
Subject: Octave on NeXT
Sender: help-octave-request@che.utexas.edu
Thanks in advance for any assistance ...
I just obtained a binary distribution for NeXT (motorola).
The Octave version is 1.1.1 and I am running release 3.2
of the NeXTStep operating system. I have followed the
installation instructions three times and Octave appears
to install correctly each time. However, whenever I do
ls or dir from the Octave command line I get correct
behavior once, then subsequent ls's or dir's generate
bus errors...
error:Bus error --- Stopping myself
error:stdin is not a tty
Can anyone shed some light on this problem? Are there environment
variables that I need to set? Should I modify the installation
script?
A second question is: Is there a way that I can use Mathematica or
another program to plot instead of Gnuplot? If I can just get the
arrays and matrices out of octave quickly and gracefully I can do the
rest.
Thanks again,
Todd Pitts
From help-octave-request@che.utexas.edu Wed Apr 19 01:21:43 1995
Received: (daemon@localhost) by bullwinkle.che.utexas.edu (8.6.10/8.6) id BAA27970 for help-octave-outgoing; Wed, 19 Apr 1995 01:17:55 GMT
Received: from julian.uwo.ca (julian.uwo.ca [129.100.2.12]) by bullwinkle.che.utexas.edu (8.6.10/8.6) with ESMTP id UAA31289 for ; Tue, 18 Apr 1995 20:17:54 -0500
Received: from pineapple.apmaths.uwo.ca by julian.uwo.ca with SMTP id VAA02032;
Tue, 18 Apr 1995 21:17:52 -0400
Received: by pineapple.apmaths.uwo.ca (AIX 3.2/UCB 5.64/4.03)
id AA14586; Tue, 18 Apr 1995 20:04:04 -0500
Date: Tue, 18 Apr 1995 20:04:04 -0500
From: moa@pineapple.apmaths.uwo.ca (Mohammed Ahmed)
Message-Id: <9504190104.AA14586@pineapple.apmaths.uwo.ca>
To: help-octave@che.utexas.edu
Subject: saving graphical plots form Octave
Cc: moa@pineapple.apmaths.uwo.ca
Sender: help-octave-request@che.utexas.edu
I am using the Octave plot and gplot functions. I do get
output to the screen. In the case of .ps output, I get the
postscript code on the screen. I would like to save this
information, say, in a file for printing later. How do I
do this? Also, I read in the manual that I cannot use the
save and load commands for binary data.
Thanks for your help.
Mohammad Ozair Ahmed
From help-octave-request@che.utexas.edu Wed Apr 19 02:18:23 1995
Received: (daemon@localhost) by bullwinkle.che.utexas.edu (8.6.10/8.6) id CAA19006 for help-octave-outgoing; Wed, 19 Apr 1995 02:15:19 GMT
Received: from bru.mayo.EDU (bru.mayo.edu [129.176.200.17]) by bullwinkle.che.utexas.edu (8.6.10/8.6) with SMTP id VAA26681 for ; Tue, 18 Apr 1995 21:15:18 -0500
Received: from us0.mayo.EDU by bru.mayo.EDU (4.1/SMI-4.0)
id AA24815; Tue, 18 Apr 95 21:14:40 CDT
Received: from us6.sky2 by us0.mayo.EDU (4.1/SMI-4.1)
id AA03431; Tue, 18 Apr 95 21:13:56 CDT
Date: Tue, 18 Apr 95 21:13:56 CDT
From: vdp@us0.mayo.EDU (Vinayak Dutt)
Received: by us6.sky2 (4.1/SMI-4.1)
id AA13866; Tue, 18 Apr 95 21:15:02 CDT
Subject: Re: saving graphical plots form Octave
To: moa@pineapple.apmaths.uwo.ca
Cc: help-octave@che.utexas.edu
Message-Id:
Reply-To: Dutt.Vinayak@mayo.EDU
X-Mailer: TkMail-2.0Beta14
In-Reply-To: <9504190104.AA14586@pineapple.apmaths.uwo.ca>
Sender: help-octave-request@che.utexas.edu
#
#I am using the Octave plot and gplot functions. I do get
#output to the screen. In the case of .ps output, I get the
#postscript code on the screen. I would like to save this
#information, say, in a file for printing later. How do I
#do this? Also, I read in the manual that I cannot use the
#save and load commands for binary data.
#
use the output option for set command:
set output plots.ps
as for load/save commands, from octave 1.1.1, save/load
can use binary files (use -binary option).
--vinayak-
/*
* vinayak dutt
* graduate student, ultrasound research
* mayo graduate school, rochester mn
*
* e-mail: vdp@mayo.edu
* dutt.vinayak@mayo.edu
*
*/
#include "disclaimer.h"
From help-octave-request@che.utexas.edu Wed Apr 19 12:39:40 1995
Received: (daemon@localhost) by bullwinkle.che.utexas.edu (8.6.10/8.6) id MAA44880 for help-octave-outgoing; Wed, 19 Apr 1995 12:36:32 GMT
Received: from deneb.dfn.de (deneb.dfn.de [192.76.176.9]) by bullwinkle.che.utexas.edu (8.6.10/8.6) with SMTP id HAA24899 for ; Wed, 19 Apr 1995 07:36:08 -0500
Received: from fganffm.ffm.fgan.de by deneb.dfn.de (4.1/SMI-4.2)
id AA15125; Wed, 19 Apr 95 14:33:06 +0200
Received: by gaserv.fhp.fgan.de (4.1/SMI-4.0)
id AA10543; Wed, 19 Apr 95 13:31:14 GMT
Date: Wed, 19 Apr 95 13:31:14 GMT
From: leus@gaserv.fhp.fgan.de (Ludger Leushacke)
Message-Id: <9504191331.AA10543@gaserv.fhp.fgan.de>
To: help-octave@che.utexas.edu
Subject: octave memory allocation problem ?
Sender: help-octave-request@che.utexas.edu
Hi all,
There seems to be a memory problem within octave.
Octave claims more and more memory, even if no new variables are created!
This result is from octave-1.1.1 binary distribution running under linux kernel
version 1.2.0 and the slackware 2.1.0 distrib.
Main problem: memory of old variables doesn't get reused. For each assignment
new memory is allocated, the old mem never get free.
Example:
silly m-function halfs the input values:
----------------------------
function h=half(x)
h=x*0.5;
----------------------------
Starting octave and looking at the program size (with ps -l) gives:
$ octave
F UID PID PPID PRI NI SIZE RSS WCHAN STAT TTY TIME COMMAND
0 127 2930 164 1 0 2679 1088 189c1f S pp2 0:00 octave
octave:1> x=rand(300);
0 127 2930 164 9 0 3383 1840 189c1f S pp2 0:01 octave
octave:2> y1=half(x);
0 127 2930 164 7 0 4131 2588 189c1f S pp2 0:01 octave
octave:3> y2=half(x);
0 127 2930 164 7 0 4835 3292 189c1f S pp2 0:01 octave
octave:4> y1=half(y2);
0 127 2930 164 9 0 5539 3996 189c1f S pp2 0:02 octave
The last statement (4) uses existing variables and therefore the size shoud'nt
increase. Or is this a problem of memory needed within the function body?
The same problem occures with octave-1.1.0 binary for SunOs4.1.1 running
under Solaris 2.3 on a Sparc 20. The memory needed is then:
F UID PID PPID CP PRI NI SZ RSS WCHAN S TT TIME COMMAND
8 127 26522 24779 37 59 20 1179 487 pckt_buf S ? 0:00 octave
8 127 26522 24779 80 0 20 1357 680 pckt_buf S ? 0:01 octave
8 127 26522 24779 80 39 20 1554 881 pckt_buf S ? 0:01 octave
8 127 26522 24779 80 29 20 1730 1057 pckt_buf S ? 0:01 octave
8 127 26522 24779 80 52 20 1906 1233 pckt_buf S ? 0:01 octave
other values, same effect: memory is increased while not nessecary.
Udo Uschkerat, udo@gaserv.fhp.fgan.de
From help-octave-request@che.utexas.edu Wed Apr 19 15:44:12 1995
Received: (daemon@localhost) by bullwinkle.che.utexas.edu (8.6.10/8.6) id PAA38780 for help-octave-outgoing; Wed, 19 Apr 1995 15:40:52 GMT
Received: from bart.inescn.pt (bart.inescn.pt [192.35.246.9]) by bullwinkle.che.utexas.edu (8.6.10/8.6) with ESMTP id KAA25949 for ; Wed, 19 Apr 1995 10:40:47 -0500
Received: (from jcardoso@localhost) by bart.inescn.pt (8.6.9/INESCP-V2.6) id RAA11501 for help-octave@che.utexas.edu; Wed, 19 Apr 1995 17:40:44 +0200
Date: Wed, 19 Apr 1995 17:40:44 +0200
From: Joao Cardoso
Message-Id: <199504191540.RAA11501@bart.inescn.pt>
To: help-octave@che.utexas.edu
Subject: octave memory allocation problem ?
Sender: help-octave-request@che.utexas.edu
Hi,
I also notice that problem with "load -ascii". Even if "clear -x" is used, not
all memory is released.
In my case it is critical, as each data file has 3500x120 real valued data, and
I need to have several data files loaded. At each sucessive load/clear I loose
some Mega of memory and swapping starts...
Another problem: as the variables contained in a data file have no relationship
with the file name, and I need to process all data files the same way in a
function, I need to open the data file, scan the variable name, and then
"eval" the found name. E.g.
function standard_processing(file_name)
open file_name
scanf variable_name # get variable_name as string
close file
load -ascii file_name
data = eval(variable_name); # and now I use "data" in the function
...
endfunction
This is inconvenient, but I found no other way. The worse is that the "eval"
prints all the data, even if terminated with a semicolon. This is MUCH inconve
nient.
In Matlab, the "load" returns the data contained in the file, and I only need
to do
data = load -ascii file_name; # and with a semicolon no printing is done
Of course, in Octave, with multi-variable data files, this is not possible,
but at least the "eval" should not print the evaluated data.
Any sugestion?
Thanks,
Joao Cardoso
INESC (Inst. Eng. Syst. and Comp.)
R. Jose Falcao 110
4000 PORTO
PORTUGAL
e-mail: jcardoso@bart.inescn.pt
tel: + 351 2 2094300
fax: + 351 2 2008487
From help-octave-request@che.utexas.edu Thu Apr 20 07:20:04 1995
Received: (daemon@localhost) by bullwinkle.che.utexas.edu (8.6.10/8.6) id HAA53064 for help-octave-outgoing; Thu, 20 Apr 1995 07:16:35 GMT
Received: from deneb.dfn.de (deneb.dfn.de [192.76.176.9]) by bullwinkle.che.utexas.edu (8.6.10/8.6) with SMTP id CAA45374 for ; Thu, 20 Apr 1995 02:15:29 -0500
Received: from fganffm.ffm.fgan.de by deneb.dfn.de (4.1/SMI-4.2)
id AA01098; Thu, 20 Apr 95 09:11:46 +0200
Received: by gaserv.fhp.fgan.de (4.1/SMI-4.0)
id AA11174; Thu, 20 Apr 95 08:09:55 GMT
From: udo@gaserv.fhp.fgan.de (Udo Uschkerat)
Message-Id: <9504200809.AA11174@gaserv.fhp.fgan.de>
Subject: octave problem with eval statement
To: jcardoso@bart.inescn.pt
Date: Thu, 20 Apr 1995 08:09:54 +0000 (GMT)
Cc: help-octave@che.utexas.edu, udo@fganffm.ffm.fgan.de (Udo Uschkerat)
X-Mailer: ELM [version 2.4 PL23]
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Content-Length: 328
Sender: help-octave-request@che.utexas.edu
Dear Joao Cardoso,
your problem with eval is because the statement to evaluate
must contain a semicolon too.
just try this in octave :
command1='b=3';
eval(command1);
command2='b=3;';
eval(command2);
evaluating command1 echos the '3' whereas evaluating command2 does not.
o.k.?
by
udo uschkerat udo@gaserv.fhp.fgan.de
From help-octave-request@che.utexas.edu Thu Apr 20 19:57:10 1995
Received: (daemon@localhost) by bullwinkle.che.utexas.edu (8.6.10/8.6) id TAA29362 for help-octave-outgoing; Thu, 20 Apr 1995 19:56:07 GMT
Received: from schoch.che.utexas.edu (schoch.che.utexas.edu [128.83.162.82]) by bullwinkle.che.utexas.edu (8.6.10/8.6) with ESMTP id OAA26285 for ; Thu, 20 Apr 1995 14:56:06 -0500
Received: from localhost (jwe@localhost) by schoch.che.utexas.edu (8.6.10/8.6) with SMTP id OAA21528; Thu, 20 Apr 1995 14:54:50 -0500
Message-Id: <199504201954.OAA21528@schoch.che.utexas.edu>
To: Joao Cardoso
cc: help-octave@che.utexas.edu
Subject: Re: octave memory allocation problem ?
In-reply-to: Your message of Wed, 19 Apr 95 17:40:44 +0100
Date: Thu, 20 Apr 95 14:54:49 EDT
From: John Eaton
Sender: help-octave-request@che.utexas.edu
Joao Cardoso wrote:
: Hi,
:
: I also notice that problem with "load -ascii". Even if "clear -x" is
: used, not all memory is released. In my case it is critical, as
: each data file has 3500x120 real valued data, and I need to have
: several data files loaded. At each sucessive load/clear I loose
: some Mega of memory and swapping starts...
This doesn't seem to happen with my current sources, or with my
copy of 1.1.1.
Perhaps you are actually seeing a memory leak that is
unrelated to the load and save commands. If so, you might be
interested in the patches that I just posted to bug-octave. You can
get a copy of that message from the mailing list archives on
ftp.che.utexas.edu in the directory /pub/octave/MAILING-LISTS.
It is also possible that the memory that Octave is using is due to the
buffer used to hold output before sending it to the pager (I wish I
could simply start sending output to the pager as soon as I had about
1 page full, but I have not found a way to do that yet with less). If
so, you can either eliminate the output, cause it to be flushed more
often (use fflush), or bypass the pager entirely (set the variable
page_screen_output to "true").
Thanks,
jwe
From help-octave-request@che.utexas.edu Thu Apr 20 20:00:55 1995
Received: (daemon@localhost) by bullwinkle.che.utexas.edu (8.6.10/8.6) id UAA42286 for help-octave-outgoing; Thu, 20 Apr 1995 20:00:53 GMT
Received: from schoch.che.utexas.edu (schoch.che.utexas.edu [128.83.162.82]) by bullwinkle.che.utexas.edu (8.6.10/8.6) with ESMTP id PAA32041 for ; Thu, 20 Apr 1995 15:00:52 -0500
Received: from localhost (jwe@localhost) by schoch.che.utexas.edu (8.6.10/8.6) with SMTP id OAA21554; Thu, 20 Apr 1995 14:59:37 -0500
Message-Id: <199504201959.OAA21554@schoch.che.utexas.edu>
To: Joao Cardoso
cc: help-octave@che.utexas.edu
Subject: Re: octave memory allocation problem ?
In-reply-to: Your message of Wed, 19 Apr 95 17:40:44 +0100
Date: Thu, 20 Apr 95 14:59:36 EDT
From: John Eaton
Sender: help-octave-request@che.utexas.edu
Joao Cardoso wrote:
: In Matlab, the "load" returns the data contained in the file, and I
: only need to do
:
: data = load -ascii file_name;
:
: Of course, in Octave, with multi-variable data files, this is not possible,
I had no idea that this was the way load worked in Matlab. Perhaps
Octave's load command could be modified to do something like
# load the first three values from the file in the variables x, y,
# and z.
[x, y, z] = load foo
With no output arguments, the behavior would remain the same as before.
Does anyone see any problems with this change?
Thanks,
jwe
From help-octave-request@che.utexas.edu Thu Apr 20 20:28:07 1995
Received: (daemon@localhost) by bullwinkle.che.utexas.edu (8.6.10/8.6) id UAA45543 for help-octave-outgoing; Thu, 20 Apr 1995 20:27:08 GMT
Received: from bru.mayo.EDU (bru.mayo.edu [129.176.200.17]) by bullwinkle.che.utexas.edu (8.6.10/8.6) with SMTP id PAA30434 for ; Thu, 20 Apr 1995 15:27:07 -0500
Received: from us0.mayo.EDU by bru.mayo.EDU (4.1/SMI-4.0)
id AA21820; Thu, 20 Apr 95 15:26:27 CDT
Received: by us0.mayo.EDU (4.1/SMI-4.1)
id AA04190; Thu, 20 Apr 95 15:25:42 CDT
Date: Thu, 20 Apr 95 15:25:42 CDT
From: vdp@us0.mayo.EDU (Vinayak Dutt)
Subject: Re: octave memory allocation problem ?
To: help-octave@che.utexas.edu
Message-Id:
Reply-To: Dutt.Vinayak@mayo.EDU
X-Mailer: TkMail-2.0Beta14
In-Reply-To: <199504201959.OAA21554@schoch.che.utexas.edu>
Sender: help-octave-request@che.utexas.edu
John Eaton wrote:
#Joao Cardoso wrote:
#
#: In Matlab, the "load" returns the data contained in the file, and I
#: only need to do
#:
#: data = load -ascii file_name;
#:
#: Of course, in Octave, with multi-variable data files, this is not possible,
#
#I had no idea that this was the way load worked in Matlab. Perhaps
#Octave's load command could be modified to do something like
#
i just checked local copy of matlab (for unix: v 4.2c) and i don't see the above
behaviour in it. in fact it gives me error for anything like a = load file ....
also, if the file is a simple ascii text file, one does not have to specify -ascii
as it can detect that by itself. "load file_name" will load the contents of "file_name"
into a variable named "file_name" minus the file name extension.
# # load the first three values from the file in the variables x, y,
# # and z.
#
# [x, y, z] = load foo
#
#With no output arguments, the behavior would remain the same as before.
#
#Does anyone see any problems with this change?
#
i don't have any problems. seems to be useful also. but i think this behaviour
is not there in all matlab versions (at least not the ones that we have locally).
--vinayak-
/*
* vinayak dutt
* graduate student, ultrasound research
* mayo graduate school, rochester mn
*
* e-mail: vdp@mayo.edu
* dutt.vinayak@mayo.edu
* vdp@us0.mayo.edu
*
*/
#include "disclaimer.h"
From help-octave-request@che.utexas.edu Thu Apr 20 20:43:32 1995
Received: (daemon@localhost) by bullwinkle.che.utexas.edu (8.6.10/8.6) id UAA54448 for help-octave-outgoing; Thu, 20 Apr 1995 20:42:34 GMT
Received: from ns.ge.com (ns.ge.com [192.35.39.24]) by bullwinkle.che.utexas.edu (8.6.10/8.6) with ESMTP id PAA31403 for ; Thu, 20 Apr 1995 15:42:33 -0500
Received: from thomas.ge.com ([3.47.28.21]) by ns.ge.com (8.6.11/8.6.11) with ESMTP id QAA17816; Thu, 20 Apr 1995 16:42:32 -0400
Received: from c0228.ae.ge.com (c0228.ae.ge.com [129.202.2.241]) by thomas.ge.com (8.6.11/8.6.11) with ESMTP id QAA00180; Thu, 20 Apr 1995 16:42:28 -0400
Message-Id: <199504202042.QAA00180@thomas.ge.com>
Received: from c0230.ae.ge.com by c0228.ae.ge.com with SMTP
(1.37.109.14/15.6) id AA004460521; Thu, 20 Apr 1995 16:42:01 -0400
Received: by c0230.ae.ge.com
(1.38.193.3/16.2) id AA23837; Thu, 20 Apr 95 16:42:04 -0400
Date: Thu, 20 Apr 95 16:42:04 -0400
From: U-E59264-Osman Buyukisik
To: Dutt.Vinayak@mayo.edu
Cc: help-octave@che.utexas.edu
In-Reply-To:
Subject: Re: octave memory allocation problem ?
Sender: help-octave-request@che.utexas.edu
in version 4.1 of matlab :
load filename ==> gets variables from "mat" file filename.mat
load aaa.bbb ==> reads the ascii file aaa.bbb and sets aaa = n by m
data from aaa.bbb
x = load -ascii filename ==> Results in ERROR.
Osman
From help-octave-request@che.utexas.edu Fri Apr 21 00:41:05 1995
Received: (daemon@localhost) by bullwinkle.che.utexas.edu (8.6.10/8.6) id AAA48218 for help-octave-outgoing; Fri, 21 Apr 1995 00:40:45 GMT
Received: from nessie.mcc.ac.uk (pp@nessie.mcc.ac.uk [130.88.200.20]) by bullwinkle.che.utexas.edu (8.6.10/8.6) with ESMTP id TAA54101; Thu, 20 Apr 1995 19:40:37 -0500
Received: from Tedistan.annex.umist.ac.uk by nessie.mcc.ac.uk with SMTP (PP);
Fri, 21 Apr 1995 00:02:30 +0100
Message-Id:
From: Ted.Harding@nessie.mcc.ac.uk (Ted Harding)
Subject: Re: octave memory allocation problem ? (-> X = load ... )
To: jwe@che.utexas.edu (John Eaton)
Date: Thu, 20 Apr 1995 22:49:11 +0200 (BST)
Cc: help-octave@che.utexas.edu
In-Reply-To: <199504201959.OAA21554@schoch.che.utexas.edu> from "John Eaton" at Apr 20, 95 02:59:36 pm
X-Mailer: ELM [version 2.4 PL23]
Content-Type: text
Content-Length: 1823
Sender: help-octave-request@che.utexas.edu
Hi John,
> Joao Cardoso wrote:
>
> : In Matlab, the "load" returns the data contained in the file, and I
> : only need to do
> :
> : data = load -ascii file_name;
> :
> : Of course, in Octave, with multi-variable data files, this is not possible,
>
> I had no idea that this was the way load worked in Matlab. Perhaps
> Octave's load command could be modified to do something like
>
> # load the first three values from the file in the variables x, y,
> # and z.
>
> [x, y, z] = load foo
>
> With no output arguments, the behavior would remain the same as before.
>
> Does anyone see any problems with this change?
>
> Thanks,
>
> jwe
>
I never heard of this behaviour in MatLabs I'm familiar with.
In fact "load" would be parsed as a variable/function name and
the command would give an error. It is one of a class of commands
(including clear, delete, help, meta, save) whose "arguments" occur
as subsequent tokens (i.e. no parentheses): these would give the same
error.
However, supposing it worked, there's little point if the file
was saved from matlab in the first place, exept perhaps to avoid
over-writing a variable on "load" (i.e. load to a var with a
substitute name).
I would make the same comment about implementing something similar
in octave.
Now there /could/ be some point in " [x, y, z] = load foo "
if foo contained (e.g.) data in >= 3 columns as a flat ASCII table
(no variable or type info), simply a tableau, which would pick off
the first 3 cols and assign them to x, y and z: one could even
imagine taking a leaf from gnuplot's book with something like
" [x, y, z] = load foo using 1,3,7 "
if foo has data in >= 7 columns. However, I'm not suggesting this
too seriously ...
Ted. (Ted.Harding@nessie.mcc.ac.uk)
From help-octave-request@che.utexas.edu Sun Apr 23 17:25:05 1995
Received: (daemon@localhost) by bullwinkle.che.utexas.edu (8.6.10/8.6) id RAA26249 for help-octave-outgoing; Sun, 23 Apr 1995 17:22:33 GMT
Received: from electra.cc.umanitoba.ca (root@electra.cc.umanitoba.ca [130.179.16.23]) by bullwinkle.che.utexas.edu (8.6.10/8.6) with ESMTP id MAA42372 for ; Sun, 23 Apr 1995 12:22:33 -0500
Received: from bear.umanitoba.ca'
(root@dyn2-046.cc.umanitoba.ca [130.179.244.46]) by
electra.cc.umanitoba.ca (8.6.12/8.6.9) with ESMTP id MAA10777
for ; Sun, 23 Apr 1995 12:13:55 -0500
Received: (from umlin000@localhost) by bear.umanitoba.ca' (8.6.12/8.6.9) id MAA13007 for help-octave@che.utexas.edu; Sun, 23 Apr 1995 12:13:00 -0500
From: "Zhuo E. Lin(ªL¨ôº¸) 204-783-2884"
Message-Id: <199504231713.MAA13007@bear.umanitoba.ca'>
Subject: octave 1.1.1 compile error in Linux
To: help-octave@che.utexas.edu
Date: Sun, 23 Apr 1995 12:12:57 -0500 (CDT)
X-Mailer: ELM [version 2.4 PL24]
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
Content-Length: 1068
Sender: help-octave-request@che.utexas.edu
Hi,
I tried to build an ELF version of octave in Linux:
g++ -c -I. -I../src -I.. -I../liboctave -I../src -DHAVE_CONFIG_H
-mieee-fp tree-expr.cc
tree-expr.cc: In method Class Octave_object
tree_multi_assignment_expression::eval(int, int, const class Octave_object
&)':
tree-expr.cc:2109: component lhs' is not a method
gcc -v:
Reading specs from /usr/lib/gcc-lib/i486-linux/2.6.4-950305/specs
gcc driver version 2.6.4 snapshot 950310 executing gcc version 2.6.4
tree-expr.cc:2109:
tree_index_expression *lhs_expr = (*lhs) (p);
^^^^^^^^^^^^^^^
Is this really an error? Or just caused by gcc 2.6.4?
--
\\|//
(o o) finger -> PGP 2.6.2 Public Key
----------------oOOO--(_)--OOOo-----------------------------------------
Eric Lin | "Sometimes I think the surest sign that
umlin000@cc.umanitoba.ca | intelligent life exists in the universe is
Computer Engineering | that none of it has tried to contact us."
------------------------------------------------------------------------
From help-octave-request@che.utexas.edu Mon Apr 24 02:23:55 1995
Received: (daemon@localhost) by bullwinkle.che.utexas.edu (8.6.10/8.6) id CAA27190 for help-octave-outgoing; Mon, 24 Apr 1995 02:22:50 GMT
Received: from schoch.che.utexas.edu (schoch.che.utexas.edu [128.83.162.82]) by bullwinkle.che.utexas.edu (8.6.10/8.6) with ESMTP id VAA56881 for ; Sun, 23 Apr 1995 21:22:49 -0500
Received: from localhost (jwe@localhost) by schoch.che.utexas.edu (8.6.10/8.6) with SMTP id VAA10260; Sun, 23 Apr 1995 21:22:41 -0500
Message-Id: <199504240222.VAA10260@schoch.che.utexas.edu>
To: "Zhuo E. Lin( L ) 204-783-2884"
cc: help-octave@che.utexas.edu
Subject: Re: octave 1.1.1 compile error in Linux
In-reply-to: Your message of Sun, 23 Apr 95 12:12:57 CDT
Date: Sun, 23 Apr 95 21:22:40 EDT
From: John Eaton
Sender: help-octave-request@che.utexas.edu
"Zhuo E. Lin( L ) 204-783-2884" wrote:
: tree-expr.cc:2109:
:
: tree_index_expression *lhs_expr = (*lhs) (p);
: ^^^^^^^^^^^^^^^
: Is this really an error? Or just caused by gcc 2.6.4?
It is a problem with versions of gcc newer than 2.6.3. Try changing
that line to
tree_index_expression *lhs_expr = lhs->operator () (p);
and it should work.
jwe
From help-octave-request@che.utexas.edu Mon Apr 24 09:33:55 1995
Received: (daemon@localhost) by bullwinkle.che.utexas.edu (8.6.10/8.6) id JAA29885 for help-octave-outgoing; Mon, 24 Apr 1995 09:32:00 GMT
Received: from nessie.mcc.ac.uk (pp@nessie.mcc.ac.uk [130.88.200.20]) by bullwinkle.che.utexas.edu (8.6.10/8.6) with ESMTP id EAA55224 for ; Mon, 24 Apr 1995 04:31:59 -0500
Received: from Tedistan.annex.umist.ac.uk by nessie.mcc.ac.uk with SMTP (PP);
Mon, 24 Apr 1995 10:31:01 +0100
Message-Id:
From: Ted.Harding@nessie.mcc.ac.uk (Ted Harding)
Subject: eps
To: help-octave@che.utexas.edu
Date: Mon, 24 Apr 1995 01:18:17 +0200 (BST)
X-Mailer: ELM [version 2.4 PL23]
Content-Type: text
Content-Length: 437
Sender: help-octave-request@che.utexas.edu
Hi,
Linux octave binary:-
1. " More precisely, eps is the smallest value such that `1+eps' is not
equal to 1. "
2. octave:8> eps
eps = 2.2204e-16
octave:9> x=51*eps/100
x = 1.1324e-16
octave:10> (1+x)-1
ans = 2.2204e-16
octave:11> y=50*eps/100
y = 1.1102e-16
octave:12> (1+y)-1
ans = 0
3. ???
Cheers,
Ted. (Ted.Harding@nessie.mcc.ac.uk)
From help-octave-request@che.utexas.edu Tue Apr 25 19:15:01 1995
Received: (daemon@localhost) by bullwinkle.che.utexas.edu (8.6.10/8.6) id TAA22292 for help-octave-outgoing; Tue, 25 Apr 1995 19:11:25 GMT
Received: from dfunms.rus.uni-stuttgart.de (dfunms.rus.uni-stuttgart.de [129.69.1.162]) by bullwinkle.che.utexas.edu (8.6.10/8.6) with SMTP id OAA54276 for ; Tue, 25 Apr 1995 14:10:45 -0500
Received: from pi4wap0.physik.uni-stuttgart.de by dfunms.rus.uni-stuttgart.de with SMTP id AA14125
(5.65c8/DFUE-M1.0 for ); Tue, 25 Apr 1995 20:08:13 +0200
Received: by pi4wap0.physik.uni-stuttgart.de (AIX 3.2/UCB 5.64/BelWue-1.41AIXRS)
id AA20695; Tue, 25 Apr 1995 20:06:35 +0200
From: bk4@pi4wap0.physik.uni-stuttgart.de (B. Kaufmann)
Message-Id: <9504251806.AA20695@pi4wap0.physik.uni-stuttgart.de>
Subject: latest release of octave, where to get it
To: help-octave@che.utexas.edu
Date: Tue, 25 Apr 1995 20:06:34 +0200 (MESZ)
Content-Type: text
Content-Length: 386
Sender: help-octave-request@che.utexas.edu
hallo
I am using octave, version of feb 1994, on an
ibm aix machine.
now I want to install it om a Linux pc486.
could you please send me some info about an existing
newer version than the
mentioned above, and second: where can I get it?
the source code of the last one has been erased
from our server at uni-stuttgart
thank you very much, berthold kaufmann,
stuttgart, germany
From help-octave-request@che.utexas.edu Wed Apr 26 03:32:19 1995
Received: (daemon@localhost) by bullwinkle.che.utexas.edu (8.6.10/8.6) id DAA34714 for help-octave-outgoing; Wed, 26 Apr 1995 03:29:26 GMT
Received: from bart.inescn.pt (bart.inescn.pt [192.35.246.9]) by bullwinkle.che.utexas.edu (8.6.10/8.6) with ESMTP id WAA51093 for ; Tue, 25 Apr 1995 22:29:23 -0500
Received: (from jcardoso@localhost) by bart.inescn.pt (8.6.9/INESCP-V2.6) id AAA28055 for help-octave@che.utexas.edu; Wed, 26 Apr 1995 00:27:06 +0200
From: Joao Cardoso
Message-Id: <199504252227.AAA28055@bart.inescn.pt>
Subject: Re: octave memory allocation problem ?
To: help-octave@che.utexas.edu
Date: Wed, 26 Apr 1995 00:27:06 +0200 (MET DST)
X-Mailer: ELM [version 2.4 PL22]
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Content-Length: 4007
Sender: help-octave-request@che.utexas.edu
Hi,
I APOLOGIZE.
*** Matlab's "load" does not work as I said. ***
In the process of converting my "Matlab v4.0 for Windows" files to Octave
I get confused (to be kind with myself...).
Now, about the memory leak, here is a description of the problem I found.
It seems to be related with function invocation (at least).
My system is a SCO 2.0., "i486-unknown-sco3.2v4.0"
I did not run the tests when I build octave, as I have no DejaGnu.
I also notice this problem with recursion, using the supplied recursion-1.m
in the distribution test/recursion directory.
The original problem:
octave
Octave, version 1.1.1.
Copyright (C) 1992, 1993, 1994, 1995 John W. Eaton.
This is free software with ABSOLUTELY NO WARRANTY.
For details, type `warranty'.
octave:1> type popo
popo is a user-defined function
function a = popo (file)
eval (["load ", file, ";"])
a = b;
endfunction
octave:2> system("ps -l"| fgrep octave")
20 S 200 335 298 0 26 20 8fc 58e 748 f014abfa p1 0:00 octave
octave:3> b=rand(100); ^^^
octave:4> system("ps -l | fgrep octave")
20 S 200 335 298 1 26 20 8fc 58e 828 f014a2fa p1 0:01 octave
octave:5> save caca b ^^^
octave:6> clear
octave:7> system("ps -l | fgrep octave")
20 S 200 335 298 1 26 20 8fc 58e 748 f014a2fa p1 0:03 octave
octave:8> a=popo("caca"); ^^^
octave:9> system("ps -l | fgrep octave")
20 S 200 335 298 5 26 20 8fc 58e 872 f014a2fa p1 0:06 octave
octave:10> clear -x ^^^
octave:11> system("ps -l | fgrep octave")
20 S 200 335 298 1 26 20 8fc 58e 872 f014a2fa p1 0:06 octave
octave:12> clear * ^^^
octave:13> system("ps -l | fgrep octave")
20 S 200 335 298 1 26 20 8fc 58e 792 f014a2fa p1 0:06 octave
octave:14> clear -x ^^^
octave:15> system("ps -l | fgrep octave")
20 S 200 335 298 1 26 20 8fc 58e 792 f014a2fa p1 0:06 octave
^^^
octave:16> for i=1:10; a=popo("caca"); clear -x *;system("ps -l | fgrep octave"); end
20 S 200 335 298 81 26 20 8fc 58e 836 f014a2fa p1 0:09 octave
20 R 200 335 298 62 91 20 8fc 58e 884 p1 0:12 octave
20 R 200 335 298 40 80 20 8fc 58e 932 p1 0:14 octave
20 R 200 335 298 81 100 20 8fc 58e 996 p1 0:17 octave
20 R 200 335 298 81 100 20 8fc 58e1040 p1 0:19 octave
20 R 200 335 298 79 99 20 8fc 58e1084 p1 0:22 octave
20 R 200 335 298 58 89 20 8fc 58e1128 p1 0:24 octave
20 R 200 335 298 41 80 20 8fc 58e1172 p1 0:27 octave
20 R 200 335 298 81 100 20 8fc 58e1216 p1 0:30 octave
20 R 200 335 298 81 100 20 8fc 58e1260 p1 0:32 octave
^^^^
octave:18> who -l
Notice that memory is incremented in steps of 44 pages, occasionally more.
With an array with the double size, rand(100,200) the behavior is the same, as
well as with an array of 500x500 (a five Megabyte file). This means that the
problem is not related with file size, but with function invocation.
The amount of memory grabbed and not released depends on what is called:
octave:1> system("ps -l | fgrep octave")
20 S 200 923 298 3 26 20 8fc 58e 676 f014933a p1 0:00 octave
octave:2> for i=1:5000; po1(i);end
octave:3> system("ps -l | fgrep octave")
20 R 200 923 298 15 67 20 8fc 58e 764 p1 0:28 octave
octave:5> type po1 ^^^
po1 is a user-defined function
function y = po1 (x)
y = x;
endfunction
With
octave:5> type po1
po1 is a user-defined function
function y = po1 (x)
y = 1;
endfunction
we have the same behavior, as well as with
function po1 ()
endfunction
Now: is this a problem, a feature, a bug, something we can live with, a problem
with my system libraries, or what?
Again, my apologies,
Joao Cardoso
INESC
R. Jose Falcao 110
4000 PORTO
PORTUGAL
e-mail: jcardoso@bart.inescn.pt
tel: + 351 2 2094300
fax: + 351 2 2008487
From help-octave-request@che.utexas.edu Wed Apr 26 04:20:43 1995
Received: (daemon@localhost) by bullwinkle.che.utexas.edu (8.6.10/8.6) id EAA47019 for help-octave-outgoing; Wed, 26 Apr 1995 04:19:18 GMT
Received: from goanna.cs.rmit.edu.au (root@goanna.cs.rmit.EDU.AU [131.170.24.40]) by bullwinkle.che.utexas.edu (8.6.10/8.6) with ESMTP id XAA38822 for ; Tue, 25 Apr 1995 23:19:16 -0500
Received: from yallara.cs.rmit.edu.au (s933436@yallara.cs.rmit.EDU.AU [131.170.24.42]) by goanna.cs.rmit.edu.au (8.6.10/8.6.9) with ESMTP id OAA24460 for ; Wed, 26 Apr 1995 14:19:09 +1000
Received: (from s933436@localhost) by yallara.cs.rmit.edu.au (8.6.10/8.6.10) id OAA22995 for help-octave@che.utexas.edu; Wed, 26 Apr 1995 14:19:07 +1000
From: Joanne Marie Kilian
Message-Id: <199504260419.OAA22995@yallara.cs.rmit.edu.au>
Subject: compiler information
To: help-octave@che.utexas.edu
Date: Wed, 26 Apr 1995 14:19:05 +1000 (EST)
X-Mailer: ELM [version 2.4 PL23]
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Content-Length: 295
Sender: help-octave-request@che.utexas.edu
Could you please provide me with some information regarding how octave
compiles its programs (ie: front-end, back-end, code optimization etc), as
I require this information and have as yet been unable to find it.
Thanking you in advance,
Joanne Kilian.
e-mail:
s933436@yallara.cs.rmit.edu.au
From help-octave-request@che.utexas.edu Wed Apr 26 08:05:17 1995
Received: (daemon@localhost) by bullwinkle.che.utexas.edu (8.6.10/8.6) id IAA28019 for help-octave-outgoing; Wed, 26 Apr 1995 08:02:50 GMT
Received: from amgmps.demon.co.uk (amgmps.demon.co.uk [158.152.21.16]) by bullwinkle.che.utexas.edu (8.6.10/8.6) with SMTP id DAA51053 for ; Wed, 26 Apr 1995 03:02:47 -0500
Date: Wed, 26 Apr 1995 08:54:05 GMT
From: paul@amgmps.com (Paul Hulse)
Reply-To: paul@amgmps.com
Message-Id: <7397@amgmps.com>
To: help-octave@che.utexas.edu
Subject: Octave/Simulink question
X-Mailer: PCElm 1.10
Lines: 11
Sender: help-octave-request@che.utexas.edu
A few weeks ago someone mentioned freely availble program which is
to simulink what octave is to matlab. Can anyone remind me of its
name (and ftp site), please ?
Also, is it possible to recieve a digest of help-octave, rather
than all the messages indiviually ? It would free up our mailer somewhat.
Thanks
--
Paul (paul@amgmps.com)
Disclaimer: My views are not those of my employer.
From help-octave-request@che.utexas.edu Wed Apr 26 13:11:40 1995
Received: (daemon@localhost) by bullwinkle.che.utexas.edu (8.6.10/8.6) id NAA38764 for help-octave-outgoing; Wed, 26 Apr 1995 13:10:46 GMT
Received: from sturgeon.coelacanth.com (sturgeon.coelacanth.com [199.103.208.1]) by bullwinkle.che.utexas.edu (8.6.10/8.6) with SMTP id IAA24933 for ; Wed, 26 Apr 1995 08:10:45 -0500
From: roger@coelacanth.com
Received: by sturgeon.coelacanth.com (IBM OS/2 SENDMAIL VERSION 1.3.2)/1.0)
id AA0475; Wed, 26 Apr 95 09:08:27 -0400
Date: Wed, 26 Apr 95 09:08:27 -0400
Message-Id: <9504261308.AA0475@sturgeon.coelacanth.com>
To: paul@amgmps.com
Cc: help-octave@che.utexas.edu
In-Reply-To: <7397@amgmps.com> (paul@amgmps.com)
Subject: Re: Octave/Simulink question
Sender: help-octave-request@che.utexas.edu
A few weeks ago someone mentioned freely availble program which is
to simulink what octave is to matlab. Can anyone remind me of its
name (and ftp site), please ?
Do you mean Ptolemy? From the comp.lsi.cad FAQ:
Ptolemy provides a highly flexible foundation for the specification,
simulation, and rapid prototyping of systems. It is an object oriented
framework within which diverse models of computation can co-exist and
interact. For example, using Ptolemy a data-flow system can be easily
connected to a hardware simulator which in turn may be connected to a
discrete-event system, etc. Because of this, Ptolemy can be used to
model entire systems.
Ptolemy also has code generation capabilities. From a flow graph
description, Ptolemy can generate C code and DSP assembly code for rapid
prototyping. Ptolemy can also generate Silage and VHDL descriptions for
hardware synthesis.
Ptolemy has been used for a broad range of applications including signal
processing, telecomunications, parallel processing, wireless communica-
tions, network design, radio astronomy, real time systems, and
hardware/software co-design. Ptolemy has also been used as a lab for
signal processing and communications courses. Currently Ptolemy has hun-
dreds of users in over 100 sites, both in industry and academia.
Ptolemy is available for the Sun 4 (sparc), DecStation (MIPS), and HP
(HP-PA) architectures. Installing the system requires 90 Mbytes for
Ptolemy (more if you optionally remake). Ptolemy also requires at least
8 Mbytes of physical memory.
Ptolemy is available via anonymous ftp at:
ptolemy.eecs.berkeley.edu:pub/README This site contains the entire
Ptolemy distribution, a postscript version of the Ptolemy manual, and
several Ptolemy papers.
The bad news (for some of us poor engineers) is that there doesn't
seem to be a version for Linux or OS/2.
--
Roger Williams
Coelacanth Engineering | Numeric stability is probably not all
Middleborough, Mass | that important when you're guessing...
From help-octave-request@che.utexas.edu Wed Apr 26 13:43:22 1995
Received: (daemon@localhost) by bullwinkle.che.utexas.edu (8.6.10/8.6) id NAA36455 for help-octave-outgoing; Wed, 26 Apr 1995 13:42:33 GMT
Received: from neal.ctd.comsat.com (root@neal.ctd.comsat.com [134.133.40.21]) by bullwinkle.che.utexas.edu (8.6.10/8.6) with SMTP id IAA38754 for ; Wed, 26 Apr 1995 08:42:32 -0500
Received: by neal.ctd.comsat.com (Smail3.1.29.0 #3)
id m0s47Jo-000343C; Wed, 26 Apr 95 09:39 EDT
Message-Id:
Date: Wed, 26 Apr 95 09:39 EDT
From: neal@ctd.comsat.com (Neal Becker)
To: roger@coelacanth.com
Cc: paul@amgmps.com, help-octave@che.utexas.edu
Subject: Re: Octave/Simulink question
In-Reply-To: <9504261308.AA0475@sturgeon.coelacanth.com>
References: <7397@amgmps.com>
<9504261308.AA0475@sturgeon.coelacanth.com>
Sender: help-octave-request@che.utexas.edu
>>>>> "roger" == roger writes:
roger> The bad news (for some of us poor engineers) is that there doesn't
roger> seem to be a version for Linux or OS/2.
Yes there is a version for Linux!
From help-octave-request@che.utexas.edu Wed Apr 26 13:49:15 1995
Received: (daemon@localhost) by bullwinkle.che.utexas.edu (8.6.10/8.6) id NAA39880 for help-octave-outgoing; Wed, 26 Apr 1995 13:48:47 GMT
Received: from sturgeon.coelacanth.com (sturgeon.coelacanth.com [199.103.208.1]) by bullwinkle.che.utexas.edu (8.6.10/8.6) with SMTP id IAA56003 for ; Wed, 26 Apr 1995 08:48:46 -0500
From: roger@coelacanth.com
Received: by sturgeon.coelacanth.com (IBM OS/2 SENDMAIL VERSION 1.3.2)/1.0)
id AA0554; Wed, 26 Apr 95 09:45:11 -0400
Date: Wed, 26 Apr 95 09:45:11 -0400
Message-Id: <9504261345.AA0554@sturgeon.coelacanth.com>
To: neal@ctd.comsat.com
Cc: paul@amgmps.com, help-octave@che.utexas.edu
In-Reply-To:
Subject: Re: Octave/Simulink question
Sender: help-octave-request@che.utexas.edu
Yes there is a version for Linux!
Oops--I just found that out myself (when I bothered to go read the
Ptolemy FAQ myself...).
--
Roger Williams
Coelacanth Engineering | Numeric stability is probably not all
Middleborough, Mass | that important when you're guessing...
From help-octave-request@che.utexas.edu Wed Apr 26 16:23:56 1995
Received: (daemon@localhost) by bullwinkle.che.utexas.edu (8.6.10/8.6) id QAA20221 for help-octave-outgoing; Wed, 26 Apr 1995 16:23:44 GMT
Received: from zeus.mathematik.uni-Bremen.de (zeus.mathematik.uni-bremen.de [134.102.232.101]) by bullwinkle.che.utexas.edu (8.6.10/8.6) with ESMTP id LAA56054 for ; Wed, 26 Apr 1995 11:23:32 -0500
Received: from athena (athena [134.102.232.114]) by zeus.mathematik.uni-Bremen.de (8.6.12/8.6.12) id SAA02780; Wed, 26 Apr 1995 18:20:54 +0200
Date: Wed, 26 Apr 1995 18:20:54 +0200
From: Bengt Martensson
Message-Id: <199504261620.SAA02780@zeus.mathematik.uni-Bremen.de>
To: paul@amgmps.com
CC: help-octave@che.utexas.edu
In-reply-to: <7397@amgmps.com> (paul@amgmps.com)
Subject: Re: Octave/Simulink question
Sender: help-octave-request@che.utexas.edu
A few weeks ago someone mentioned freely availble program which is
to simulink what octave is to matlab. Can anyone remind me of its
name (and ftp site), please ?
Some time ago I mentioned Gnans on this list, which is probably what
you refer to. It is not a Simulab clone. You can't, for example,
assemble block diagrams with graphical user interface, but have to
write the model description yourself in an equation-oriented
language. Instead, it is believed to have other strong points. (It is
possible to write such a graphical front end though, but no-one has
volunteered!) If there is sufficient interest, it would probably be
possible to persuade me to write some nice Gnans-Octave interface.
The following announcement provides some general blurb about the
program, including ftp address. (It is also available through my WWW
home page.) (For some reason, our ftp server doesn't like the `ls'
command with parameters (like `ls -l'), which is a problem I will fix
soon. Don't be alarmed.)
Bengt
================================================================
Announcing Gnans version 1.3.
Gnans is a program (and language) for the numerical study of
deterministic and stochastic dynamical systems. The dynamical systems
may evolve in continuous or discrete time.
Gnans loads a system, a definition of a dynamical system in a
special, equation oriented language. The description consists of
declarations of states etc, and equations describing the dynamics of the
system. As an advanced feature, arbitrary C++-code may also be contained
in the system description. Gnans sorts the equations, translates them
into C++, which is subsequently compiled and linked into the running
program. It is then able to solve the system equations numerically with
the speed of a compiled (as opposite to interpreted) program. Several
numerical integrators, also for stochastic differential equations, are
provided. Gnans has an intuitive user interface, making it possible
control the program and to change all relevant parameters using an
intuitive point-and-click interface. In this operation, it can be
considered ``an initial value problem (IVP) engine''. Using a simple
script language, this IVP-engine can be programmed. As a by-product,
this offers the possibility of a command line interface. (Actually, as
another by-product, Gnans contains a rather powerful pocket calculator!)
Simple interactive two-dimensional plot routines are provided.
Gnans is copyrighted, but freely distributable under the Gnu
General Public License.
An C++ compiler is required, even if you just get the binaries.
The present release is only known to compile with gcc 2.6.0.
The new version has been ported to Suns with operating system SunOS
4.1.x and SunOS 5.x ("Solaris 2"), and SGI with the operating system
IRIX 5.x. There are many bug fixes, portability fixes, and internal
improvements. Relatively little has been added in functionality.
You can get Gnans by anonymous ftp to ftp.mathematik.uni-Bremen.de
(134.102.232.101 for those of you without name server). (User name
``ftp'', use your e-mail address as password.) (Our ftp-connection can
be very slow, please have patience. We will get a much faster line
"real soon now".) Binaries for Sparc (for SunOS 4.1.x) and SGI (for
IRIX 5.2) are available. Please also drop me an e-mail, and tell me
about your success with the installation, and any bugs you encounter.
Get either the source or a binary distribution. All contain full
documentation, except for some large PostScript figures, which are
only "needed" for the printed manual. The figures are available in the
file gnans-doc-pictures.tar.gz. (These are the same as included in the
1.2 distribution, so there is no need to get them again if you already
have them.) Pick up gnansdoc....ps.gz only in you cannot print the
documentation.
There is a mailing group for Gnans. Please send submissions for the
mailing group to gnans@mathematik.uni-Bremen.de, and requests to be
added/dropped to/from the list to gnans-request@mathematik.uni-Bremen.de.
================================================================
Version 1.4 of Gnans has been released. Binaries for Sparc (Sunos
4.1.2 and Solaris 2.3), and SGI (Irix 5.2) are available. There are
no earth-scattering changes, just some bug fixes, some small new
features, bettor error messages from the translator, etc. However, the
main reason for this release is to "checkpoint my code", since I hope
to be able to do some reconstruction of the whole system in the
future.
The popen-feature (executing scripts instead of reading them) has
changed in an incompatible fashion; you may recall that I asked the
mailing group if anyone cared for it. It turned out that what I did
not like was the syntactic overloading of opening a script; I was not
against popen-ing per se. Now it works like this: if the filename ends
with a ``|'', it is popen-ed (executed), otherwise fopen-ed
(read). Visually, it looks like a Unix pipe. (This design is stolen
from perl.)
I have just wrapped together the thing in quite short time, and most
likely I have made some mistakes. Please tell me about
problems when installing.
And, as usual, all sorts of feedback is very welcome.
The file gnans-doc-pictures.tar.gz has not changed, so there is no
need to get it again.
Bengt Martensson +49 421 218-2952 (office)
Institute for Dynamical Systems +49 421 17 17 13 (home)
University of Bremen +49 421 218-4235 (fax)
P.O. Box 330 440, D-28334 Bremen, Germany bengt@mathematik.uni-Bremen.de
From help-octave-request@che.utexas.edu Wed Apr 26 18:00:26 1995
Received: (daemon@localhost) by bullwinkle.che.utexas.edu (8.6.10/8.6) id RAA24221 for help-octave-outgoing; Wed, 26 Apr 1995 17:58:24 GMT
Received: from schoch.che.utexas.edu (schoch.che.utexas.edu [128.83.162.82]) by bullwinkle.che.utexas.edu (8.6.10/8.6) with ESMTP id MAA24983 for ; Wed, 26 Apr 1995 12:58:23 -0500
Received: from localhost (jwe@localhost) by schoch.che.utexas.edu (8.6.10/8.6) with SMTP id MAA05452; Wed, 26 Apr 1995 12:58:19 -0500
Message-Id: <199504261758.MAA05452@schoch.che.utexas.edu>
To: Joanne Marie Kilian
cc: help-octave@che.utexas.edu
Subject: Re: compiler information
In-reply-to: Your message of Wed, 26 Apr 95 14:19:05 +0900
Date: Wed, 26 Apr 95 12:58:18 EDT
From: John Eaton
Sender: help-octave-request@che.utexas.edu
Joanne Marie Kilian wrote:
: Could you please provide me with some information regarding how octave
: compiles its programs (ie: front-end, back-end, code optimization etc), as
: I require this information and have as yet been unable to find it.
Octave uses a bison-generated parser to `compile' the input into parse
trees which are then evaluated directly. There is no optimization
phase.
Most of this is handled in lex.l, parse.y, tree-*.h, tree-*.cc,
tc-*.h, and tc-*.cc. The main compile-eval loop is in octave.cc.
jwe
From help-octave-request@che.utexas.edu Wed Apr 26 20:41:21 1995
Received: (daemon@localhost) by bullwinkle.che.utexas.edu (8.6.10/8.6) id UAA20083 for help-octave-outgoing; Wed, 26 Apr 1995 20:35:32 GMT
Received: from schoch.che.utexas.edu (schoch.che.utexas.edu [128.83.162.82]) by bullwinkle.che.utexas.edu (8.6.10/8.6) with ESMTP id PAA45422 for ; Wed, 26 Apr 1995 15:35:30 -0500
Received: from localhost (jwe@localhost) by schoch.che.utexas.edu (8.6.10/8.6) with SMTP id PAA06588; Wed, 26 Apr 1995 15:35:26 -0500
Message-Id: <199504262035.PAA06588@schoch.che.utexas.edu>
To: paul@amgmps.com
cc: help-octave@che.utexas.edu
Subject: Re: Octave/Simulink question
In-reply-to: Your message of Wed, 26 Apr 95 08:54:05 GMT
Date: Wed, 26 Apr 95 15:35:25 EDT
From: John Eaton
Sender: help-octave-request@che.utexas.edu
paul@amgmps.com (Paul Hulse) wrote:
: Also, is it possible to recieve a digest of help-octave, rather
: than all the messages indiviually ? It would free up our mailer somewhat.
I don't have plans to create a digest of the postings to the lists.
Archives of all the messages are available by anonymous ftp from
ftp.che.utexas.edu in the directory /pub/octave/MAILING-LISTS.
I've just done a bit of rearranging, and they are now kept in a set of
directories with one message per file, similar to the way Usenet news
is spooled.
I have also just made these directories available via WWW at the URL
http://www.che.utexas.edu/octave-mailing-lists
There is also a link to this page from Octave's home page, which is
http://www.che.utexas.edu/octave.html
Please let me know if you have trouble accessing these pages, or if
the indices for the mailing lists don't appear to be up to date.
Thanks,
jwe
From help-octave-request@che.utexas.edu Thu Apr 27 12:38:16 1995
Received: (daemon@localhost) by bullwinkle.che.utexas.edu (8.6.10/8.6) id MAA32018 for help-octave-outgoing; Thu, 27 Apr 1995 12:37:33 GMT
Received: from icnucevx.cnuce.cnr.it (icnucevx.cnuce.cnr.it [131.114.1.30]) by bullwinkle.che.utexas.edu (8.6.10/8.6) with ESMTP id HAA27903 for ; Thu, 27 Apr 1995 07:32:46 -0500
Received: from fly.cnuce.cnr.IT by mailsrv.cnuce.cnr.it (PMDF V4.3-13 #6635)
id <01HPU51DKJ1CI01DUY@mailsrv.cnuce.cnr.it>; Thu,
27 Apr 1995 14:32:38 +0100 (MET)
Received: by fly.cnuce.cnr.IT (Smail3.1.26.7 #1) id m0s4SkW-0002NjC; Thu,
27 Apr 95 14:32 MET
Date: Thu, 27 Apr 1995 14:32 +0100 (MET)
From: pot@fly.CNUCE.CNR.IT (Francesco Potorti`)
Subject: autocorrelation
To: help-octave@che.utexas.edu
Reply-to: pot@cnuce.cnr.it
Message-id:
Content-transfer-encoding: 7BIT
Sender: help-octave-request@che.utexas.edu
I need to compute the autocorrelation of vectors. I started with the
following experiment:
kk=[2,3,4,5]
kk =
2 3 4 5
fftconv(kk,kk)
ans =
4 12 25 44 46 40 25
I would have expected
10 23 38 54 38 23 10
instead. What am I doing wrong?
--
Francesco Potorti` | pot@CNUCE.CNR.IT (Internet)
| 39369::pot (DECnet)
| +39-50-593203 (voice) 589354(fax)
From help-octave-request@che.utexas.edu Thu Apr 27 14:56:10 1995
Received: (daemon@localhost) by bullwinkle.che.utexas.edu (8.6.10/8.6) id OAA37893 for help-octave-outgoing; Thu, 27 Apr 1995 14:55:34 GMT
Received: from icnucevx.cnuce.cnr.it (icnucevx.cnuce.cnr.it [131.114.1.30]) by bullwinkle.che.utexas.edu (8.6.10/8.6) with ESMTP id JAA35071 for ; Thu, 27 Apr 1995 09:55:25 -0500
Received: from fly.cnuce.cnr.IT by mailsrv.cnuce.cnr.it (PMDF V4.3-13 #6635)
id <01HPUA0PVW5SI01EH3@mailsrv.cnuce.cnr.it>; Thu,
27 Apr 1995 16:54:53 +0100 (MET)
Received: by fly.cnuce.cnr.IT (Smail3.1.26.7 #1) id m0s4UyF-0003mCC; Thu,
27 Apr 95 16:55 MET
Date: Thu, 27 Apr 1995 16:55 +0100 (MET)
From: pot@fly.CNUCE.CNR.IT (Francesco Potorti`)
Subject: autocorrelation
To: help-octave@che.utexas.edu
Reply-to: pot@cnuce.cnr.it
Message-id:
Content-transfer-encoding: 7BIT
Sender: help-octave-request@che.utexas.edu
I wrote:
I need to compute the autocorrelation of vectors. I started with the
following experiment:
kk=[2,3,4,5]
kk =
2 3 4 5
fftconv(kk,kk)
ans =
4 12 25 44 46 40 25
I would have expected
10 23 38 54 38 23 10
instead. What am I doing wrong?
Vinayak Dutt helped me find the answer, with this explanation:
fft convolution is a periodic convolution which will give this aliasing
problems if you try to compute linear convolution.
if you want to compute linear convolution, pad the vectors to
M+N-1 (where M and N are the lengths of the two vectors to
convolve) with zeros and then use the fft method.
for autocorrelation, just pad to twice the length with zeros.
Here are the two small function I wrote to compute the autocorrelation
and autocovariance of a sequence of data:
------------------------------autocov.oct----------------------------
function A = autoconv(x)
A = [x, zeros(1, length(x))];
A = fftconv(A, fliplr(A));
A = A(2*length(x) : 3*length(x)-1);
endfunction
function A = autocov(x)
A = [x, zeros(1, length(x))];
A = fftconv(A, fliplr(A));
A = A(2*length(x) : 3*length(x)-1) / sumsq(x);
endfunction
---------------------------------------------------------------------
Now:
autoconv([2,3,4,5])
ans =
54 38 23 10
autocov([2,3,4,5])
ans =
1.00000 0.70370 0.42593 0.18519
Cmments welcome and solicited.
--
Francesco Potorti` | pot@CNUCE.CNR.IT (Internet)
| 39369::pot (DECnet)
| +39-50-593203 (voice) 589354(fax)
From help-octave-request@che.utexas.edu Thu Apr 27 15:33:06 1995
Received: (daemon@localhost) by bullwinkle.che.utexas.edu (8.6.10/8.6) id PAA22315 for help-octave-outgoing; Thu, 27 Apr 1995 15:32:53 GMT
Received: from nessie.mcc.ac.uk (pp@nessie.mcc.ac.uk [130.88.200.20]) by bullwinkle.che.utexas.edu (8.6.10/8.6) with ESMTP id KAA22053 for ; Thu, 27 Apr 1995 10:32:49 -0500
Received: from Tedistan.annex.umist.ac.uk by nessie.mcc.ac.uk with SMTP (PP);
Thu, 27 Apr 1995 16:32:23 +0100
Message-Id:
From: Ted.Harding@nessie.mcc.ac.uk (Ted Harding)
Subject: Re: autocorrelation
To: pot@cnuce.cnr.it
Date: Thu, 27 Apr 1995 16:30:48 +0200 (BST)
Cc: help-octave@che.utexas.edu
In-Reply-To: from "Francesco Potorti`" at Apr 27, 95 02:32:00 pm
X-Mailer: ELM [version 2.4 PL23]
Content-Type: text
Content-Length: 874
Sender: help-octave-request@che.utexas.edu
( Re Message From: Francesco Potorti` )
>
> I need to compute the autocorrelation of vectors. I started with the
> following experiment:
>
> kk=[2,3,4,5]
> kk =
>
> 2 3 4 5
>
> fftconv(kk,kk)
> ans =
>
> 4 12 25 44 46 40 25
>
> I would have expected
>
> 10 23 38 54 38 23 10
>
> instead. What am I doing wrong?
There's nothing wrong with the answer from fftconv. This computes
a CONVOLUTION, which is defined as
Sum[over s] x(s) * x(t-s)
i.e. one of the factors is taken in the reverse order.
The CORRELATION [at lag t = -(N-1), .. 2, 1, 0, 1, 2, .. , (N-1)]
which you want is defined by
Sum[over s] x(s) * x(s-t) = R(t) = R(-t)
You can get it the right way roud by reversing one of the arguments
to fftconv, if you wish. This gives the result you expected.
Ted. (Ted.Harding@nessie.mcc.ac.uk)
From help-octave-request@che.utexas.edu Thu Apr 27 15:55:44 1995
Received: (daemon@localhost) by bullwinkle.che.utexas.edu (8.6.10/8.6) id PAA48779 for help-octave-outgoing; Thu, 27 Apr 1995 15:55:32 GMT
Received: from bru.mayo.EDU (bru.mayo.edu [129.176.200.17]) by bullwinkle.che.utexas.edu (8.6.10/8.6) with SMTP id KAA54406 for ; Thu, 27 Apr 1995 10:55:31 -0500
Received: from us0.mayo.EDU by bru.mayo.EDU (4.1/SMI-4.0)
id AA13678; Thu, 27 Apr 95 10:54:56 CDT
Received: from us6.sky2 by us0.mayo.EDU (4.1/SMI-4.1)
id AA18815; Thu, 27 Apr 95 10:54:10 CDT
Date: Thu, 27 Apr 95 10:54:10 CDT
From: vdp@us0.mayo.EDU (Vinayak Dutt)
Received: by us6.sky2 (4.1/SMI-4.1)
id AA15207; Thu, 27 Apr 95 10:55:19 CDT
Subject: Re: autocorrelation
To: help-octave@che.utexas.edu
Message-Id:
Reply-To: Dutt.Vinayak@mayo.EDU
X-Mailer: TkMail-2.0Beta14
In-Reply-To:
Sender: help-octave-request@che.utexas.edu
Ted Harding wrote:
#There's nothing wrong with the answer from fftconv. This computes
#a CONVOLUTION, which is defined as
#
# Sum[over s] x(s) * x(t-s)
#
#i.e. one of the factors is taken in the reverse order.
#The CORRELATION [at lag t = -(N-1), .. 2, 1, 0, 1, 2, .. , (N-1)]
#which you want is defined by
#
# Sum[over s] x(s) * x(s-t) = R(t) = R(-t)
#
#You can get it the right way roud by reversing one of the arguments
#to fftconv, if you wish. This gives the result you expected.
#
Yup. This is the correct explaination for the problem. I checked fftconv()
and found that it does padd to length(Vector1) + length(Vector1) - 1.
So there is no need to pad as I had earlier suggested :-(
--vinayak-
/*
* vinayak dutt
* graduate student, ultrasound research
* mayo graduate school, rochester mn
*
* e-mail: vdp@mayo.edu
* dutt.vinayak@mayo.edu
* vdp@us0.mayo.edu
*
*/
#include "disclaimer.h"
From help-octave-request@che.utexas.edu Thu Apr 27 18:44:47 1995
Received: (daemon@localhost) by bullwinkle.che.utexas.edu (8.6.10/8.6) id SAA42799 for help-octave-outgoing; Thu, 27 Apr 1995 18:44:26 GMT
Received: from schoch.che.utexas.edu (schoch.che.utexas.edu [128.83.162.82]) by bullwinkle.che.utexas.edu (8.6.10/8.6) with ESMTP id NAA25642 for ; Thu, 27 Apr 1995 13:44:25 -0500
Received: from localhost (jwe@localhost) by schoch.che.utexas.edu (8.6.10/8.6) with SMTP id NAA12624; Thu, 27 Apr 1995 13:43:51 -0500
Message-Id: <199504271843.NAA12624@schoch.che.utexas.edu>
To: Joao Cardoso
cc: help-octave@che.utexas.edu
Subject: Re: octave memory allocation problem ?
In-reply-to: Your message of Wed, 26 Apr 95 00:27:06 +0100
Date: Thu, 27 Apr 95 13:43:51 EDT
From: John Eaton
Sender: help-octave-request@che.utexas.edu
Joao Cardoso wrote:
: Now, about the memory leak, here is a description of the problem I found.
:
: It seems to be related with function invocation (at least).
:
: [...]
:
: Now: is this a problem, a feature, a bug, something we can live
: with, a problem with my system libraries, or what?
It's a bug that should be fixed in the next release. Unfortunately,
it would not be too easy at this point to generate a useful set of
patches relative to version 1.1.1 that would just fix this problem.
jwe
From help-octave-request@che.utexas.edu Thu Apr 27 20:42:56 1995
Received: (daemon@localhost) by bullwinkle.che.utexas.edu (8.6.10/8.6) id UAA27672 for help-octave-outgoing; Thu, 27 Apr 1995 20:41:12 GMT
Received: from mallard.duc.auburn.edu (mallard2.duc.auburn.edu [131.204.2.10]) by bullwinkle.che.utexas.edu (8.6.10/8.6) with SMTP id PAA52499 for ; Thu, 27 Apr 1995 15:41:10 -0500
Received: from manatee.aca.auburn.edu by mallard.duc.auburn.edu (5.0/SMI-SVR4)
id AA21473; Thu, 27 Apr 1995 15:41:06 -0500
Received: by manatee.aca.auburn.edu (5.0/SMI-SVR4)
id AA09498; Thu, 27 Apr 1995 14:37:48 -0500
Date: Thu, 27 Apr 1995 14:37:48 -0500
From: hankedr@manatee.aca.auburn.edu (Darrel Hankerson)
Message-Id: <9504271937.AA09498@manatee.aca.auburn.edu>
To: help-octave@che.utexas.edu
In-Reply-To: <199504271843.NAA12624@schoch.che.utexas.edu> (message from John Eaton on Thu, 27 Apr 95 13:43:51 EDT)
Subject: Re: octave memory allocation problem ?
Content-Length: 0
Sender: help-octave-request@che.utexas.edu
It's a bug that should be fixed in the next release.
One other "bug": Under Linux and Solaris 2.3, if a user quits the
gnuplot window, then octave cannot do more plots.
--Darrel Hankerson hankedr@mail.auburn.edu
From help-octave-request@che.utexas.edu Thu Apr 27 21:26:19 1995
Received: (daemon@localhost) by bullwinkle.che.utexas.edu (8.6.10/8.6) id VAA20184 for help-octave-outgoing; Thu, 27 Apr 1995 21:25:57 GMT
Received: from schoch.che.utexas.edu (schoch.che.utexas.edu [128.83.162.82]) by bullwinkle.che.utexas.edu (8.6.10/8.6) with ESMTP id QAA42195 for ; Thu, 27 Apr 1995 16:25:56 -0500
Received: from localhost (jwe@localhost) by schoch.che.utexas.edu (8.6.10/8.6) with SMTP id QAA15045; Thu, 27 Apr 1995 16:25:53 -0500
Message-Id: <199504272125.QAA15045@schoch.che.utexas.edu>
To: hankedr@manatee.aca.auburn.edu (Darrel Hankerson)
cc: help-octave@che.utexas.edu
Subject: Re: octave memory allocation problem ?
In-reply-to: Your message of Thu, 27 Apr 95 14:37:48 CDT
Date: Thu, 27 Apr 95 16:25:51 EDT
From: John Eaton
Sender: help-octave-request@che.utexas.edu
hankedr@manatee.aca.auburn.edu (Darrel Hankerson) wrote:
: One other "bug": Under Linux and Solaris 2.3, if a user quits the
: gnuplot window, then octave cannot do more plots.
This is a known problem. I think the correct fix is to make Octave
catch SIGCHLD to notice that the gnuplot subprocess has exited, close
the current plot stream, and open a new one, but that has not been
implemented yet. Until Octave does this automatically, it should work
to execute a `closeplot' command followed by other plotting commands.
BTW, if you have bugs to report, please send a complete report to
bug-octave@che.utexas.edu instead of sending mail to help-octave.
This is not to keep readers of help-octave in the dark about bugs, but
to avoid cluttering up help-octave with things that really belong in
bug-octave. If the readers of help-octave wanted to receive bug
reports, they probably would have subscribed to bug-octave too.
If you want to know what bugs have been reported without actually
subscribing to bug-octave, get the archive of old bug-octave messages
from
ftp://ftp.che.utexas.edu/pub/octave/MAILING-LISTS
or
http://www.che.utexas.edu/octave-mailing-lists
Thanks,
jwe
From help-octave-request@che.utexas.edu Thu Apr 27 22:09:14 1995
Received: (daemon@localhost) by bullwinkle.che.utexas.edu (8.6.10/8.6) id WAA25602 for help-octave-outgoing; Thu, 27 Apr 1995 22:09:03 GMT
Received: from brain (brain.biomed.uakron.edu [130.101.47.202]) by bullwinkle.che.utexas.edu (8.6.10/8.6) with SMTP id RAA43005 for ; Thu, 27 Apr 1995 17:09:02 -0500
Received: by brain (5.0/SMI-4.1)
id AA28498; Thu, 27 Apr 1995 18:11:27 +0500
Date: Thu, 27 Apr 1995 18:11:27 -0400 (EDT)
From: David E Wright
To: Octave Help List
Subject: user functions
Message-Id:
Mime-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
content-length: 285
Sender: help-octave-request@che.utexas.edu
Hello
If I edit an m-file AFTER I've already called it, then call it
again AFTER the edit, Octave is'nt seeing the changes I've made. How can
I force a reload of the m-file?
Regards,
David E. Wright The University of Akron, Akron, Ohio, USA
From help-octave-request@che.utexas.edu Thu Apr 27 22:41:14 1995
Received: (daemon@localhost) by bullwinkle.che.utexas.edu (8.6.10/8.6) id WAA39863 for help-octave-outgoing; Thu, 27 Apr 1995 22:40:57 GMT
Received: from schoch.che.utexas.edu (schoch.che.utexas.edu [128.83.162.82]) by bullwinkle.che.utexas.edu (8.6.10/8.6) with ESMTP id RAA52658 for ; Thu, 27 Apr 1995 17:40:56 -0500
Received: from localhost (jwe@localhost) by schoch.che.utexas.edu (8.6.10/8.6) with SMTP id RAA17322; Thu, 27 Apr 1995 17:40:50 -0500
Message-Id: <199504272240.RAA17322@schoch.che.utexas.edu>
To: David E Wright
cc: Octave Help List
Subject: Re: user functions
In-reply-to: Your message of Thu, 27 Apr 95 18:11:27 EDT
Date: Thu, 27 Apr 95 17:40:47 EDT
From: John Eaton
Sender: help-octave-request@che.utexas.edu
David E Wright wrote:
: If I edit an m-file AFTER I've already called it, then call it
: again AFTER the edit, Octave is'nt seeing the changes I've made. How can
: I force a reload of the m-file?
This works correctly for me.
Octave recompiles functions from M-files if the timestamp on the
M-file is more recent than the last time the function was compiled.
This will fail to work if you are running Octave on one system but
your M-file is stored on another and the system clocks are not
synchronized. If this is not the problem, please try to find out what
is happening and send a full bug report to bug-octave@che.utexas.edu.
Thanks,
jwe
From help-octave-request@che.utexas.edu Sat Apr 29 03:20:51 1995
Received: (daemon@localhost) by bullwinkle.che.utexas.edu (8.6.10/8.6) id DAA51854 for help-octave-outgoing; Sat, 29 Apr 1995 03:19:08 GMT
Received: from schoch.che.utexas.edu (schoch.che.utexas.edu [128.83.162.82]) by bullwinkle.che.utexas.edu (8.6.10/8.6) with ESMTP id WAA19849 for ; Fri, 28 Apr 1995 22:19:07 -0500
Received: from localhost (jwe@localhost) by schoch.che.utexas.edu (8.6.10/8.6) with SMTP id WAA29476; Fri, 28 Apr 1995 22:18:33 -0500
Message-Id: <199504290318.WAA29476@schoch.che.utexas.edu>
To: leus@gaserv.fhp.fgan.de (Ludger Leushacke)
cc: help-octave@che.utexas.edu
Subject: Re: octave memory allocation problem ?
In-reply-to: Your message of Wed, 19 Apr 95 13:31:14 GMT
Date: Fri, 28 Apr 95 22:18:32 EDT
From: John Eaton
Sender: help-octave-request@che.utexas.edu
leus@gaserv.fhp.fgan.de (Ludger Leushacke) wrote:
: There seems to be a memory problem within octave.
: Octave claims more and more memory, even if no new variables are created!
: Main problem: memory of old variables doesn't get reused. For each assignment
: new memory is allocated, the old mem never get free.
I don't think what you describe below is actually a memory leak.
: Example:
: silly m-function halfs the input values:
: ----------------------------
: function h=half(x)
:
: h=x*0.5;
: ----------------------------
:
: Starting octave and looking at the program size (with ps -l) gives:
: $ octave
:
: F UID PID PPID PRI NI SIZE RSS WCHAN STAT TTY TIME COMMAND
: 0 127 2930 164 1 0 2679 1088 189c1f S pp2 0:00 octave
:
: octave:1> x=rand(300);
:
: 0 127 2930 164 9 0 3383 1840 189c1f S pp2 0:01 octave
Octave has grown by ~700k (300*300*8 bytes for the random matrix + a
few bytes for parsing and evaluating the command).
: octave:2> y1=half(x);
:
: 0 127 2930 164 7 0 4131 2588 189c1f S pp2 0:01 octave
This takes another 700k to create the new matrix y1.
: octave:3> y2=half(x);
:
: 0 127 2930 164 7 0 4835 3292 189c1f S pp2 0:01 octave
Likewise, to create y2.
: octave:4> y1=half(y2);
:
: 0 127 2930 164 9 0 5539 3996 189c1f S pp2 0:02 octave
:
: The last statement (4) uses existing variables and therefore the
: size shoudn't increase.
This would be true if Octave freed the memory in y1 before evaluating
half (y2), but that's not the way things work. Instead, the right
hand side is evaluated (which is in this case causes Octave to grow
because there is no suitable chunk of memory available to reuse) and
then it is assigned to y1. After that assignment happens, there will
be a block of memory available, so another statement like
y1 = rand (300);
or
y1 = half (x);
should not cause Octave to grow. However, something like
y1 = rand (400);
might (and probably will, in most cases) cause Octave to grow because
malloc might not be able to reuse the old 700k chunk of memory that's
available.
Octave evaluates the right hand side first and then assigns the value
to the left hand side so that the value on the left hand side is
preserved if an error occurs during the evaluation of the right hand
side. I like this feature, but if there is some good reason for not
doing this, I will consider changing it.
jwe
From help-octave-request@che.utexas.edu Sat Apr 29 15:46:59 1995
Received: (daemon@localhost) by bullwinkle.che.utexas.edu (8.6.10/8.6) id PAA12796 for help-octave-outgoing; Sat, 29 Apr 1995 15:46:16 GMT
Received: from nessie.mcc.ac.uk (pp@nessie.mcc.ac.uk [130.88.200.20]) by bullwinkle.che.utexas.edu (8.6.10/8.6) with ESMTP id KAA14583; Sat, 29 Apr 1995 10:46:15 -0500
Received: from Tedistan.annex.umist.ac.uk by nessie.mcc.ac.uk with SMTP (PP);
Sat, 29 Apr 1995 16:45:45 +0100
Message-Id:
From: Ted.Harding@nessie.mcc.ac.uk (Ted Harding)
Subject: Re: octave memory allocation problem ?
To: jwe@che.utexas.edu (John Eaton)
Date: Sat, 29 Apr 1995 16:32:37 +0200 (BST)
Cc: help-octave@che.utexas.edu
In-Reply-To: <199504290318.WAA29476@schoch.che.utexas.edu> from "John Eaton" at Apr 28, 95 10:18:32 pm
X-Mailer: ELM [version 2.4 PL23]
Content-Type: text
Content-Length: 823
Sender: help-octave-request@che.utexas.edu
( Re Message From: John Eaton )
> Octave evaluates the right hand side first and then assigns the value
> to the left hand side so that the value on the left hand side is
> preserved if an error occurs during the evaluation of the right hand
> side. I like this feature, but if there is some good reason for not
> doing this, I will consider changing it.
>
> jwe
>
John:
You're not the only one who likes this feature. If "y = fn(X,y)" is
taking part in an iterative convergence scheme, it's very handy
that you don't have to trap all possible errors inside "fn" and
have to arrange to "return" the input value of "y" in case something
falls over inside "fn". Unless there are very strong reasons to the
contrary, please don't change this.
Thanks,
Ted. (Ted.Harding@nessie.mcc.ac.uk)
From help-octave-request@che.utexas.edu Sun Apr 30 18:43:50 1995
Received: (daemon@localhost) by bullwinkle.che.utexas.edu (8.6.10/8.6) id SAA55990 for help-octave-outgoing; Sun, 30 Apr 1995 18:41:08 GMT
Received: from post-ofc03.srv.cis.pitt.edu (root@post-ofc03.srv.cis.pitt.edu [136.142.185.39]) by bullwinkle.che.utexas.edu (8.6.10/8.6) with ESMTP id NAA29617 for ; Sun, 30 Apr 1995 13:41:07 -0500
Received: from local (root@localhost)
by post-ofc03.srv.cis.pitt.edu (8.6.10/cispo-q $Revision: 1.4 $)
ID for help-octave@che.utexas.edu;
Sun, 30 Apr 1995 14:41:07 -0400
Received: via switchmail; Sun, 30 Apr 1995 14:41:07 -0400 (EDT)
Received: from shadow-blue.cis.pitt.edu via qmail
ID ;
Sun, 30 Apr 1995 14:40:16 -0400 (EDT)
Received: from ehdup-e-12.rmt.net.pitt.edu (ehdup-e-12.rmt.net.pitt.edu [136.142.20.102])
by shadow-blue.cis.pitt.edu with SMTP (8.6.10/cispop $Revision: 1.6 $)
ID for ;
Sun, 30 Apr 1995 14:39:59 -0400
Received: by ehdup-e-12.rmt.net.pitt.edu (IBM OS/2 SENDMAIL VERSION 1.3.13B/1.0um) id AA0031; Sun, 30 Apr 95 14:41:35 -0700
Message-Id: <9504302141.AA0031@ehdup-e-12.rmt.net.pitt.edu>
Mime-Version: 1.0
Date: Sun, 30 Apr 95 14:05:20 -0400
From: wkim+@pitt.edu
To: "Octave Users"
Reply-To: wkim+@pitt.edu
Subject: Performance: Octave vs. Matlab
X-Mailer: Ultimedia Mail/2 Lite, IBM T. J. Watson Research Center
Content-Type: text/plain; charset="US-ASCII"
Content-Id: <27_67_1_799265121>
Content-Transfer-Encoding: 7Bit
Content-Description:
Sender: help-octave-request@che.utexas.edu
Hi, I'm new to this list.
A few days ago, I got an OS/2 version of octave 1.1 and it was quite
good. However, after giving a few tests, I found it very slower than
Matlab for Windows. About 3 times slower on a P90. I failed to find
a doc that mentioned about performance issue to see if I could boost
Octave's performance.
A free software can be slower or faster than a commercial product,
but 3X slower speed was too big for me to understand.
(I suspect that the OS/2 port might not be optimized when compiling.)
With such slow speed, I doubt I would use octave in a real application.
Maybe I missed something as I don't yet know octave enough.
I want your comments. Thanks.
//--------------------------------------------------------------------
// Wonkoo Kim
// wkim+@pitt.edu