Graphmatica Changelog

What's new in Graphmatica 2.4.1

Apr 27, 2017
  • Fixed y=x^(-(2/3)) to be correctly identified as an even power, so it draws both sides of the graph.
  • Fixed a rare memory corruption issue in curve fitting code.
  • Fixed bug which could cause the "Guess for off-screen intersection" entered in the Find Intersection dialog box to be ignored.
  • Fixed bug which caused Find Intersection on two curves with only a single point of their domains in common to display a spurious "Cannot solve this equation using Newton's method" error. The single shared point is now evaluated to see if it is an intersection or not.
  • Adjusted associativity of implied function parameters to assume that a factor which contains another function call was meant to multiply the first function call, not the function parameter. For instance, y = sinx cosx now parses as y=(sin x)*(cos x) rather than y=sin(x*cos x). You can of course add explicit parentheses around function parameters to clarify your intent.
  • Fixed issues which could cause a fatal error graphing an equation to also corrupt memory or crash the program.
  • Fixed formatting of equations produced by Find Derivative so derivatives of tan(x) and cot(x) graph correctly on reload.
  • Changing Theta Range now redraws the affected polar graphs.

New in Graphmatica 2.4.0 (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.3.2 (Mar 29, 2014)

  • Fixed bug introduced in Find Intersection (all dependent values zero).
  • [Mac only] Fixed issues with restoring custom color schemes and persisting a switch back to the default color scheme.

New in Graphmatica 2.3.1 (Mar 26, 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 defintion.
  • 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.0 (Feb 12, 2014)

  • More colors! There are now 16 slots for graph colors and a palette of 128 possible colors to choose from.
  • Added the ability to export graphs as JPG or PNG files. See the Edit -> Export Graphs XXX menu items.
  • Printed tangent line/integral information should always reference the correct entries in the equation list now.
  • Fixed bug causing Pick graph color to change strict inequalities from dashed to solid lines.
  • Printing with "Color with White Background" selected for the Printed Color Scheme no longer changes to the standard white color scheme if you have defined a custom color scheme and the background is already white.
  • Fixed rendering of dashed lines for strict inequalities when "Draw graphs with wide lines" option is selected.

New in Graphmatica 2.2.5 (Nov 12, 2013)

  • 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).
  • 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.2.4 (Jul 8, 2013)

  • Added support for logarithmic curve fit equation type.
  • Exponential curve fits are now formatted as y = a * b^x.
  • Added Undo support for View -> Find All Graphs
  • 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.2.3 (May 7, 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.2 (Dec 10, 2012)

  • 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.1 (Nov 9, 2012)

  • Added Email Support option to Help menu.
  • Fixed crash switching to logarithmic paper when the range is negative.
  • Fixed CPU spin/crash when trying to draw graphs which approach or cross y=0 when logarithmic paper is selected.
  • Avoid CPU spin/crash trying to draw polar paper when the x/y aspect ratio is much less or greater than 1.
  • Grid range now resets to the default when switching to polar paper.

New in Graphmatica 2.2 (Oct 1, 2012)

  • 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.1.0 (Sep 19, 2012)

  • Added sign() and truncate() functions.
  • 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.
  • Cartesian and polar equations can now be specified as piecewise single-valued functions using multiple clauses with non-overlapping domains.
  • Added ability to define named constants (zero-argument functions) in the Functions dialog box, and reference them in equations without any trailing parentheses.
  • 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.
  • Improved point table output for ODEs (and implicit functions graphed as ODEs).
  • Improved speed of printing documents with multiple pages and fixed print preview to respond immediately to changes in print settings that affect the number of printed pages.
  • Added Danish localization for program text.