﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<?application progid="SMath Studio Desktop" version="0.98.5932.13552"?>
<regions>
  <settings>
    <identity>
      <id>412e06fd-bd9d-4ee5-bf17-b851b8f033de</id>
      <revision>6</revision>
    </identity>
    <calculation>
      <precision>4</precision>
      <exponentialThreshold>5</exponentialThreshold>
      <fractions>decimal</fractions>
    </calculation>
    <pageModel active="true" printAreas="true" simpleEqualsOnly="false" printBackgroundImages="true">
      <paper id="1" orientation="Portrait" width="850" height="1100" />
      <margins left="39" right="39" top="39" bottom="39" />
      <header alignment="Center" color="#a9a9a9">&amp;[DATE] &amp;[TIME] - &amp;[FILENAME]</header>
      <footer alignment="Center" color="#a9a9a9">&amp;[PAGENUM] / &amp;[COUNT]</footer>
      <backgrounds />
    </pageModel>
    <dependencies>
      <assembly name="SMath Studio Desktop" version="0.98.5932.13552" guid="a37cba83-b69c-4c71-9992-55ff666763bd" />
      <assembly name="Text Region" version="1.10.5932.13556" guid="485d28c5-349a-48b6-93be-12a35a1c1e39" />
      <assembly name="Math Region" version="0.98.5932.13552" guid="02f1ab51-215b-466e-a74d-5d8b1cf85e8d" />
      <assembly name="Special Functions" version="1.11.5932.13554" guid="2814e667-4e12-48b1-8d51-194e480eabc5" />
      <assembly name="EXCEL (2003+) I/O with recalculation and PNG export" version="0.2.0.36565" guid="e40eaef6-4622-4ef3-ad03-077e8f005bb1" />
    </dependencies>
  </settings>
  <region id="0" left="36" top="18" width="193" height="24" color="#000000" bgColor="#ffffff" fontSize="8">
    <text lang="eng">
      <p bold="true" underline="true">Worksheet calculation:</p>
    </text>
  </region>
  <region id="1" left="36" top="45" width="61" height="24" color="#000000" bgColor="#ffffff" fontSize="8">
    <text lang="eng">
      <p italic="true">INPUT:</p>
    </text>
  </region>
  <region id="2" left="36" top="81" width="43" height="24" color="#000000" bgColor="#ffffff" fontSize="8">
    <math>
      <input>
        <e type="operand">b</e>
        <e type="operand">5</e>
        <e type="operator" args="2">:</e>
      </input>
    </math>
  </region>
  <region id="3" left="36" top="126" width="60" height="24" color="#000000" bgColor="#ffffff" fontSize="8">
    <math>
      <input>
        <e type="operand">c</e>
        <e type="operand">100</e>
        <e type="operator" args="2">:</e>
      </input>
    </math>
  </region>
  <region id="4" left="36" top="144" width="235" height="98" color="#000000" bgColor="#ffffff" fontSize="8">
    <math>
      <input>
        <e type="operand">A</e>
        <e type="operand">b</e>
        <e type="operand">b</e>
        <e type="function" preserve="true" args="2">matrix</e>
        <e type="operator" args="2">:</e>
      </input>
      <result action="numeric">
        <e type="operand">0</e>
        <e type="operand">0</e>
        <e type="operand">0</e>
        <e type="operand">0</e>
        <e type="operand">0</e>
        <e type="operand">0</e>
        <e type="operand">0</e>
        <e type="operand">0</e>
        <e type="operand">0</e>
        <e type="operand">0</e>
        <e type="operand">0</e>
        <e type="operand">0</e>
        <e type="operand">0</e>
        <e type="operand">0</e>
        <e type="operand">0</e>
        <e type="operand">0</e>
        <e type="operand">0</e>
        <e type="operand">0</e>
        <e type="operand">0</e>
        <e type="operand">0</e>
        <e type="operand">0</e>
        <e type="operand">0</e>
        <e type="operand">0</e>
        <e type="operand">0</e>
        <e type="operand">0</e>
        <e type="operand">5</e>
        <e type="operand">5</e>
        <e type="function" preserve="true" args="27">mat</e>
      </result>
    </math>
  </region>
  <region id="5" left="36" top="270" width="239" height="83" color="#000000" bgColor="#ffffff" fontSize="8">
    <math>
      <input>
        <e type="operand">i</e>
        <e type="operand">1</e>
        <e type="operand">A</e>
        <e type="function" preserve="true" args="1">rows</e>
        <e type="function" preserve="true" args="2">range</e>
        <e type="operand">j</e>
        <e type="operand">1</e>
        <e type="operand">A</e>
        <e type="function" preserve="true" args="1">cols</e>
        <e type="function" preserve="true" args="2">range</e>
        <e type="operand">A</e>
        <e type="operand">i</e>
        <e type="operand">j</e>
        <e type="function" preserve="true" args="3">el</e>
        <e type="operand">c</e>
        <e type="operand">i</e>
        <e type="operand">1</e>
        <e type="operator" args="2">-</e>
        <e type="bracket">(</e>
        <e type="operand">A</e>
        <e type="function" preserve="true" args="1">cols</e>
        <e type="operator" args="2">*</e>
        <e type="operand">j</e>
        <e type="operator" args="2">+</e>
        <e type="bracket">(</e>
        <e type="function" preserve="true" args="1">sqrt</e>
        <e type="operator" args="2">/</e>
        <e type="operator" args="2">:</e>
        <e type="function" preserve="true" args="3">for</e>
        <e type="function" preserve="true" args="3">for</e>
      </input>
    </math>
  </region>
  <region id="6" left="36" top="369" width="377" height="98" color="#000000" bgColor="#ffffff" fontSize="8">
    <math>
      <input>
        <e type="operand">A</e>
      </input>
      <result action="numeric">
        <e type="operand">100</e>
        <e type="operand">70.7107</e>
        <e type="operand">57.735</e>
        <e type="operand">50</e>
        <e type="operand">44.7214</e>
        <e type="operand">40.8248</e>
        <e type="operand">37.7964</e>
        <e type="operand">35.3553</e>
        <e type="operand">33.3333</e>
        <e type="operand">31.6228</e>
        <e type="operand">30.1511</e>
        <e type="operand">28.8675</e>
        <e type="operand">27.735</e>
        <e type="operand">26.7261</e>
        <e type="operand">25.8199</e>
        <e type="operand">25</e>
        <e type="operand">24.2536</e>
        <e type="operand">23.5702</e>
        <e type="operand">22.9416</e>
        <e type="operand">22.3607</e>
        <e type="operand">21.8218</e>
        <e type="operand">21.3201</e>
        <e type="operand">20.8514</e>
        <e type="operand">20.4124</e>
        <e type="operand">20</e>
        <e type="operand">5</e>
        <e type="operand">5</e>
        <e type="function" preserve="true" args="27">mat</e>
      </result>
    </math>
  </region>
  <region id="7" left="36" top="486" width="70" height="24" color="#000000" bgColor="#ffffff" fontSize="8">
    <text lang="eng">
      <p italic="true">OUTPUT:</p>
    </text>
  </region>
  <region id="8" left="36" top="513" width="212" height="55" color="#000000" bgColor="#ffffff" fontSize="8">
    <math>
      <input>
        <e type="operand">A</e>
        <e type="function" preserve="true" args="1">sum</e>
        <e type="operand">A</e>
        <e type="function" preserve="true" args="1">rows</e>
        <e type="operand">A</e>
        <e type="function" preserve="true" args="1">cols</e>
        <e type="operator" args="2">*</e>
        <e type="operator" args="2">/</e>
      </input>
      <result action="numeric">
        <e type="operand">34.5572</e>
      </result>
    </math>
  </region>
  <region id="9" left="36" top="594" width="176" height="24" color="#000000" bgColor="#ffffff" fontSize="8">
    <text lang="eng">
      <p bold="true" underline="true">Equivalent Function:</p>
    </text>
  </region>
  <region id="10" left="36" top="630" width="741" height="56" color="#000000" bgColor="#ffffff" fontSize="8">
    <text lang="eng">
      <p>Lets convert this to a function. Symbol # is used to prevent interaction between existingworksheet variables and variables inside function (so the variable name inside function is different from variable name outside function):</p>
    </text>
  </region>
  <region id="11" left="36" top="702" width="452" height="158" color="#000000" bgColor="#ffffff" fontSize="8">
    <math>
      <input>
        <e type="operand">b#</e>
        <e type="operand">c#</e>
        <e type="function" args="2">function</e>
        <e type="operand">A#</e>
        <e type="operand">b#</e>
        <e type="operand">b#</e>
        <e type="function" preserve="true" args="2">matrix</e>
        <e type="operator" args="2">:</e>
        <e type="operand">i</e>
        <e type="operand">1</e>
        <e type="operand">A#</e>
        <e type="function" preserve="true" args="1">rows</e>
        <e type="function" preserve="true" args="2">range</e>
        <e type="operand">j</e>
        <e type="operand">1</e>
        <e type="operand">A#</e>
        <e type="function" preserve="true" args="1">cols</e>
        <e type="function" preserve="true" args="2">range</e>
        <e type="operand">A#</e>
        <e type="operand">i</e>
        <e type="operand">j</e>
        <e type="function" preserve="true" args="3">el</e>
        <e type="operand">c#</e>
        <e type="operand">i</e>
        <e type="operand">1</e>
        <e type="operator" args="2">-</e>
        <e type="bracket">(</e>
        <e type="operand">A#</e>
        <e type="function" preserve="true" args="1">cols</e>
        <e type="operator" args="2">*</e>
        <e type="operand">j</e>
        <e type="operator" args="2">+</e>
        <e type="function" preserve="true" args="1">sqrt</e>
        <e type="operator" args="2">/</e>
        <e type="bracket">(</e>
        <e type="function" preserve="true" args="1">eval</e>
        <e type="operator" args="2">:</e>
        <e type="function" preserve="true" args="3">for</e>
        <e type="function" preserve="true" args="3">for</e>
        <e type="operand">A#</e>
        <e type="function" preserve="true" args="1">sum</e>
        <e type="operand">A#</e>
        <e type="function" preserve="true" args="1">rows</e>
        <e type="operand">A#</e>
        <e type="function" preserve="true" args="1">cols</e>
        <e type="operator" args="2">*</e>
        <e type="operator" args="2">/</e>
        <e type="function" preserve="true" args="1">eval</e>
        <e type="operand">3</e>
        <e type="operand">1</e>
        <e type="function" preserve="true" args="5">line</e>
        <e type="operator" args="2">:</e>
      </input>
    </math>
  </region>
  <region id="12" left="36" top="882" width="209" height="24" color="#000000" bgColor="#ffffff" fontSize="8">
    <text lang="eng">
      <p>lets check our function:</p>
    </text>
  </region>
  <region id="13" left="36" top="918" width="222" height="26" color="#000000" bgColor="#ffffff" fontSize="8">
    <math>
      <input>
        <e type="operand">5</e>
        <e type="operand">100</e>
        <e type="function" args="2">function</e>
      </input>
      <result action="numeric">
        <e type="operand">34.5572</e>
      </result>
    </math>
  </region>
  <region id="14" left="36" top="963" width="346" height="24" color="#000000" bgColor="#ffffff" fontSize="8">
    <text lang="eng">
      <p>Function works an ready to be "fed" data!</p>
    </text>
  </region>
  <region id="15" left="36" top="1044" width="192" height="24" color="#000000" bgColor="#ffffff" fontSize="8">
    <text lang="eng">
      <p bold="true" underline="true">Export to spreadsheet:</p>
    </text>
  </region>
  <region id="16" left="36" top="1080" width="85" height="32" color="#000000" bgColor="#ffff80" fontSize="8">
    <math>
      <input>
        <e type="operand">row.out</e>
        <e type="operand">5</e>
        <e type="operator" args="2">:</e>
      </input>
    </math>
  </region>
  <region id="17" left="144" top="1080" width="202" height="24" color="#000000" bgColor="#ffffff" fontSize="8">
    <text lang="eng">
      <p>initial spreadsheet row</p>
    </text>
  </region>
  <region id="18" left="36" top="1116" width="212" height="33" color="#000000" bgColor="#ffffff" fontSize="8">
    <math decimalPlaces="3">
      <input>
        <e type="operand">data.out</e>
        <e type="operand">5</e>
        <e type="operand">100</e>
        <e type="function" args="2">function</e>
        <e type="operator" args="2">:</e>
      </input>
    </math>
  </region>
  <region id="19" left="36" top="1161" width="153" height="32" color="#000000" bgColor="#ffffff" fontSize="8">
    <math exponentialThreshold="15">
      <input>
        <e type="operand">data.out</e>
      </input>
      <result action="numeric">
        <e type="operand">34.5572</e>
      </result>
    </math>
  </region>
  <region id="20" left="36" top="1197" width="702" height="38" color="#000000" bgColor="#ffffff" fontSize="8">
    <math decimalPlaces="3">
      <input>
        <e type="operand" style="string">no</e>
        <e type="operand" style="string">test.xlsx</e>
        <e type="operand" style="string">Sheet1</e>
        <e type="operand" style="string">B</e>
        <e type="operand">row.out</e>
        <e type="function" preserve="true" args="1">num2str</e>
        <e type="function" preserve="true" args="2">concat</e>
        <e type="operand">data.out</e>
        <e type="function" preserve="true" args="1">eval</e>
        <e type="function" preserve="true" args="5">excel_IN</e>
      </input>
      <result action="numeric">
        <e type="operand">1</e>
      </result>
    </math>
  </region>
  <region id="21" left="36" top="1242" width="148" height="32" color="#000000" bgColor="#ffff80" fontSize="8">
    <math decimalPlaces="3">
      <input>
        <e type="operand">row.out</e>
        <e type="operand">row.out</e>
        <e type="operand">1</e>
        <e type="operator" args="2">+</e>
        <e type="operator" args="2">:</e>
      </input>
    </math>
  </region>
  <region id="22" left="36" top="1296" width="733" height="40" color="#000000" bgColor="#ffffff" fontSize="8">
    <text lang="eng">
      <p>Lets convert the above to function. Note that row.out parameter is used without # at theend so can be passed back to the SMath worksheet outside of the function:</p>
    </text>
  </region>
  <region id="23" left="36" top="1359" width="920" height="93" color="#000000" bgColor="#ffffff" fontSize="8">
    <math>
      <input>
        <e type="operand">row.out</e>
        <e type="operand">b#</e>
        <e type="operand">c#</e>
        <e type="function" args="3">function.out</e>
        <e type="operand">data.out#</e>
        <e type="operand">b#</e>
        <e type="operand">c#</e>
        <e type="function" args="2">function</e>
        <e type="operator" args="2">:</e>
        <e type="operand" style="string">no</e>
        <e type="operand" style="string">test.xlsx</e>
        <e type="operand" style="string">Sheet1</e>
        <e type="operand" style="string">B</e>
        <e type="operand">row.out</e>
        <e type="function" preserve="true" args="1">num2str</e>
        <e type="function" preserve="true" args="2">concat</e>
        <e type="operand">data.out#</e>
        <e type="function" preserve="true" args="1">eval</e>
        <e type="function" preserve="true" args="5">excel_IN</e>
        <e type="operand">row.out</e>
        <e type="operand">row.out</e>
        <e type="operand">1</e>
        <e type="operator" args="2">+</e>
        <e type="operator" args="2">:</e>
        <e type="operand">3</e>
        <e type="operand">1</e>
        <e type="function" preserve="true" args="5">line</e>
        <e type="operator" args="2">:</e>
      </input>
    </math>
  </region>
  <region id="24" left="36" top="1467" width="414" height="24" color="#000000" bgColor="#ffffff" fontSize="8">
    <text lang="eng">
      <p>lets set the starting row of spreadsheet to "15":</p>
    </text>
  </region>
  <region id="25" left="36" top="1503" width="93" height="32" color="#000000" bgColor="#ffff80" fontSize="8">
    <math>
      <input>
        <e type="operand">row.out</e>
        <e type="operand">15</e>
        <e type="operator" args="2">:</e>
      </input>
    </math>
  </region>
  <region id="26" left="36" top="1548" width="279" height="34" color="#000000" bgColor="#ffffff" fontSize="8">
    <math>
      <input>
        <e type="operand">row.out</e>
        <e type="operand">5</e>
        <e type="operand">1000</e>
        <e type="function" args="3">function.out</e>
      </input>
      <result action="numeric">
        <e type="operand">16</e>
      </result>
    </math>
  </region>
  <region id="27" left="36" top="1593" width="271" height="34" color="#000000" bgColor="#ffffff" fontSize="8">
    <math>
      <input>
        <e type="operand">row.out</e>
        <e type="operand">6</e>
        <e type="operand">900</e>
        <e type="function" args="3">function.out</e>
      </input>
      <result action="numeric">
        <e type="operand">17</e>
      </result>
    </math>
  </region>
  <region id="28" left="36" top="1638" width="271" height="34" color="#000000" bgColor="#ffffff" fontSize="8">
    <math>
      <input>
        <e type="operand">row.out</e>
        <e type="operand">7</e>
        <e type="operand">800</e>
        <e type="function" args="3">function.out</e>
      </input>
      <result action="numeric">
        <e type="operand">18</e>
      </result>
    </math>
  </region>
  <region id="29" left="36" top="1692" width="271" height="34" color="#000000" bgColor="#ffffff" fontSize="8">
    <math>
      <input>
        <e type="operand">row.out</e>
        <e type="operand">8</e>
        <e type="operand">700</e>
        <e type="function" args="3">function.out</e>
      </input>
      <result action="numeric">
        <e type="operand">19</e>
      </result>
    </math>
  </region>
  <region id="30" left="36" top="1746" width="271" height="34" color="#000000" bgColor="#ffffff" fontSize="8">
    <math>
      <input>
        <e type="operand">row.out</e>
        <e type="operand">9</e>
        <e type="operand">600</e>
        <e type="function" args="3">function.out</e>
      </input>
      <result action="numeric">
        <e type="operand">20</e>
      </result>
    </math>
  </region>
  <region id="31" left="36" top="1800" width="279" height="34" color="#000000" bgColor="#ffffff" fontSize="8">
    <math>
      <input>
        <e type="operand">row.out</e>
        <e type="operand">10</e>
        <e type="operand">500</e>
        <e type="function" args="3">function.out</e>
      </input>
      <result action="numeric">
        <e type="operand">21</e>
      </result>
    </math>
  </region>
  <region id="32" left="36" top="1854" width="234" height="24" color="#000000" bgColor="#ffffff" fontSize="8">
    <text lang="eng">
      <p>now lets loop the function:</p>
    </text>
  </region>
  <region id="33" left="36" top="1890" width="93" height="32" color="#000000" bgColor="#ffff80" fontSize="8">
    <math>
      <input>
        <e type="operand">row.out</e>
        <e type="operand">25</e>
        <e type="operator" args="2">:</e>
      </input>
    </math>
  </region>
  <region id="34" left="36" top="1935" width="438" height="72" color="#000000" bgColor="#ffffff" fontSize="8">
    <math>
      <input>
        <e type="operand">i#</e>
        <e type="function" args="1">write</e>
        <e type="operand">i</e>
        <e type="operand">1</e>
        <e type="operand">i#</e>
        <e type="function" preserve="true" args="2">range</e>
        <e type="operand">row.out</e>
        <e type="operand">10</e>
        <e type="operand">i</e>
        <e type="operator" args="2">+</e>
        <e type="operand">i</e>
        <e type="operand">1000</e>
        <e type="operator" args="2">*</e>
        <e type="function" args="3">function.out</e>
        <e type="function" preserve="true" args="1">eval</e>
        <e type="function" preserve="true" args="3">for</e>
        <e type="operand">1</e>
        <e type="operand">2</e>
        <e type="operand">1</e>
        <e type="function" preserve="true" args="4">line</e>
        <e type="operator" args="2">:</e>
      </input>
    </math>
  </region>
  <region id="35" left="36" top="2016" width="106" height="26" color="#000000" bgColor="#ffffff" fontSize="8">
    <math>
      <input>
        <e type="operand">7</e>
        <e type="function" args="1">write</e>
      </input>
      <result action="numeric">
        <e type="operand">1</e>
      </result>
    </math>
  </region>
</regions>