en fr

Disponible uniquement en anglais

Sysquake Release Notes

SysQuake 2.3

LME

LMELapack

Longint

Extensions

Libraries

SysQuake

SysQuake (Windows)

SysQuake (Mac)

SysQuake LE (Mac)

SQ files

Sysquake 2.2.3

SysQuake

SysQuake (Win)

SysQuake 2.2.2

SysQuake

SysQuake (Mac)

LME

Libraries

SQ files

Sysquake 2.2.1

SysQuake

LME

Libraries

Sysquake 2.2

SysQuake

SysQuake (Mac)

LME

LME (Mac)

SQ files

Libraries

Sysquake 2.1

SysQuake

SysQuake (Mac)

SysQuake (Windows)

LME

Libraries

SQ files

Sysquake 2.0

SysQuake

SysQuake (Mac)

SysQuake (Windows)

SysQuake LE (Windows)

LME

Extensions

SQ files

SysQuake LE

Sysquake 1.3.1

SysQuake (Windows)

Sysquake 1.3

SysQuake

SysQuake (Mac)

SysQuake (Windows)

LME

SQ files

Sysquake 1.2

SysQuake

SysQuake (Mac)

SysQuake (Windows)

SysQuake Standard Extensions

SysQuake Demo

SysQuake Demo (Mac)

LME

SQ files

Sysquake 1.1.1

Viewer and demonstrator only.

SysQuake

SysQuake (Windows)

SysQuake Demo (Windows)

LME

SysQuake Viewer (Windows)

SQ Signer 1.0.1 (Mac)

Sysquake 1.1b

