<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE document PUBLIC "-//CNX//DTD CNXML 0.5 plus MathML//EN" "http://cnx.rice.edu/cnxml/0.5/DTD/cnxml_mathml.dtd">
<document xmlns="http://cnx.rice.edu/cnxml" xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="id10872606">
  <name>Arrays in LabVIEW</name>
  <metadata>
  <md:version>1.3</md:version>
  <md:created>2007/06/26 09:03:09 GMT-5</md:created>
  <md:revised>2008/03/17 21:38:21.846 GMT-5</md:revised>
  <md:authorlist>
      <md:author id="doering">
      <md:firstname>Ed</md:firstname>
      
      <md:surname>Doering</md:surname>
      <md:email>doering@rose-hulman.edu</md:email>
    </md:author>
  </md:authorlist>

  <md:maintainerlist>
    <md:maintainer id="doering">
      <md:firstname>Ed</md:firstname>
      
      <md:surname>Doering</md:surname>
      <md:email>doering@rose-hulman.edu</md:email>
    </md:maintainer>
    <md:maintainer id="eluther">
      <md:firstname>Erik</md:firstname>
      <md:othername>B</md:othername>
      <md:surname>Luther</md:surname>
      <md:email>erik.luther@ni.com</md:email>
    </md:maintainer>
    <md:maintainer id="SShearman">
      <md:firstname>Sam</md:firstname>
      <md:othername>D.</md:othername>
      <md:surname>Shearman</md:surname>
      <md:email>sam.shearman@ni.com</md:email>
    </md:maintainer>
  </md:maintainerlist>
  
  <md:keywordlist>
    <md:keyword>array</md:keyword>
    <md:keyword>array constant</md:keyword>
    <md:keyword>array control</md:keyword>
    <md:keyword>array dimensions</md:keyword>
    <md:keyword>CSV</md:keyword>
    <md:keyword>index</md:keyword>
    <md:keyword>LabVIEW</md:keyword>
    <md:keyword>Ramp Pattern</md:keyword>
    <md:keyword>reshape</md:keyword>
    <md:keyword>spreadsheet</md:keyword>
    <md:keyword>subarray</md:keyword>
  </md:keywordlist>

  <md:abstract>Learn how to create and manipulate arrays, perform mathematical
operations on them, and use spreadsheets to read and write arrays to the
file system.</md:abstract>
</metadata>
  <content>
    <section id="id-489993866014">
      <name>Overview</name>
      <para id="id12689810">Arrays are a fundamental data type for signal processing. LabVIEW offers a complete set of techniques to create and manipulate arrays, and to perform mathematical and signal processing operations on arrays. This module will acquaint you with the basic techniques for working with arrays.</para>
    </section>
    <section id="id-841982672789">
      <name>Creating Arrays</name>
      <para id="id12301677">The following video screencast describes how to create arrays on the front panel and on the block diagram. The elements of an array can be edited and modified directly, a suitable technique when the array is relatively small.</para>
      <figure id="id12425340"><media type="image/png" src="lvt_arrays-creating.html">
          <param name="thumbnail" value="lvt_arrays-creating.png"/>
        </media>
<caption>
   [video] Creating arrays
</caption>
</figure>
    </section>
    <section id="id-418924766625">
      <name>Manipulating Arrays</name>
      <para id="id8961489">The next video screencast explains essential array manipulations for signal processing tasks, including: determining the <term>dimensions</term> of an array, retrieving individual elements, rows, columns, or other <term>subarrays</term>, appending (concatenating) arrays, and <term>reshaping</term> arrays.</para>
      <figure id="id11960202"><media type="image/png" src="lvt_arrays-manipulating.html">
          <param name="thumbnail" value="lvt_arrays-manipulating.png"/>
        </media>
<caption>
   [video] Manipulating arrays
</caption>
</figure>
    </section>
    <section id="id-246854493519">
      <name>Mathematical Operations with Arrays</name>
      <para id="id11346174">Signal processing operations commonly operate on all of the array elements at once. For example, adding a scalar constant to an array implies a loop operation in which the constant is added to each element of the array.</para>
      <para id="id11218974">The following screencast video describes several techniques for performing mathematical operations on arrays. Important side effects (such as what happens when two arrays of different lengths are added together) are discussed. The <term>Ramp Pattern</term> subVI is also described as a method to create a time basis for mathematical functions such as the <term>exponential</term>.</para>
      <figure id="id12179828"><media type="image/png" src="lvt_arrays-math.html">
          <param name="thumbnail" value="lvt_arrays-math.png"/>
        </media>
<caption>
   [video] Performing mathematical operations with arrays
</caption>
</figure>
    </section>
    <section id="id-943666986456">
      <name>Arrays and Spreadsheets</name>
      <para id="id10735097">Spreadsheets are often used as a data storage mechanism by other applications. The next screencast video shows you how to retrieve an array from a comma-separated-values (CSV-format) spreadsheet, and how to create your own CSV-format spreadsheet from an existing array within LabVIEW.</para>
      <figure id="id10440982"><media type="image/png" src="lvt_arrays-spreadsheet.html">
          <param name="thumbnail" value="lvt_arrays-spreadsheet.png"/>
        </media>
<caption>
   [video] Retrieving arrays from a spreadsheet; saving arrays to a spreadsheet
</caption></figure>
    </section>
  </content>
</document>
