Graphmatica Changelog

What's new in Graphmatica 2.4b

Jul 26, 2017
  • Bug fix:
  • Fixed printed graphs to be the correct width. They were inadvertently being scaled up to printer resolution twice!
  • New feature:
  • Added "Transparent background" option to Export Graphs PNG dialog box.

New in Graphmatica 2.4 (Dec 2, 2014)

  • New/improved features:
  • Curves are now highlighted as you mouse over them or select them in the equation list.
  • Added Pick Line Style to the context menu for equations, allowing you to choose from solid, dashed, dotted, and dash-dot line styles.
  • Fixed-increment Cartesian, polar, and parametric graphs (i.e. with the step rate specified as a third parameter in the domain) now display as a series of points; point tables are aligned to display the same values.
  • The parser now accepts functions run together with a single-variable parameter, e.g. y=logx.
  • Added support for specifying powers of functions before the parameter e.g. y=sin^2x or y=cos²x
  • Any equation/inequality that is explicitly specified as x=f(y) is now graphed as a function of y, even if it can be solved for y instead.
  • Bug fixes:
  • Fixed bug which could cause graphs to be drawn slightly past the end of their specified domain.
  • Find All Graphs now adjusts the range based only on the requested domain of the equations (rather than the maximum possible values that would be visible on the screen with an unrestricted domain).
  • Selection highlighting now uses a dark transparent overlay (instead of a hard to see white overlay) for bright colors other than pure white.
  • Fixed a number of issues with graphing inequalities like x < 1/y, where it is important to evaluate asymptotes as a function of y instead of x.
  • Fixed a problem which caused ODEs (and implicit Cartesian functions) to fail to register (and later disappear) when evaluation failed due to a non-fatal error (overflow, out of domain, etc.). They now just stop drawing at that point.
  • Eliminated extra vertical asymptote drawn as part of y=acot x.
  • Fixed cubert(x) function to be defined for x < 0.

New in Graphmatica 2.3b (Mar 27, 2014)

  • Differentiable single-variable equations/inequalities (e.g. 1/x - 2 > 0) are now solved and rendered more accurately by a new algorithm that uses Newton's method to find all of the potential solutions and boundaries.
  • Improved display of equation parsing errors to indicate the position of the problem where applicable. The error is displayed in a balloon tooltip (Windows) or popover (Mac/iOS) and you no longer need to dismiss it in order to edit your equation. In addition, the problem area of the equation is selected for you and the bubble "points to" the selection in order to help you identify what's wrong with your equation or function definition.
  • Fixed crash when computing critical points for equations containing an expression like "x+0".
  • Fixed a number of issues with displaying "holes" in graphs and the Find Critical Points dialog box.
  • [Windows only] Improved error reporting when Paste Data Plot fails due to invalid / unavailable clipboard data.

New in Graphmatica 2.3 (Feb 12, 2014)

  • overhauls graph rendering and adds the ability to export graphs to image files in the popular JPEG and PNG formats
  • supports all modern 32-bit and 64-bit platforms

New in Graphmatica 2.2e (Nov 21, 2013)

  • Fixed some cases where the screen did not refresh immediately due to changes to reduce flicker in 2.2d
  • Enhanced Paste Data Plot to accept cells with numbers formatted as currency or percent (all symbols are dropped, but the correct decimal value is preserved) and rows with Unix or Mac (instead of DOS) line endings
  • Fixed issues with merging graph documents on load
  • Data Plot window is now hidden by default when loading a graph document with no data plots
  • Fixed redraw of domain end-caps on curves that use the free variable 'a'

New in Graphmatica 2.2d (Nov 21, 2013)

  • Reworked screen painting on Windows to reduce flickering when scrolling the grid or zooming in and out quickly
  • Added Logarithmic function curve fitting option
  • The Exponential curve fitting option now formats equations as y = a b^x
  • The Find All Graphs feature now includes data plots in its search for portions of curves that are not currently visible

New in Graphmatica 2.2c (Nov 21, 2013)

  • Fixed an infinite loop in calculating point tables for domains starting at x >= 10000
  • Curve fit equations now display R² (coefficient of determination) instead of r for non-linear fits to avoid confusion
  • Demo files now install in and default document open/save folder is preset to "My Documents\Graphmatica" to help avoid issues where newer versions of Windows won't let you save data under "Program Files"
  • Fixed issue with y=ln x not displaying for certain grid ranges due to prior fix for CPU spin on certain graphs on log paper

