12.3.1 Command Window and X-Functions

Summary

Many of Origin's analysis tools and other data processing tools have been implemented using X-Functions. The Command Window provides a convenient way to run these functions.

Another important use for the Command Window is to send LabTalk script commands to Origin. Script commands can range from simple math and data operations, to user-created X-Functions or Origin C functions.

Minimum Origin Version Required: Origin 8.0 SR6

What you will learn

This tutorial will introduce you to the Command Window and show you how to:

  • Perform simple calculation
  • Access worksheet cells/columns
  • Access X-Functions

Command Window

The Command Window consists of two panels: the Command Panel and History Panel:

Tutorial Script 009.png

The Command Window is normally located at the bottom right corner of the screen, but if it is not visible, you can access it by pressing Alt+3 or by selecting View: Command Window.

When typing in the Command Panel, the Auto Complete support allows you to choose among X-Function script commands and OGS files in the current working folder. The command and OGS file name will be respectively preceded by Xf and LT. You can move up and down the list using the arrow keys; pressing Enter selects the item. After your selection, press the space bar and the Auto Complete now shows you the available options for the command.

Examples

Perform Calculations

The Command Window can be used as a calculator or to access any of Origin's mathematical functions. See the examples below.

Single Line

One of the more basic uses for the Command Window is as an interface to perform simple calculations. For example, type the following:

2+2=

Press ENTER. Origin returns

2+2=4

Tutorial Script 001.png

Multiple Lines

If you are typing multiple lines of scripts, first edit it in Code Builder (View:Code Builder) or any text editor, such as Windows Notepad, ending each line with a semi-colon, and then Copy + Paste the script in the Command Window, and press ENTER to execute. For example, paste the following script in the Command Window and ENTER:

sum = 0;
loop(ii, 1, 10)
{
   sum += ii;
}
sum = ;

Origin returns:

SUM=55

Tutorial Script 002.png

Functions

Any mathematical function, built-in as well as user-created, can be executed from the Command Window. For example, type:

ln(10) =

Origin returns natural logarithm value of 10.

Tutorial Script 003.png

Access Worksheet Values

You can also use the Script Window to read and write worksheet values, or to perform math operations on datasets.

  1. Enter the following data into a fresh worksheet:
Reading and Writing Worksheet Values 1.png
  1. To return the value in the first cell of the second column, type the following:
cell(1,2)=
  1. Press ENTER. Origin returns:
CELL(1,2)=6

You can also use the column name and row number to reference cell values.

  1. Type the following:
col(B)[1]=
  1. Press ENTER. Origin returns:
COL(B)[1]=6
Notes: In addition to using the column name, you can also use the dataset name. In LabTalk, the syntax for naming datasets is worksheetName_columnName. So, For example, Book1_A[1]= would return the first element of column A in worksheet Data1. Also, if the worksheet that you are referencing is the active window, you can use the LabTalk string variable %H, in place of the worksheet name. For example, %H_A[1].

To subtract the value in row 1 of column A, from all the values in column B…

  1. Type the following:
col(B)=col(B)-col(A)[1]
  1. Press ENTER. Your worksheet now reads:
Reading and Writing Worksheet Values 2.png

Let's use what we have learned about executing multiple lines of script in the Script window. We will multiply every value in a column of data by some constant b.

  1. Type the following:
b=3;
Press CTRL+ENTER. Recall that this gives us a carriage return without executing the command.
  1. Now type:
col(A)=col(A)*b;
Again, Press CTRL+ENTER.
  1. Choose Edit from the Script window's menu bar. Script Execution should have a check mark next to it; if not, single-click on the menu item to place a check mark there.
  1. Now, select the two lines of script that you just entered into the Script window and press ENTER.

Your worksheet now reads:

Reading and Writing Worksheet Values 3.png


Notes: The following C notation is also supported:

b=3;

col(A)*=b;


You can also use linear interpolation or extrapolation on a specified X dataset to find the corresponding interpolated or extrapolated value in a Y dataset. This requires using a new notation with parentheses ( ) instead of brackets [ ].

In this example, book1_b is a Y dataset and (4) is a value in an X dataset (book1_a) for which you want to find a corresponding, interpolated Y value.

  1. Type the following:
book1_b(4) =
  1. Press ENTER. Origin returns:
BOOK1_B(4)=5.333333
Reading and Writing Worksheet Values 4.png

This is a line plot of our simple worksheet data. You can see that our interpolated Y value – the one corresponding to X = 4 – is 5.333333.

  1. If the columns you work with are in different worksheet/workbook, you should use the range variables to represent the worksheet columns. For example, this script calculates the sine value on Book1 column A, and puts the result in Book2 column A (You must have Book2 before hitting Enter):
  2. range a = [Book1]Sheet1!Col(A);
    range b = [Book2]Sheet1!Col(A);
    b = sin(a);

    Tutorial Script 007.png

    Access X-Functions

    Origin 8 provides a large collection of X-Functions for performing a wide variety of data processing tasks. Of this collection, many of the X-Functions are accessible from LabTalk script. The functions accessible from script provide a powerful environment for users to create custom script code for their routine tasks.

    X-Functions that are accessible from script can be listed in the Command Window, and you can also obtain help on the command syntax as well as make use of auto completion of commands for such functions.

    X-Functions accept data range string or range variable for specifying source and destination data for the operation. For example, the smooth X-Function under signal processing can be accessed from the Command Window as follows:

    1. Import the file \Samples\Signal Processing\Signal with Shot Noise.dat.
    2. In the Command Window, type the following:
      smooth iy:=Col(2) method:=1 npts:=200
      When you press ENTER, the result will append to the source worksheet.

      Tutorial Script 008.png

    3. For help in using this smooth X-Function, you can type
      help smooth
      to open the corresponding Help.