Custom Search

## The DME Calculator 3.1.0

UPDATED ON:   April 12, 2010
RATING:     The DME calculator is an advanced calculator for Windows. It is a part of the program package for controlling our instruments. However, in its basic version it can be of use for anyone who wishes to make calculations with a PC or wishes to solve somewhat more complex problems without having to use a large spreadsheet program package. The DME calculator fits nearly on a diskette (about 2 MB) and starts without any notable waiting time. Since version 3, the calculator has a built in Graphical User Inteface (GUI) editor. This allowes easy creation of dialog windows with buttons, scroll bars and edit files which then can be interactively controlled by the user program.

You can use the DME Calculator e.g. for simply adding numbers. Compared to the built-in Windows calculator it has the advantage of a large field for entering so you can see all numbers and afterwards easily find errors etc.

For more complex calculations, you can enter the whole expression as e.g. sin(pi()/4)^2 (Result is 0.5).

The calculator also handles variables and accepts several expressions after another, the expressions should be separated by a comma,

a=5, 3*a

This will return the result of the last expression, in this case 15.

Furthermore, the calculator understands functions known from programming languages such as for, while and if. To add all numbers from 1 to 100, just enter:

sum=0,
for(i=1; i<=100; i+=1;
sum += i
),
sum

In this example, the variable i counts from 1 to 100 and every time is added to the variable sum. As in the example above, the last expression returns the result; in this case the number 5050. The next example afterwards shows all the subtotals:

sum=0,
for(i=1; i<=100; i+=1;
sum += i,
println(sum)
),
sum

By means of the function print or println a separate window is opened, containing the result. The last example shows the subtotals graphically:

sum=0,
for(i=1; i<=100; i+=1;
sum += i,
results[i-1] = sum
),
plotxy(0; 0; 0; results[])

The functions plot and plotxy will open in a separate window with the graphics. Titles can be entered, and the result can be exported as vector graphics to another program. In contradistinction to plotxy, plot directly evaluates a function over an specified range, i.e. plot(0; 0; x; sin(x); 0; 2*pi(); 200) shows the function sin(x) and, wherein x goes from 0 to 2 Pi.

Now follows s practical example from the interest and principle calculation of loans (If this is not the right formulation, you are welcome to send me a mail). The following program displays a two dimensional plot of the credit amount via year. It also calculates, after what time the credit will be satisfied. To run the program, just copy it from the browser window into the DME Calculator window.

start=100000, /* amount of loan */
interest=6, /* interest rate */
princ=700, /* principal, monthly */
x=(interest/1200+1),
for(n=0; n<12*30; n+=1;
curval = start*x^n-princ*(x^n-1)/(x-1),
data[n] = if(curval>0; curval; 0),
year[n] = n/12
),
sat =
if(princ-start*x+start<0;
'Principal portion too low, minimum amount: '+str(start*x-start; 5; 4);
str(log(princ/(princ-start*x+start))/log(x)/12; 5; 3)+' years'
),
plotxy(0; 0; year[]; data[]),
plotaxis(0; 'Years'; 'Amount'),
'Satisfied after: '+sat

The calculator can do much more and contains several built-in functions. Below you can find a more complete list of all features.
• Since version 3: Creation of own user interfaces with the built-in GUI editor
• Nonlinear data modeling by an adapted Levenberg-Marquardt algorithm (see fit() function)
• Fast fourier transforms
• Calculation and display of results in the hexadecimal and binary systems
• Use of variables, see above
• 2D graphic functions with export of subtotals, display of more graphs on top of each other or in separate windows
• Text function for showing subtotals or other texts
• Definition of own functions, e.g. with define(f(x); 2*x) , which means f(x) := 2*x; recursive programming is explicitly allowed.
• Functions for flow control as in programming languages, e.g. if, for, foreach,while
• Text data in and output for text in columns or normal text
• Functions for serial communication over the PC's RS232 interface.
• More programs / expressions can be entered at the same time
• Syntax validation during entering
• High calculation speed
• Execution of external programs; as an example, you get the actual date by entering execute('cmd /C date /T'; '')
• IEEE 488 Bus communication (requires an interface board compatible with National Instrument's GPIB)

 Author : http://www.dme-spm.com/ Download Now Size: 1.46 MB Supported OS : Windows 2K, XP, Vista Requirements : None Last updated : April 12, 2010