New in Graphmatica 2.2b (Nov 21, 2013)

  • Corrected domain specifications in one more demo file and a help page
  • XP-style common controls are now loaded on 64-bit versions of Windows
  • The installer is now digitally signed to verify that you have downloaded an authentic version of the program

New in Graphmatica 2.2a (Nov 21, 2013)

  • Fixed domains in some of the demo files to be parseable when the decimal separator is set to ','
  • Improved rendering of graphs with highly-vertical segments (including any graph that crosses y=0) when using logarithmic graph paper

New in Graphmatica 2.2 (Sep 29, 2012)

  • The Windows version is now compiled with Unicode support. This means you can use both Greek and Roman characters (as well as an extended set of superscript exponents, subscripts, and mathematical operations) as you like in annotations, graph titles, and equations--provided you have selected compatible fonts. You can also share such files with Graphmatica for Mac OS X (which has always used Unicode).
  • Added special characters tool dialog to Windows version to make it easier to enter Greek letters, super- and subscript numerals, and authentic math operators like times sign and division without using Character Map or memorizing keycodes.
  • Added support for Greek letters and subscripts in function and constant names. (So you can now define constants as the single letters α, β, etc. and use the Greek letter π instead of Roman "p" or "pi".)
  • The sum and gamma/gammaln functions can now also be specified using the Greek capital letters Σ and Γ, respectively.
  • The functions and Constants dialog now properly prohibits you from defining inaccessible duplicate functions (or redefining built-in functions or constants) whose names differ only by the case of Latin letters used. Also, semantic errors in functions (missing operand, parentheses mismatch, etc.) are now reported when you first enter the function definition, rather than when an equation referencing the function is evaluated.
  • Fixed bugs introduced in 2.1 preventing ODE systems from graphing and impeding use of the sum() function without explicitly defining the domain of the index variable n.
  • The alternate-notation ODE system variables x1…x4 and dx1…dx4 can now be specified using Unicode subscripts instead of plain numerals (i.e. x₁…x₄).
  • Open-ended domains for Cartesian equations can now be specified explicitly using the Unicode "infinity" symbol (∞) instead of just leaving that part of the domain specification blank.
  • Fixed potential crash on deleting piecewise-defined equations.
  • Fixed crash on graphing y=1/|x|.

New in Graphmatica 2.1a (Sep 20, 2012)

  • Fixed bug preventing the last open/save directory from being recorded properly if the new directory name was shorter than the old one.
  • Documents that contain annotations are no longer inadvertently marked "needs to be saved" on load.
  • Support for loading UTF-8 encoded documents saved by the forthcoming Graphmatica version 2.2 for Windows.

New in Graphmatica 2.1 (Sep 7, 2012)

  • Added sign() (-1 for negative, 0 for 0, or 1 for positive arguments) and truncate() (round towards zero) functions.
  • On Windows, the toolbar buttons no longer flash off and on for graphs that finish drawing faster than human reaction time would allow them to be canceled anyway.
  • Added support for Alt+scroll wheel to zoom in/out focused on the point under the crosshairs.
  • You can now drag the grid surface around using the middle mouse button.
  • Added Lagrange polynomial interpolation to Curve Fit options.
  • Copy Tables now works for Data Plots as well as Point Tables.
  • Domains can now be specified using interval notation to indicate whether the curve includes or excludes the ends of the domain. Equations using this domain syntax are drawn with an open or closed circle at the ends of the curve as a visual indication. For instance
  • y = cos x {x: (0, 2p] }
  • graphs from zero (exclusive) to 2 pi (inclusive).
  • Cartesian and polar equations can now be specified as piecewise single- valued functions using multiple clauses with non-overlapping domains. For example, try
  • y = -x { (, 0)} ; y = x^2 {[0, )}
  • y = -1 {(,0)} ; y = 0 {[0,0]} ; y = 1 { (0,)}
  • r = t { [0,1]} ; r = t^2 {(1,)}
  • Added ability to define named constants (zero-argument functions) in the Functions dialog box, and reference them in equations without any trailing parentheses. For instance, if you define "halfpi=pi/2" then the equation "y=cos(x-halfpi)" will graph a sine curve.
  • Selected special mathematical characters are now supported by the parser to enable more seamless copy/paste of equations found on web pages, etc. These include superscript 2 and 3 (for "squared" and "cubed") and alternative notation for multiplication and division.
  • Added option to include point tables in printed output.
  • Improved reliability of graphing implicit functions on large-scale grids (> 100 units across).
  • Improved point table output for ODEs (and implicit functions graphed as ODEs).
  • Added Danish localization for program text to Mac OS X version.