SysQuake demonstrator for Mac only.

  • undefined scale could sometimes lead to a crash; fixed
  • SQ files embedded in the application, available in an Open submenu
  • in the last alerts, dialog to go to www.calerga.com

    Sysquake 1.1a

    Mac only.

    SysQuake (Mac)

    • weak link for Navigation services

    Sysquake 1.1

    SysQuake

    • multiple styles for circle
    • command "dumpvar" didn't encode backslashes in strings; fixed
    • improved rendering speed for images
    • horizontal white lines might occur in images; fixed
    • command "image" accepts the style '1' for bilinear interpolation
    • when a mouseover handler has output arguments different from _cursor and _msg, they are set (without a new undo level) and the figure is redrawn
    • mouseout handler
    • logarithmic scales were limited to a range of 1e3; now it is 1e9
    • option for enabling p-code optimization
    • Nyquist diagram of systems with integrators had sometimes a line across the figure; fixed

    SysQuake (Mac)

    • Open, Save, EPS Size, Path, Memory, and settings dialog boxes are now movable
    • automatic memory expansion didn't always work, even when it should have been possible; fixed
    • better style '*'
    • the SysQuake Help menu entry was disabled after the first dialog box; fixed
    • occasional bus errors under Mac OS 9; fixed

    SysQuake Viewer

    • Undo/Redo

    SysQuake Viewer (Linux/Xlib)

    • first prereleases

    LME

    • catch didn't always work correctly inside for, from the command-line interface or in an eval; fixed
    • sub2ind, ind2sub
    • in strings, \uxxxx, where x is an hexadecimal digit, can be used to encode a 16-bit unicode character (no other unicode support yet)
    • v(logical,index) and v(index,logical) are now supported
    • v(logical,logical)=... now defines and expands v when needed
    • cond
    • intermediate code optimization
    • ranges with infinite bounds didn't always yield an error; fixed

    SQ files

    • GPC.sq: the first subplot was initially empty; fixed
    • image.sq: 6-bit base64 encoding for smaller files
    • new triangul.sq for triangulation and Voronoi diagrams

    Sysquake 1.0.1

    SysQuake

    • mouseup handlers weren't called when no mousedrag was defined; fixed
    • dialog boxes re-enabled suspended idle handlers; fixed

    SysQuake Register (Mac)

    • end of lines were mixed CR and LF; fixed (only CR)

    SysQuake Signer Register

    • no more info for multiple licenses in dialog boxes

    SysQuake Register (Windows)

    • the data to be sent to the license issuer wasn't displayed; fixed

    LME

    • large output arguments could lead to an uncatched stack overflow and possibly to a crash; fixed (the overflow is catched)

    Sysquake 1.0

    SysQuake

    • dumpvar might write '...' at the wrong place with large matrices (e.g. dumpvar([[22;2],ones(2,34)]) ); fixed
    • EPS files have native end of lines (CR for Mac, CRLF for Windows) instead of line feeds
    • EPS files have the comment '%%EndComments' after the PS structuring comments

    LME

    • continue didn't always work correctly; fixed

    SQ files

    • triangle.sq hadn't worked since GM where vrow[vcol] yields a row vector; fixed

    Sysquake GM

    SysQuake (Mac)

    • large amount of data can now be pasted to the command line

    SysQuake (Windows)

    • splash box isn't displayed when an SQ file is opened
    • when the SQ file referenced by an SQD file was not found, SysQuake froze; fixed
    • relative paths for SQ files referenced by SQD files weren't resolved correctly; fixed

    SysQuake Viewer (Windows)

    • only one instance runs simultaneously
    • Reset Data didn't work correctly; fixed

    LME

    • when a number was followed by a string in sprintf and fprintf (e.g. sprintf('%d,%s',123,'abc')), the result was wrong; fixed
    • v(indices), when indices is a vector (1-by-n or n-by-1), is now a row vector if v is a row vector and a column vector if v is a column vector

    SQ files

    • relay.sq: support for systems with an integrator

    Sysquake fc2

    SysQuake

    • end of blocks (the characters @} ) weren't recognized when they were preceded by spaces or tabs; fixed
    • retrieving the title of a subplot (e.g. for a Copy) might give unexpected results or crash; fixed
    • dialog with input field and without "ok" output argument throws a cancel error if the users clicks the Cancel button, which simplifies menu handlers
    • when there was only one subplot and it was Remove'd, it wasn't really; fixed

    SysQuake (Mac)

    • polygons larger than the display area weren't always drawn correctly; fixed
    • Plot and Settings menus have been switched (more logical and compatibility with SQ for Windows)

    SysQuake (Windows)

    • system resource leak with filled polygons or disks fixed
    • most recent files inserted in the File menu
    • menu command "Handle SQ Files" (registry stuff)
    • clash between View 1x1/1x2 and Preferences submenu fixed
    • in the dialog box reporting SQ file errors, the line number was displayed twice; fixed
    • Copy and Print now align correctly the text in figures
    • transparent background for printed text
    • the initial default list of paths where SQ files are searched was separated with linefeeds, which weren't displayed correctly in the dialog box; fixed

    SysQuake Viewer

    • Select All (only the shortcut for Windows)
    • clock
    • dialog (without text field)
    • fopen/fclose/fseek/ftell (stubs; _no_ file access in SysQuake Viewer)

    SysQuake Viewer (Mac)

    • Close box to quit SysQuake Viewer

    SysQuake Viewer (Windows)

    • Reset Data menu

    SysQuake Demo (Windows)

    • no more "SysQuake Demo" in the background

    LME

    • outside the scope of brackets, spaces were discarded even between two sequences of alphanumeric characters; now this gives a syntax error
    • after the continuation characters at the end of a line (...), empty lines, spaces and tabs are ignored
    • with the format '%ns', where n is an integer, and partially consumed arrays of characters, sprintf and fprintf didn't insert the requested number of spaces; fixed
    • sprintf and fprintf now use matrix elements line-wise instead of column-wise
    • with the format '%s', sprintf and fprintf skipped empty strings; fixed
    • with two output arguments, fread and sread returned the count in the first one and the data in the second one; they've switched to correspond to the documentation and the logic

    SQ files

    • RST_dt.sq, RST_ct.sq, PID_dt.sq, and PID_cd.sq: specifications for absolute and relative damping
    • PID_dt.sq: setting the sampling time without a continuous-time model gave an error; fixed
    • taylor.sq replaced by approx.sq, with Chebyshev approximation
    • RST_dt.sq and RST_ct.sq: input and output handlers removed
    • RST_dt.sq and RST_ct.sq: warning when setting a system transfer function which doesn't permit pole placement with the current controller degree removed
    • RST_dt.sq: when the degree of the controller doesn't permit pole placement and an attempt to drag a closed-loop pole is made, dialog box to ask whether the degree of S should be changed
    • relay.sq
    • sampling.sq: new figures for the continuous-time and discrete-time poles to show how the stable region of the Laplace plane is mapped to the z plane

    Sysquake fc1

    SysQuake

    • graphics made from the command line were erased when the window was resized, and couldn't be printed; though it was intended, it's been fixed
    • when the scale of a figure with 'equal' scale was fixed and the data were saved as an SQ file, the proportions of the window was changed, and the SQD file was opened, the scale wasn't 'equal'; fixed
    • SysQuake froze when an empty SQD file (with just the initial comment pointing to its SQ file) was opened and no input handler was defined (or when an SQ file contained an empty data block); fixed
    • execution error of the expression in the function "dialog" could lead to the corruption of the stack and sometimes to a crash; fixed
    • execution error of the expression in the command dialog weren't reported correctly; fixed
    • the id of rlocus was ignored when calculating _q during a mouse drag, which prevented from having more than one rlocus in the same figure; fixed (you should make sure that the id of rlocus is the same as the id of the corresponding plotroots, as explained in the doc)
    • the menu command Reset Data didn't discard the frame around previous figures which were undefined by default; fixed
    • bgrid has been renamed ngrid for compatibility with other programs
    • nichols, which used atan2 blindly even for finding the phase of G(j*inf)=0, gave a phase of 0 even if the limit phase was -pi; fixed
    • with strictly proper TF, commands like nichols, whose magnitude ended at 0, had problems to display it with a logarithmic or decibel scale; fixed
    • when full grid is on, ngrid displays the the lines corresponding to a close-loop magnitude of -12, -6, -3, 0, 3, 6 and 12 dB
    • much better rlocus
    • out-of-memory conditions were not always correctly detected when a large SQ or SQD file was loaded; fixed
    • the interruption key (Command-. on Mac or the space bar on Windows) is now reported as an error with the function name and line number
    • default scale for rlocus, based on the zeros of num and den
    • in EPS files, fill replaced by eofill for a better match with current graphical engines found on Mac and Windows
    • in EPS files, color is now supported for lines, filled objects and images
    • in EPS files, stars ('*') are now supported

    SysQuake (Mac)

    • when SysQuake was run for the first time, the default paths for SQ files and the default size for EPS files were set to garbage values; fixed

    SysQuake Viewer (Mac)

    • Reset Data didn't work; fixed

    SysQuake (Windows)

    • the background of text was white in graphics; now it's transparent

    LME

    • atanh(x) with real x and abs(x) > 1 was wrong; fixed
    • more robust roots (better handling of poor convergence cases)
    • optional + in the format string of fprintf ans sprintf to add a plus sign in front of positive numbers
    • for testing logical values in functions like and, or, and find, IEEE arithmetic was assumed even on platform which have a broken implementation, which gave inconsistent results with nan; fixed (values x such that x != 0 are consisedered as true; hence 1, -1, eps/10, j, inf, and nan are all true, and 0 is false)
    • if, elseif and while now take the imaginary part of complex numbers into account for consistency with boolean operators and functions
    • char, filter, fprintf, and sprintf didn't check they got enough input arguments, which could lead to a crash; fixed
    • empty functions without any argument ("function foo" followed by another function) weren't decoded correctly; fixed
    • unexpected function headers (e.g. the keyword "function" typed at the command line) gave the error message 'undefined function "function"'; a new error message 'Unexpected function header' has been added for that case
    • compilation errors (syntax errors etc.) in expressions typed at the command line) sometimes reported additional garbage; fixed

    SQ files

    • convolution.sq
    • image.sq: better boundary conditions for low-pass filter
    • image.sq: input and output handlers for smaller sqd files
    • ARW.sq: bug with systems with more than one pole and no zero fixed
    • GPC.sq: menu entries for the system and the input weight
    • demogr.sq: when manipulating the sliders which change the fertility and the ratio of girls, the corresponding time it takes for the population to double in size in displayed in the status bar
    • id_np.sq: Read Data File to read experimental data from a text file
    • taylor.sq

    Sysquake beta 9

    SysQuake

    • EPS output restored
    • EPS width and height are remembered
    • EPS raster graphics (result of image and erlocus) and text (result of text and slider) have been fixed
    • in EPS files, line cap and join are set to 1
    • the feature flags of the serial number (seventh character) are made available to the extensions
    • _cursor to give hints about what can be manipulated
    • columns of text are wider if there is enough space
    • hand cursor in manipulation mode
    • the cursor must be in a radius of 20 pixels around the object to be manipulated (instead of 50 pixels in previous releases)
    • cursor set to plain arrow in the inactive region of a figure with sliders
    • filled polygons with the 'f' style
    • after a Copy, the position of the subplots were incorrect; fixed
    • unsupported clc (clear command window) for (Mac)
    • movepole with a second output argument

    SysQuake (Mac)

    • when loading an SQ file required more memory, memory was expanded, but a crash occured the next time some LME code was evaluated; fixed

    SysQuake (Windows)

    • Save As always saved as an SQ file, even when the extension was .sqd; fixed
    • when an error occured in the mousedrag handler, the mouse capture wasn't released and the user interface (menus, window borders, etc.) was blocked until a successful drag was performed; fixed
    • Page Setup enabled
    • Print Preview enabled for the command panel
    • when the command panel contained too much text, it was impossible to type commands; now the oldest text is discarded if necessary (as on the Mac)
    • after the use of the history buffer in the command panel (up or down arrow), the user was asked whether he wanted to save his work; fixed

    LME

    • fwrite wrote garbage in b8; fixed
    • fread didn't decode signed numbers correctly; fixed
    • try/catch/end, try/end, lasterr
    • break in a switch had a memory leak which could fill LME's stacks in rare occasions (such as while 1;while 1;switch 1;case 1; break; end; end; end); fixed
    • continue
    • square matrix ^ integer scalar
    • cov
    • same (true if its two arguments have the same type, size and content)
    • min and max sometimes returned nan when the an element was nan; fixed (nan's are ignored if they are compared against a number)
    • the size of the state (4th arg.) of filter wasn't checked correctly and caused an error with non-square matrix as data to be filtered (3rd arg.); fixed
    • built-in functions can now be redefined

    SysQuake Register

    • the comment "# Condidential! Do not send to anybody!" is added to the file SQ_Reg.key to reduce registration problems even further

    SysQuake Register (Mac)

    • the dialog boxes had been designed with Charcoal as the system font, which is narrower than Chicago; now more space is allocated for word wrapping for Chicago users

    SQ files

    • image.sq and image64.sq: error with "No Rotation" fixed
    • image.sq: tiff input/output
    • mpt.sq: whole feasible region, market line, beta of assets

    Sysquake beta 8

    SysQuake

    • keyboard shortcuts are disabled in demo mode
    • Reset Data reverted to the default values of the SQ file when an SQD file had been loaded; fixed
    • better rlocus (not perfect yet)
    • dynamic memory allocation (transparent expansion when needed)
    • preferences for minimum and maximum memory allocated to SysQuake
    • preferences for the path where SQ files referenced by SQD files are looked for
    • when an error occurs in the idle handler, the idle handler is disabled
    • dragging a selection around hasn't worked correctly since 1.0b6; fixed, and works smoothly with an idle handler
    • contextual menu in the figure window with the Control key held down (Mac) or with the right mouse button (Windows)
    • no more EPS file output
    • updated built-in example

    SysQuake (Mac)

    • the Open Document AppleEvent handler now returns the line number of the error in the argument 'errL'
    • fopen, fclose, fseek, ftell, getfile, putfile, and clock are built-in, not in SQ Extensions anymore (they will most probably be supported in the final release)

    SysQuake (Windows)

    • various problems when files were opened from Windows Explorer fixed
    • attempts to change the cursor when a dialog box is open are not made anymore
    • better management of the messages in the status bar
    • space bar used as an interruption key for lengthy computations
    • non-ieee arithmetic compiler is worked around to ensure correct results for isinf, isnan, comparaison operators, and output
    • registration of SQD files which can be opened from Windows Explorer
    • SysQuake runs in demo mode when not registered
    • when one tried to open an SQD file with invalid data, SysQuake sometimes displayed an incorrect file name in the message box which displayed the error; fixed
    • the contour command gave noisy level lines because of a bug of the compiler with optimization; fixed (optimization disabled for this command)

    SysQuake Viewer

    • more errors are reported

    SysQuake Viewer (Mac)

    • dynamic temporary memory allocation

    SysQuake Viewer (Windows)

    • preferences (window position and size and state of the toolbar) are saved and restored

    LME

    • -inf was displayed as inf; fixed
    • exist
    • in the command line, workspace variables couldn't be reached from an expression evaluated by eval; fixed
    • "Not implemented" message replaced by "Not supported"
    • when statements like v(...) = [] resulted in an empty array, the variable wasn't really set to [], which might give a wrong stack level when the variable was retrieved later; fixed
    • a.^b, with a < 0 and b integer, had a small but nonzero imaginary part (e.g. (-2).^3 gave -8+2.9392e-15j); now it's forced to be real
    • unique
    • sread and swrite for basic i/o from/to a string

    SQ Register

    • clearer
    • radio buttons for site licenses
    • smaller binary for Windows

    Sysquake beta 7

    SysQuake

    • the scale limits weren't always restored correctly after Redo, when loading an SQD file, or during the drag of the selected subplots; fixed
    • the vertical range given by the scale command was incorrect; fixed
    • in shift mode, the cursor was set to a hand even in a subplot containing text or sliders; fixed
    • unsupported clock function for the current date and time
    • contour
    • even when their scale was the same, selected subplots weren't always dragged or zoomed together; fixed
    • with an idle handler, graphics created from the command line were immediately erased; fixed (the idle handler is still called periodically, but no attempt to redraw the figures is made if the figure window has been cleared with clf)
    • the idle handler is officially supported
    • when the time range was very large (e.g. scale([0,inf])), dstep and dimpulse crashed; fixed (an out of memory error is produced)
    • dumpvar with an empty string produced an invalid statement such as "a=;" (this was also the case with Save or Dump Data when no subplot was defined); fixed
    • when the history buffer was full, the previous commands weren't discarded correctly; fixed
    • _msg as an output of the mousedrag or mouseover handler to display a message in the status bar
    • mouseover handler (_not_ followed by the update of the figures; should be used only to display a message in the status bar with _msg)
    • smallest labels for the figure axis
    • word wrap for large arrays in SQD files and with dumpvar (try "dumpvar('x',1:100)")
    • image with a single argument could result in an error; fixed
    • optional id for circles, which can be identified as the clicked object in mouse handlers
    • the menu entry Locked Scale wasn't always disabled when it should; fixed
    • when the subplots command defined more than 16 subplots, SysQuake crashed; fixed
    • Idle Processing menu entry to suspend idle processing
    • in dumpvar, all control characters (ASCII 0-31 and 127) are now encoded with escape sequences
    • unsupported fopen, fclose, fseek, ftell (for file i/o), getfile, putfile
    • unsupported launchurl command (with the help of Internet Config on the Mac) (may compromise the security if the user opens SQ files from people he dooesn't trust without checking them; might be removed if this proves to be a problem)
    • in SQ files, the end-of-block marker (@}) is now recognized only if there are only white spaces before it on the same line; hence SQ files generating SQ files are easier to write, because one can write fprintf(fd, '@}')
    • better nyquist and dnyquist
    • much better nichols and dnichols, especially with a logarithmic amplitude scale
    • the menu entry Locked Scale wasn't always enabled and disabled correctly; fixed
    • sensible default scale for (d)nyquist and (d)nichols with integrators
    • subplots and opening SQD files with empty subplots (such as subplots('F\t\tG')) didn't always clear the subplots correctly; fixed

    SysQuake (Mac)

    • support for more AppleEvents (print, do script, load variables, cut, copy, paste, delete, select, open accepting directly the source code of an SQ or SQD file)
    • support for extensions; the file "SQ Extensions", in the same folder as SysQuake, can contain additional commands for special needs with the same main application (currently, it contains the unsupported functions openshlib, callshlib, closeshlib, clock, fopen, fclose, fseek, ftell, and launchurl, and cannot be modified by the end user)
    • a click in the zoom box (the control at the top right of the window, not the box in the toolbar) might crash SysQuake; fixed
    • SQ files referenced by SQD files are searched successively in the same folder as the SQD file, in SysQuake's folder, in the folder "SQ files" and in the folder "SQ_files"
    • in the command window, the keys return, up, down and esc are now active even when the cursor is or the selected text spans before the prompt
    • Save was not enabled after Save As; fixed
    • When Save overwrote a larger existing file, the end of the previous file was retained; fixed
    • flashing of matching parenthesis, brackets and braces in the command window
    • when SysQuake didn't find a preference file, the plot window wasn't displayed; fixed
    • in the command window, the Enter key has now the same effect as the Return key

    SysQuake (Windows)

    • print and print preview
    • status bar for help messages
    • dialog box for the size of EPS images
    • the idle handler ran when a dialog box was displayed by a handler, which caused many problems (LME is not reentrant); fixed
    • compiled with a native compiler and debugged with a real debugger on real hardware, which is not a bad thing
    • minimum window size
    • the state of the toolbar, status bar, and command window is saved and restored
    • Splash box
    • support for extensions; the file "SQ_Ext.dll", in the same directory as SysQuake, can contain additional commands for special needs with the same main application (currently, it contains the unsupported function "hi", and cannot be modified by the end user)

    LME

    • zero-length strings returned by some commands (especially additional commands added to the core set of LME) had a size of [1,0] instead of [0,0]; fixed
    • sscanf
    • sprintf and fprintf %x and %X
    • sprintf and fprintf %s didn't take into account the number of characters to use (e.g. sprintf('%.3s', 'abcdef') gave 'abcdef' instead of 'abc'); fixed
    • conv2(a,b,'valid') always produced a column vector; fixed
    • diff with 3 arguments
    • max(real matrix, complex matrix) resulted in min(real matrix, complex matrix), and vice versa; fixed
    • '' was a 1x0 matrix instead of a 0x0 matrix; fixed
    • a string empty matrix was not displayed at all; now it is displayed as ''
    • %k and %K (string as small as possible) for sprintf and fprintf
    • bitget, bitand, bitor, bitxor, bitshift
    • improved rand and randn (rem(floor(rand*2^32),2) is now much more random), with a seed with 2x1 elements (rand('state',scalar) is still valid)
    • %g gave sometimes a fractional part with trailing zeros; fixed
    • fwrite, fread, fgets, fgetl, fscanf
    • \' in strings sometimes gave syntax errors; fixed
    • large positive and negative arguments of magic, zeros, ones, rand, and randn better handled
    • norm(M,'f') gave a Not Implemented error; now it gives a Bad Argument error
    • get and set v(predicate, predicate) is now implemented
    • more escape sequences in strings (\a, \v, \f, \xhh, \ooo)
    • numbers with an imaginary part equal to not a number ("equal" with its english meaning, not "==") were displayed without any operator between the real part and the imaginary part (e.g. 0*inf*1j -> nannanj); now "+" is inserted
    • when abs(imag(z)) < eps * abs(real(z)) (i.e. real(z) == real(z)+imag(z)), the imaginary part is not displayed
    • robuster roots algorithm
    • the comma operator used to concatenate two matrices with more than one line always gave a double matrix (e.g. [['a';'b'],['c';'d']] -> [97,99;98,100]); now it gives the same type as its first argument
    • line and column indexing with a variable containing the empty matrix [] gave an error (e.g. v=[];v(2,:)); now it gives the emty matrix
    • line and column assignement with a variable containing the empty matrix [] gave an error (e.g. v=[];v(2,:)=[]); fixed

    SysQuake Viewer (Mac)

    • zoom, zoomx and drag with the toolbar
    • Reset Data
    • initialization bug fixes

    SysQuake Student Edition

    • experimental version; same as SysQuake, but without any Save and Print, at most two subplots, minimum AppleEvents, and no extensions

    SQ files

    • RST_ct.sq and RST_dt.sq: less bugs, easier to enter fixed parts, and new menu to enter the characteristic polynomial
    • potential.sq, a new SQ file for the potential field created by electrostatic charges (demonstrates the use of image and contour)
    • gravity.sq, a new SQ file for the chaotic trajectory of an asteroid (demonstrates numerical integration with Runge-Kutta)
    • mpt.sq, a new SQ file for Modern Portfolio Theory (multiobjective rate-of-return and risk optimisation)
    • mouseover handlers in most SQ files

    Sysquake beta 6

    SysQuake

    • the first time SysQuake is launched, the command window or panel is hidden
    • the lack of init handler resulted in the error "Undefined element"; fixed (no error anymore, all variables set to [] if the init handler is not defined)
    • in the figure window, the cursor shows what can be done
    • variable _m for the shift key
    • multiple selection (hold down the shift key to add or remove subplots from the selection)
    • if one or several subplots are selected when the number of subplots is reduced, the selected subplots are preserved
    • if the selected subplots have the same scale (or x scale), zoom and drag (or zoom x and drag x) change the scale of all selected subplots
    • a cancel command in the idle handler doesn't interrupt a drag operation anymore
    • a selection rectangle was drawn in Zoom X mode when the shift key was held down; fixed
    • Undo restores the selection (but selecting a subplot doesn't add a new level in the undo buffer)
    • the grid settings were not always restored correctly after Undo or Redo; fixed
    • image
    • Automatic Scale replaced by Locked Scale, which toggles the locked and unlocked (automatic) state of the scale of selected subplots
    • root locus for polynomials whose coefficients are bounded by ellipsoids
    • axis are drawn after the content of the plot, so that the ticks are always displayed
    • new splash box
    • Save As SQ File didn't write correctly the keyword "data"; fixed
    • Select All
    • integer line vectors given to the command dialog as default values are compacted with ranges if it's worth to (e.g. with dialog(prompt, [1:5,2:3,100:1000]), the default value in the input field is [1:5,2,3,100:1000])
    • the damping and frequency parameters of sgrid and zgrid have been swapped to avoid confusion with other software
    • the command subplots reset the information about the current function and line number; if an error occured immediately after (e.g. an undefined output argument in the init handler), this information wasn't reported; fixed
    • when text was displayed after a plot which defined the scale (e.g. to display an error message), the previous axis were still displayed; now the text command resets the scale
    • sgrid(0,[]) and zgrid(1,[]) fixed
    • the Copy command destroyed without coyping the figures drawn from the command line; fixed
    • command text with three or four arguments to draw text at a specified position
    • the size of the EPS image can be entered in a dialog box before the EPS is saved

    SysQuake (Mac)

    • at startup, the Command window was brought twice to the foreground; fixed
    • a demo SQ file with limited functionality runs if SysQuake is not registered
    • a click in the toolbar wasn't always handled; fixed
    • contrary to the documentation, the mouseup handler was executed after an error (or cancel) in the mousedown or mousedrag handler; fixed
    • in the dialog box, the Esc key is handled as a click in the Cancel button, and the OK button is framed with a thick border
    • crashed when a block of text of medium size (6145-8192 characters) was written to the Command window; fixed
    • the Clear menu entry wasn't always disabled correctly; fixed
    • when not found in the SQ file, function definitions cannot be read from separate M-files anymore (this feature was never documented)
    • with an idle handler, the zoom rectangle selection is better displayed

    SysQuake (W95)

    • entry "Command Panel" in the View menu to show/hide the command panel
    • in the command line panel, a selection starting at the beginning of the current line could not be cleared with the Delete or Backspace key; fixed
    • idle handler
    • prettier symbols drawn by the plot command

    LME

    • strcmp
    • the operators ./ and .\ didn't work correctly with two complex operands; fixed
    • x.^y didn't work correctly with real x and y, x < 0; fixed
    • functions could not be accessed correctly when the memory allocated to LME was too large (!); fixed
    • find didn't return the correct result when it was used with two or three output arguments; fixed
    • the name of the variable is added to the error messages 'Variable not found' and 'Index out of range'
    • the counter of the for loop was left on the stack when a return was executed in the middle of the loop; fixed
    • null indices (e.g. x(0)) weren't detected and could lead to the corruption of the variable data; fixed
    • with commands like "a = []; a([]) = scalar" or "a = []; a([],:) = scalar", a was set to 0 instead of remaining empty; fixed
    • with commands like "a = []; a([]) = []", one of the dimensions of a was set to 1, as was shown with size and length; fixed
    • with commands like "a = []; a(:,n) = expr", a remained empty; fixed
    • commands like "a = []; a(n,:) = linevector" resulted in an error; fixed
    • expressions like "a(boolean)" resulted always in a column vector; now it's a line vector if a is a line vector
    • expressions like "reshape([],2,0)" or "repmat(matrix,2,0)" resulted in empty matrices which had one of the dimensions different than 0; fixed
    • rot90 (matrix rotation), conv2 (2-d matrix convolution), filter
    • cumsum and cumprod didn't consider line vectors as vectors; fixed (type e.g. cumsum(M,1) to make sure that sums are performed column-wise even if size(M,1)=1)
    • sum and prod didn't take the second argument into account with a line vector (e.g. sum(1:5,1) wrongly resulted in 15 instead of [1,2,3,4,5]); fixed
    • if a variable v contained the empty array [], getting the elements of v with v(:) might result in a data stack overflow error; fixed
    • in arrays, commas and semicolons are now ignored before an end-of-line
    • find(line vector) now returns a line vector
    • norm with two arguments was evaluated as diff with two arguments; fixed
    • norm(vector, 1) resulted in an error; fixed
    • setting element(s) of a variable removed the string and logical flags, if any; fixed
    • setting element(s) of an undefined variable (e.g. x(3,:)='abc') always created a numeric variable, even when the right-hand side expression was a string or a boolean; fixed
    • unknown opcodes of the internal p-code weren't reported as error; fixed
    • complex_scalar/real_scalar, real_scalar/complex_scalar, complex_scalar\real_scalar, and real_scalar\complex_scalar fixed
    • when a variable v wasn't defined, v(:) = scalar gave an error; fixed
    • extension functions (such as plot or scale in SysQuake) without a right parenthesis after the list of input arguments were partially compiled and didn't result in a syntax error; fixed

    SQ files

    • new PID_dt.sq for the design of digital PID controllers
    • new puzzle.sq and minesweeper.sq (with undo!) for less serious examples
    • PID_ct.sq: errors for the figures Discrete-Time Step Resp. Y/D and Nyquist Frequency fixed
    • new salesman.sq (optimization of the travel of a salesman) to demonstrate the use of an idle handler
    • new iupp.sq (interactive uncertain pole placement) as an illustration of the command "erlocus"
    • new image.sq (basic image filtering) as an illustration of the command "image"
    • new demogr.sq (demographic evolution) to show how other fields can also benefit from SysQuake

    Sysquake beta 5

    SysQuake

    • _x0, _y0 and _z0 were incorrect when a line (displayed with the command "line") was clicked; fixed
    • check mark in the Figure menu when a figure is selected
    • "system" block replaced by "data" block
    • .m extension replaced by .sqd (SysQuake Data) to avoid interferences with other programs
    • Reset Data (Reset System in previous versions) now reloads the data block, if any
    • when a subplot is selected, Copy copies only it
    • with the stairs style for dstep and plot, the color had to be specified before the stairs style (e.g. 'rs' instead of 'sr'); fixed
    • SQ sometimes crashed when the undo buffer was full; fixed
    • SysQuake Help in the Help menu, with a built-in example (RST_dt.sq)
    • clf can now be issued only from the command-line interface and resets one subplot which fills the plot window; the name of the previous figure (if any) is erased
    • improved display of the registration info in the About box
    • subplots and subplotprops can now be used from the command line

    SQ (Mac)

    • Copy copied a raster graphic instead of a vector graphic; fixed
    • help messages for the toolbar
    • faster scrolling when the Command window buffer is full
    • print SQ (W95)
    • darker green and cyan to compensate for the gamma of PC video system
    • the margins of the plot weren't always initialized correctly; fixed
    • output to the command-line window (such as fprintf('foo')) might return an error; fixed
    • Cut/Paste weren't disabled when the cursor or selection was located before the command prompt; fixed

    LME

    • a crash might occur when large sizes (> 2^31 elements) were requested for the functions zeros, ones, eye, rand, etc.; fixed
    • if an output argument was not defined when the function returned, but was expected by the caller, the variable name was not displayed in the error message; fixed

    SQ files

    • new id_np.sq for non-parametric identification

    Sysquake beta 4

    SysQuake

    • style 's' for stairs in plot and dstep
    • subplots can be dragged around; normal mode is to exchange the target subplot with the dragged subplot; with the modifier key, the source subplot is copied to the target
    • when the window is resized, for figures with a fixed zoom, the origin is now changed so that the center of the plot remains at the center
    • undo now restores correctly a scale in dB
    • shortcuts without the command or control key
    • improved syntax for the command slider
    • some commands (such as changing the number of subplots) performed before any SQ file was loaded made SQ crash; fixed
    • step responses are now drawn on the whole range displayed, not only for t>0
    • Drag mode (only x axis if the Shift key is hold down)
    • an invalid scale was computed when all the elements had the same x or y coordinate (such as plotroots([1,-1,0])); fixed
    • more error messages, especially when the handler declaration doesn't match the function definition
    • better and more robust axis ticks and labels (dB ticks are finally implemented)
    • when the number of subplots is changed, columns and rows are added to or removed from the right or bottom, respectively; the subplots are not packed row by row anymore
    • impulse and dimpulse
    • zoom limit (between 1/20 and 20 times the initial scale)
    • a new undo level was created when Zoom X was attempted in a figure with equal x and y scale and discarded; fixed
    • better documentation (especially SQ_into.htm and SQ_files.htm)

    SysQuake (Mac)

    • toolbar

    SysQuake Viewer

    • first releases for Mac and W95, as "helper" applications for browsers with a broken implementation of the plug-in interface of Netscape Navigator

    SQ files

    • ARW.sq, a PI + antireset windup digital controller to show the feasibility of simulating a non-linear system (and yet another cool interactive toy to understand interactively a fundamental aspect of automatic control)
    • PID_ct.sq finally working well enough to be useful

    SysQuake beta 3

    SysQuake

    • aliases of SQ files are resolved
    • slider
    • undo for the choice of subplots and scale settings
    • slightly better tick labels
    • string argument for scale
    • automatic handling of grid
    • scale with output argument
    • option-return to enter a cariage return without evaluating the command
    • less bugs (can save as SQ file multiple times, dialog with empty matrices, c2dm zoh of tf with integrators...)

    SysQuake (W95)

    • first release, with the same functionality as the Mac version

    LME

    • input arguments can be used as output arguments (e.g. function x = Abs(x); if x < 0, x = -x; end)
    • less bugs (poly of singular matrices, ...)

    SQ files

    • mup2.sq: many fixes for standard and multimodel pole placement
    • rst_ct.sq: the modification of the fixed parts of the feedback in the open-loop zeros/poles plot is fixed
    • PID_ct.sq: first draft

    SysQuake beta 2

    • default input and output handlers
    • subplotprops
    • system block and saving SQ files with system block (especially useful for the plugin)
    • _nb for the manipulated line number
    • _enable() and _checkmark() attributes for the menu entries
    • separator for the menu and figure entries
    • automatic scaling for dstep and hstep
    • _k and _sh are replaced by _ky=_y1/_y (or _q for rlocus) and _kx=_x1/_x, respectively
    • ss2tf
    • field of function dialog is not limited to 255 characters anymore
    • margin and dmargin
    • zgrid and sgrid with 2 or 3 arguments
    • the mousedrag handler is always called, even when the mouse is not moved
    • menu Close replaced by Show/Hide Command Window, and no close box for the figure window
    • SQ files are first searched in the same folder as the system file (.m), then in the folder of SQ
    • System files can be opened from the Finder
    • Save ok
    • Save As etc. use the current file name (if there is one) as a default
    • Windows are restored at more sensible places when the values retrieved in the preference file are bad (e.g. when the the size of the screen has changed)
    • EPS files fixed (ellipses, no frame around the selected subplot, clipping, text)
    • axis replaced by a frame around each subplot
    • title for each subplot
    • new icons
    • the signature of text files opened by SQ are set to SQ's
    • File/Dump System (same as Save, but to stdout)
    • clg renamed clf
    • copy

    LME

    • roots(matrix) and roots(matrix,dimension)
    • fft and ifft with optional 2nd arg. for size and 3rd arg. for the dimension the transform is performed along
    • constants true and false
    • rank, induced 2-norm and svd (with 1 output argument) of complex matrices

    SQ files

    • many improvements
    • RST_dt.sq, RST_ct.sq
    • mup2.sq

    Other

    • keys required for the plug-in
    • SQ Net Enabler for Mac
    • less bugs (dialog, manipulation when a subplot is empty, clear when there is no variable, repaint after the mouseup handler, memory leak in the plug-in, sprintf, less errors for undefined functions, no more reference to the last called function when SQ calls a function with too many arguments, sprintf %f with small numbers, out-of-memory error correctly identified for step/dstep/hstep, ...)