New in Graphmatica 2.0i (May 28, 2012)

  • Fixed a bug which caused certain inequalities involving absolute values to shade an incorrect region.
  • Added support for evaluating sequences and converging infinite series. Specify the series as the parameter of the sum() function and optionally provide a domain for the index variable n.
  • Added support for calling user-defined functions without parentheses around the function parameter.
  • Added support for using ";" instead of "," as the separator for parts of a domain specification, to make it easier to enter decimal domains in locales that use "," as the decimal separator.
  • Added Pick Graph Color popup menu to the context menu displayed when you right-click on a curve.
  • Otherwise-continuous graphs with undefined "holes" due to division by zero are now drawn with an open circle around the missing point(s).
  • Added support for entering simple Cartesian functions in the form "f(x)=x^2" instead of "y=x^2".
  • Fixed bug 68: Graph of x=abs(y^2) incomplete.
  • AutoRange now works for Cartesian inequalities as well as equations.
  • Point tables now show x-coordinates as multiples of pi when trig graph paper is selected (using the Greek letter pi).
  • Point tables refresh automatically when changing between trig and normal graph paper or when changing the tables increment or decimal places.
  • Point tables row height scales up appropriately for larger font sizes.
  • Duplicate initial values are now culled to produce sharper graphs more quickly for some complicated implicit functions.
  • Coordinate cursor now indicates when the cursor is over a critical point.
  • Character set conversion is now handled properly when transferring files between Mac OS X/iOS and Windows versions.

New in Graphmatica 2.0h (Dec 15, 2011)

  • Improved visibility of single-point equations. Fixed "bad pointlist fetch" error that could occur when moving the mouse over them, too.
  • Disabled scrolling of point tables windows when drawing graphs; this speeds things up tremendously when using a very small custom increment.
  • Fixed bug which caused point evaluate results to show below many blank rows in the point tables if used immediately after clearing the tables.
  • Ensured that equations involving sqrt(f(y)) are evaluated over the correct domain.
  • Added support for fixed-increment (Cartesian and polar) graphs with the step rate specified in the domain. e.g. r = 2 {0, 2p, p/3} draws a hexagon
  • Fixed various bugs discovered during Mac OS X port:
  • Color-coded equation list printed wrong color for strict inequalities
  • Integal dialog closed instead of Tangent line dialog when equation for tangent line was deleted or hidden
  • Possible memory corruption after drawing equation with no points on screen
  • Possible random line drawing when grid range is changed so that tangent line is no longer visible
  • potential assertion failure due to "locked-on" equation not being cleared when equation deleted or new document loaded
  • Coefficients in curve-fit equations and large numbers in reloaded data plots are now computed/displayed with the number of significant figures specified in the Point Tables "Decimal places in calculated output" setting. This prevents equations potentially much worse than what the Levenberg-Marquardt algorithm actually found (due to rounding to 2 sig figs) from being shown as the result for certain exponential/logistic form fits.

New in Graphmatica 2.0g (Oct 26, 2009)

  • Increased the maximum number of decimal places for point tables and other numerical calculations from 8 to 14.
  • Curve-fit equations now show the correlation coefficient "r" in addition to chi^2 value to help judge the quality of the fit.
  • Fixed crash on startup on some versions of Wine on Linux.
  • Derivative equations including the constant "pi" show "pi" instead of "p".
  • Improved formatting of derivatives of complicated equations by combining common terms and removing redundant terms in more cases.
  • Added the ability to customize the font used for printing equation lists. Also, fixed an issue where the default font on some printers was too small to be readable.
  • Fixed Point Evaluate processing of implicit functions with multiple solutions for a given x value; now, up to 5 y values are displayed.
  • Improved the accuracy of tangent line calculations for implicit functions.

New in Graphmatica 2.0f (Oct 26, 2009)

  • Fixed infinite loop parsing comma operator in domains and 2-variable functions when decimal separator is also set to ",".
  • Fixed crash graphing equations with free variables that have no on-screen solutions.
  • Added independently-settable font for bottom labels.
  • Graphs are now recalculated automatically upon changing the Theta Range.
  • The fraction characters ¼, ½, and ¾ are now accepted in place of normal decimals (before they could cause an infinite loop in the equation parser).
  • The custom increment for point table spacing now works for polar graphs as well as cartesian and parametric.
  • Switched from WinHelp to HTML help format, which is supported on Vista.

New in Graphmatica 2.0e (Oct 26, 2009)

  • Added 2 more free variables, j and k, to make it easier to parameterize complicated equations.
  • Fixed crash graphing ODEs that had their highest differential raised to an even power, e.g. dy^2 = x.
  • Added Heaviside step function: h(x) = 0, for x < 0, 1/2 for x = 0, 1 for x > 0
  • Fixed bug which prevented the grid from being resized automatically when the equation editor or status bar font size was changed. Also fixed a slight miscalculation which caused the status bar to overlap the bottom of the graph window a bit under some circumstances.
  • Fixed bug in version 2.0d that sometimes caused equations for derivatives to become garbled.
  • Added floor() (synonym for int()) and ceiling() functions. Added support for |x| in place of abs(x).
  • Added mod operator (or %, your choice) to support modulo division.
  • Added support for 2-variable functions, including min and max.
  • Fixed another inequality shading problem, this time with curves that are steep near a discontinuity, like y >= sqrt(5x-1)-2.
  • Improved handling of point tables with small increments/large numbers of points. However, there is still a 1000-point limit.
  • Fixed bug in 2.0d which prevented changing the name of a data plot.
  • Tweaked curve-fitting algorithm to run for more iterations by default, so data sets with exact solutions don't end up with extra junk terms in them (e.g. y = 2x+2.1*10^-5).
  • Added support for solving single-variable equations (and inequalities) with 2 solutions, e.g. x^2-x=6 or x > 6/x
  • Added support for labels along the bottom of the grid (not just the top).
  • Fixed bug which caused annotations to print at unreadably small size.
  • Fixed bug in 2.0d which caused Copy Graphs (Color) to use default color scheme instead of alternate pre-defined color scheme.

New in Graphmatica 2.0d (Oct 26, 2009)

  • Fixed bug that prevented changes to the state of the labels from taking effect immediately when changed via the dialog box.
  • Fixed an infinte loop when graphing on base-10 log paper with the Point Tables on.
  • Added Unicode support to allow for more East Asian language translations.
  • Added a number of new checks to make sure you are reminded to save your work on closing a file after making changes other than adding/removing equations.
  • Fixed implicit function graphing to not display incorrect graphs when given an equation with no solution.
  • Fixed reload of strict inequalities so the redrawn curve has the same color and dashed pattern as when originally graphed.
  • Improved detection of discontinuous functions like x=(-3)^y
  • Fixed crash attempting to change fonts when no printer was installed.
  • On Windows XP, the program automatically uses the new XP look-and-feel; you no longer need to copy the Graphmatica.exe.manifest file manually.

New in Graphmatica 2.0c (Oct 26, 2009)

  • Mouse wheel support added to graph surface and grid control. On the graph surface, Shift+wheel scrolls left-right and Ctrl+wheel zooms in and out.
  • Fixed bug that prevented you from specifying values for free variables when they were used in an equation only through a user-defined function.
  • Fixed intermittent errors shading inequalities like "abs x - abs y > 3" and "x^2-y^2 < 6".
  • Fixed an issue which caused parts of circles/ellipses to disappear when the horizontal axis through them was too close to the edge of the screen.
  • Added option to shade the inverse of the solution for inequalities.
  • Added Options button to Integrate Curve dialog box and fixed refresh of integral on screen when you change the integration options.

New in Graphmatica 2.0b (Oct 26, 2009)

  • Fixed crash using AutoRange when ODE flow fields are on screen.
  • Cleaned up documentation errata due to switch to tabbed dialog boxes (no View/Colors menu anymore, for instance)
  • Added "power function" y = ax^b to equation types available for curve fit.
  • Fixed crash on Paste Data Plot when the Data Plot Editor was not open.

New in Graphmatica 2.0a (Oct 26, 2009)

  • Fixed handling of y = (1/a)^x {a: 1,3,1}. This graph was incorrectly being tagged as a discontinous function.
  • Corrected references to the defunct Labels menu item in the help file.
  • Added safeguard to prevent you from choosing colors that are the same as the background in the Colors dialog box.
  • Fixed the Set Initial Value menu item for systems of ODEs and second- order and higher equations.
  • Size of dots on dotted grid is now dependent on gridlinewidth parameter.
  • Fixed crash loading data plot on startup.