diff --git a/HW2/README.md b/HW2/README.md deleted file mode 100644 index f74173b..0000000 --- a/HW2/README.md +++ /dev/null @@ -1,36 +0,0 @@ -# Homework #2 -## due 2/3/17 - -1. Now that you have created your own repository, 'homework_1', that has a README.md file. -Create a new file in this repository called `setdefaults.m`. This file is a matlab/octave -script that will set default plotting parameters. In this file, add the following lines: - - ```matlab - set(0, 'defaultAxesFontSize', 16) - set(0,'defaultTextFontSize',14) - set(0,'defaultLineLineWidth',3) - ``` - - Commit the changes to your repository. - - ![projectile(v_mag,theta) predicts the height of the projectile based upon initial -velocity and position, as see in the Figure](projectile.png) - -2. Clone your 'homework_1' repository to your own computer. Now, we want to create a -function that uses kinematic formulas to predict the path of a projectile. The dimensions -are taken from official dart board dimensions -[darts](http://dartbrokers.com/dartboard-height.html). Create a function, -`projectile.m` that will calculate the location of an object with an initial velocity. The -function inputs are v_mag (initial speed), theta (initial angle). The output is the height -of the object 2.37 m from its starting position. Assume g=9.81 m/s^2 and its initial -height is 1.72 m. - - ```matlab - >> h=projectile(v_mag,theta) - - h= 1 - ``` - - In addition to the output of `h`-height at 2.37 m-plot the path of the object from its - initial position to its position at 2.37 m away from the start. *Note: use your - `setdefaults.m` to set the plot defaults before outputting the result.* diff --git a/HW2/projectile.png b/HW2/projectile.png deleted file mode 100644 index f544224..0000000 Binary files a/HW2/projectile.png and /dev/null differ diff --git a/HW2/projectile.svg b/HW2/projectile.svg deleted file mode 100644 index dc73374..0000000 --- a/HW2/projectile.svg +++ /dev/null @@ -1,334 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - 2.37 m - - - - v_mag - theta - - h - - 1.72 m - - diff --git a/README.md b/README.md index 8059993..ca1565e 100644 --- a/README.md +++ b/README.md @@ -22,21 +22,14 @@ matlab/octave functions and programming best practices. **Office hours**: Mon 2:30-4:30pm and Thur 11am-1pm in Engineering II room 315 ## Teaching Assistants: -- Graduate: Peiyu Zhang -- Office hours: Friday 9:00-11:00am in Engineering II room 315 +- Graduate: **TBD** +- Office hours: 2 hours / week in office **TBD** -## Course Information **Prerequisite:** CE 3110, MATH 2410Q **Textbook:** Chapra, Steven, *Applied Numerical Methods with MATLAB for Engineers and Scientists* 3rd edition. -**Tools used:** [Matlab](https://www.mathworks.com/products/matlab.html), -[Octave](https://www.gnu.org/software/octave/) , [Github](https://github.com). - -**Recommended tools:** Github Desktop, git, Atom (text editor), Vim (text editor), -Jupiter notebook (with matlab or octave kernel) - ## Grading | Item | Percent | Requirement | diff --git a/lecture_03/file.txt b/lecture_03/file.txt deleted file mode 100644 index 0fb2c92..0000000 --- a/lecture_03/file.txt +++ /dev/null @@ -1,5 +0,0 @@ -computational mechanics -the dog had 4 legs and weighed 10.0 lbs -are you awake?computational mechanics -the dog had 4 legs and weighed 10.0 lbs -are you awake? \ No newline at end of file diff --git a/lecture_03/lecture_03.ipynb b/lecture_03/lecture_03.ipynb deleted file mode 100644 index e205d15..0000000 --- a/lecture_03/lecture_03.ipynb +++ /dev/null @@ -1,6077 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Matlab basic use\n", - "## 1- the environment, path and working directory" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Matlab environment can be called by:\n", - "1. Starting the matlab executable (the gui)\n", - "2. Starting a jupyter notebook with Matlab kernel\n", - "3. Starting matlab with command-line interface (no gui)\n", - "\n", - "The main requirement is that matlab kernel (main matlab program) is running and accepting commands\n", - "\n", - "When you start, you can call matlab built-in functions or anything you write that is in your `MATLABPATH` or working directory (`pwd`)" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "MATLABPATH\n", - "\n", - "\t/usr/local/lib/python2.7/dist-packages/matlab_kernel/toolbox\n", - "\t/usr/local/lib/python2.7/dist-packages/pymatbridge/matlab\n", - "\t/usr/local/lib/python2.7/dist-packages/pymatbridge/matlab/usrprog\n", - "\t/usr/local/lib/python2.7/dist-packages/pymatbridge/matlab/util\n", - "\t/usr/local/lib/python2.7/dist-packages/pymatbridge/matlab/util/json_v0.2.2\n", - "\t/usr/local/lib/python2.7/dist-packages/pymatbridge/matlab/util/json_v0.2.2/json\n", - "\t/usr/local/lib/python2.7/dist-packages/pymatbridge/matlab/util/json_v0.2.2/json/java\n", - "\t/usr/local/lib/python2.7/dist-packages/pymatbridge/matlab/util/json_v0.2.2/test\n", - "\t/home/ryan/Documents/MATLAB\n", - "\t/usr/local/MATLAB/R2016a/toolbox/matlab/strfun\n", - "\t/usr/local/MATLAB/R2016a/toolbox/matlab/datatypes\n", - "\t/usr/local/MATLAB/R2016a/toolbox/matlab/elfun\n", - "\t/usr/local/MATLAB/R2016a/toolbox/matlab/ops\n", - "\t/usr/local/MATLAB/R2016a/toolbox/matlab/timefun\n", - "\t/usr/local/MATLAB/R2016a/toolbox/matlab/elmat\n", - "\t/usr/local/MATLAB/R2016a/toolbox/matlab/datafun\n", - "\t/usr/local/MATLAB/R2016a/toolbox/matlab/iofun\n", - "\t/usr/local/MATLAB/R2016a/toolbox/matlab/mvm\n", - "\t/usr/local/MATLAB/R2016a/toolbox/matlab/randfun\n", - "\t/usr/local/MATLAB/R2016a/toolbox/matlab/funfun\n", - "\t/usr/local/MATLAB/R2016a/toolbox/matlab/general\n", - "\t/usr/local/MATLAB/R2016a/toolbox/matlab/polyfun\n", - "\t/usr/local/MATLAB/R2016a/toolbox/matlab/matfun\n", - "\t/usr/local/MATLAB/R2016a/toolbox/matlab/lang\n", - "\t/usr/local/MATLAB/R2016a/toolbox/matlab/specfun\n", - "\t/usr/local/MATLAB/R2016a/toolbox/matlab/sparfun\n", - "\t/usr/local/MATLAB/R2016a/toolbox/matlab/images\n", - "\t/usr/local/MATLAB/R2016a/toolbox/matlab/testframework/performance\n", - "\t/usr/local/MATLAB/R2016a/toolbox/matlab/testframework/parallel\n", - "\t/usr/local/MATLAB/R2016a/toolbox/matlab/optimfun\n", - "\t/usr/local/MATLAB/R2016a/toolbox/matlab/testframework/ext\n", - "\t/usr/local/MATLAB/R2016a/toolbox/matlab/guide\n", - "\t/usr/local/MATLAB/R2016a/toolbox/matlab/testframework/measurement\n", - "\t/usr/local/MATLAB/R2016a/toolbox/matlab/icons\n", - "\t/usr/local/MATLAB/R2016a/toolbox/matlab/demos\n", - "\t/usr/local/MATLAB/R2016a/toolbox/matlab/helptools\n", - "\t/usr/local/MATLAB/R2016a/toolbox/matlab/winfun\n", - "\t/usr/local/MATLAB/R2016a/toolbox/matlab/winfun/NET\n", - "\t/usr/local/MATLAB/R2016a/toolbox/matlab/datamanager\n", - "\t/usr/local/MATLAB/R2016a/toolbox/matlab/verctrl\n", - "\t/usr/local/MATLAB/R2016a/toolbox/matlab/graph2d\n", - "\t/usr/local/MATLAB/R2016a/toolbox/matlab/graph3d\n", - "\t/usr/local/MATLAB/R2016a/toolbox/matlab/graphics\n", - "\t/usr/local/MATLAB/R2016a/toolbox/matlab/graphics/obsolete\n", - "\t/usr/local/MATLAB/R2016a/toolbox/matlab/plottools\n", - "\t/usr/local/MATLAB/R2016a/toolbox/matlab/scribe\n", - "\t/usr/local/MATLAB/R2016a/toolbox/matlab/scribe/obsolete\n", - "\t/usr/local/MATLAB/R2016a/toolbox/matlab/specgraph\n", - "\t/usr/local/MATLAB/R2016a/toolbox/matlab/uitools\n", - "\t/usr/local/MATLAB/R2016a/toolbox/matlab/uitools/obsolete\n", - "\t/usr/local/MATLAB/R2016a/toolbox/hdlcoder/matlabhdlcoder/matlabhdlcoder\n", - "\t/usr/local/MATLAB/R2016a/toolbox/hdlcoder/matlabhdlcoder\n", - "\t/usr/local/MATLAB/R2016a/toolbox/matlab/testframework/core\n", - "\t/usr/local/MATLAB/R2016a/toolbox/matlab/testframework/obsolete\n", - "\t/usr/local/MATLAB/R2016a/toolbox/matlab/hardware/stubs\n", - "\t/usr/local/MATLAB/R2016a/toolbox/local\n", - "\t/usr/local/MATLAB/R2016a/toolbox/matlab/datastoreio\n", - "\t/usr/local/MATLAB/R2016a/toolbox/matlab/codetools\n", - "\t/usr/local/MATLAB/R2016a/toolbox/matlab/codetools/embeddedoutputs\n", - "\t/usr/local/MATLAB/R2016a/toolbox/matlab/graphfun\n", - "\t/usr/local/MATLAB/R2016a/toolbox/matlab/depfun\n", - "\t/usr/local/MATLAB/R2016a/toolbox/matlab/mapreduceio\n", - "\t/usr/local/MATLAB/R2016a/toolbox/matlab/findfiles\n", - "\t/usr/local/MATLAB/R2016a/toolbox/rtw/targets/asap2/asap2/dataclasses\n", - "\t/usr/local/MATLAB/R2016a/toolbox/rtw/targets/asap2/asap2\n", - "\t/usr/local/MATLAB/R2016a/toolbox/rtw/targets/asap2/asap2/user\n", - "\t/usr/local/MATLAB/R2016a/toolbox/rtw/targets/common/can/blocks/dataclasses\n", - "\t/usr/local/MATLAB/R2016a/toolbox/rtw/targets/common/can/blocks\n", - "\t/usr/local/MATLAB/R2016a/toolbox/rtw/targets/common/can/blocks/tlc_c\n", - "\t/usr/local/MATLAB/R2016a/toolbox/rtw/targets/common/tgtcommon\n", - "\t/usr/local/MATLAB/R2016a/toolbox/coder/simulinkcoder/cgv/API\n", - "\t/usr/local/MATLAB/R2016a/toolbox/rtw/rtw/misra\n", - "\t/usr/local/MATLAB/R2016a/toolbox/coder/simulinkcoder\n", - "\t/usr/local/MATLAB/R2016a/toolbox/coder/simulinkcoder/templates\n", - "\t/usr/local/MATLAB/R2016a/toolbox/coder/simulinkcoder/targets\n", - "\t/usr/local/MATLAB/R2016a/toolbox/rtw/targets/pil\n", - "\t/usr/local/MATLAB/R2016a/toolbox/rtw/targets/AUTOSAR/AUTOSAR/dataclasses\n", - "\t/usr/local/MATLAB/R2016a/toolbox/rtw/targets/AUTOSAR/AUTOSAR\n", - "\t/usr/local/MATLAB/R2016a/toolbox/rtw/accel\n", - "\t/usr/local/MATLAB/R2016a/toolbox/coder/simulinkcoder_core\n", - "\t/usr/local/MATLAB/R2016a/toolbox/rtw/rtwdemos\n", - "\t/usr/local/MATLAB/R2016a/toolbox/rtw/rtwdemos/rsimdemos\n", - "\t/usr/local/MATLAB/R2016a/toolbox/simulink/simdemos/simfeatures\n", - "\t/usr/local/MATLAB/R2016a/toolbox/simulink/simdemos/simfeatures/modelreference\n", - "\t/usr/local/MATLAB/R2016a/toolbox/simulink/simdemos/simfeatures/datadictionary\n", - "\t/usr/local/MATLAB/R2016a/toolbox/simulink/sysarch/sysarch\n", - "\t/usr/local/MATLAB/R2016a/toolbox/simulink/simdemos/simgeneral\n", - "\t/usr/local/MATLAB/R2016a/toolbox/slde/examples\n", - "\t/usr/local/MATLAB/R2016a/toolbox/coder/advisor\n", - "\t/usr/local/MATLAB/R2016a/toolbox/simulink/simulink/modeladvisor\n", - "\t/usr/local/MATLAB/R2016a/toolbox/simulink/simulink/modeladvisor/fixpt\n", - "\t/usr/local/MATLAB/R2016a/toolbox/simulink/simdemos/automotive/fuelsys\n", - "\t/usr/local/MATLAB/R2016a/toolbox/simulink/components\n", - "\t/usr/local/MATLAB/R2016a/toolbox/simulink/dee\n", - "\t/usr/local/MATLAB/R2016a/toolbox/simulink/simdemos/aerospace\n", - "\t/usr/local/MATLAB/R2016a/toolbox/simulinktest/core/simharness/simharness\n", - "\t/usr/local/MATLAB/R2016a/toolbox/simulink/simulink/frameedit\n", - "\t/usr/local/MATLAB/R2016a/toolbox/simulink/simdemos/industrial\n", - "\t/usr/local/MATLAB/R2016a/toolbox/simulink/simdemos/automotive\n", - "\t/usr/local/MATLAB/R2016a/toolbox/simulink/blocks/library\n", - "\t/usr/local/MATLAB/R2016a/toolbox/simulink/blocks/library/simulinkcoder\n", - "\t/usr/local/MATLAB/R2016a/toolbox/simulink/blocks/obsolete\n", - "\t/usr/local/MATLAB/R2016a/toolbox/simulink/simdemos/dataclasses\n", - "\t/usr/local/MATLAB/R2016a/toolbox/simulink/simdemos\n", - "\t/usr/local/MATLAB/R2016a/toolbox/simulink/blocks\n", - "\t/usr/local/MATLAB/R2016a/toolbox/simulink/simulink/dataclasses\n", - "\t/usr/local/MATLAB/R2016a/toolbox/simulink/simulink\n", - "\t/usr/local/MATLAB/R2016a/toolbox/simulink/simulink/MPlayIO\n", - "\t/usr/local/MATLAB/R2016a/toolbox/simulink/simulink/dataobjectwizard\n", - "\t/usr/local/MATLAB/R2016a/toolbox/simulink/simulink/slresolve\n", - "\t/usr/local/MATLAB/R2016a/toolbox/simulink/simulink/units\n", - "\t/usr/local/MATLAB/R2016a/toolbox/simulink/simulink/resources\n", - "\t/usr/local/MATLAB/R2016a/toolbox/simulink/sdi\n", - "\t/usr/local/MATLAB/R2016a/toolbox/simulink/simulink/core_templates\n", - "\t/usr/local/MATLAB/R2016a/toolbox/simulinktest/core/testsequence/testsequence\n", - "\t/usr/local/MATLAB/R2016a/toolbox/simulink/simdemos/automotive/powerwindow\n", - "\t/usr/local/MATLAB/R2016a/toolbox/simulink/sldependency\n", - "\t/usr/local/MATLAB/R2016a/toolbox/simulink/hmi\n", - "\t/usr/local/MATLAB/R2016a/toolbox/coder/objectives\n", - "\t/usr/local/MATLAB/R2016a/toolbox/slde/slde\n", - "\t/usr/local/MATLAB/R2016a/toolbox/slde/slde/resources\n", - "\t/usr/local/MATLAB/R2016a/toolbox/stateflow/stateflow\n", - "\t/usr/local/MATLAB/R2016a/toolbox/stateflow/coder\n", - "\t/usr/local/MATLAB/R2016a/toolbox/stateflow/sfdemos\n", - "\t/usr/local/MATLAB/R2016a/toolbox/stateflow/sftemplates\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/testmeaslib/general\n", - "\t/usr/local/MATLAB/R2016a/toolbox/simulink/blocks/sb2sl\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/powersys/DR/DR\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/reqmgt\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/reqmgt/mmutils\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/controllib/graphics\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/controllib/graphics/utils\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/controllib/graphics/plotoptions\n", - "\t/usr/local/MATLAB/R2016a/toolbox/simulink/sledittimecheck\n", - "\t/usr/local/MATLAB/R2016a/toolbox/hdlcoder/slhdltemplates\n", - "\t/usr/local/MATLAB/R2016a/toolbox/distcomp\n", - "\t/usr/local/MATLAB/R2016a/toolbox/distcomp/distcomp\n", - "\t/usr/local/MATLAB/R2016a/toolbox/distcomp/user\n", - "\t/usr/local/MATLAB/R2016a/toolbox/distcomp/mpi\n", - "\t/usr/local/MATLAB/R2016a/toolbox/distcomp/parallel\n", - "\t/usr/local/MATLAB/R2016a/toolbox/distcomp/parallel/util\n", - "\t/usr/local/MATLAB/R2016a/toolbox/distcomp/lang\n", - "\t/usr/local/MATLAB/R2016a/toolbox/distcomp/cluster\n", - "\t/usr/local/MATLAB/R2016a/toolbox/distcomp/gpu\n", - "\t/usr/local/MATLAB/R2016a/toolbox/distcomp/array\n", - "\t/usr/local/MATLAB/R2016a/toolbox/target/codertarget\n", - "\t/usr/local/MATLAB/R2016a/toolbox/target/codertarget/rtw\n", - "\t/usr/local/MATLAB/R2016a/toolbox/target/codertarget/matlabcoder\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/simscape/simscapedemos\n", - "\t/usr/local/MATLAB/R2016a/toolbox/comm/templates\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/simulink\n", - "\t/usr/local/MATLAB/R2016a/toolbox/hdlcoder/hdlcoderdemos\n", - "\t/usr/local/MATLAB/R2016a/toolbox/hdlcoder/hdlcoderdemos/matlabhdlcoderdemos\n", - "\t/usr/local/MATLAB/R2016a/toolbox/target/extensions/processor/tic5000/tic5000demos\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/common/gl/sli/m\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/system/simulink\n", - "\t/usr/local/MATLAB/R2016a/toolbox/images/colorspaces\n", - "\t/usr/local/MATLAB/R2016a/toolbox/images/images\n", - "\t/usr/local/MATLAB/R2016a/toolbox/images/imdata\n", - "\t/usr/local/MATLAB/R2016a/toolbox/images/imuitools\n", - "\t/usr/local/MATLAB/R2016a/toolbox/images/iptformats\n", - "\t/usr/local/MATLAB/R2016a/toolbox/images/iptutils\n", - "\t/usr/local/MATLAB/R2016a/toolbox/target/extensions/processor/tic6000\n", - "\t/usr/local/MATLAB/R2016a/toolbox/target/extensions/processor/tic6000/rtw\n", - "\t/usr/local/MATLAB/R2016a/toolbox/target/extensions/processor/tic6000/tfl\n", - "\t/usr/local/MATLAB/R2016a/toolbox/target/extensions/processor/tic6000/utils\n", - "\t/usr/local/MATLAB/R2016a/toolbox/target/extensions/processor/tic6000/blks/sysobj_mex\n", - "\t/usr/local/MATLAB/R2016a/toolbox/target/extensions/processor/tic6000/blks/mex\n", - "\t/usr/local/MATLAB/R2016a/toolbox/distcomp/pctdemos\n", - "\t/usr/local/MATLAB/R2016a/toolbox/matlab/appdesigner/appdesigner\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/mlreportgen/ppt\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/mlreportgen/ppt/ppt\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/mlreportgen/ppt/ppt/help\n", - "\t/usr/local/MATLAB/R2016a/toolbox/coder/matlabcoder\n", - "\t/usr/local/MATLAB/R2016a/toolbox/coder/matlabcoder/templates\n", - "\t/usr/local/MATLAB/R2016a/toolbox/dsp/templates\n", - "\t/usr/local/MATLAB/R2016a/toolbox/globaloptim\n", - "\t/usr/local/MATLAB/R2016a/toolbox/globaloptim/globaloptim\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/appdes/services\n", - "\t/usr/local/MATLAB/R2016a/toolbox/coder/emlcodermex\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/powersys/powerdemo/power_electronics\n", - "\t/usr/local/MATLAB/R2016a/toolbox/pde/pdedemos\n", - "\t/usr/local/MATLAB/R2016a/toolbox/slvnv/slvnvdemos\n", - "\t/usr/local/MATLAB/R2016a/toolbox/sl_pir_cap\n", - "\t/usr/local/MATLAB/R2016a/toolbox/target\n", - "\t/usr/local/MATLAB/R2016a/toolbox/target/foundation\n", - "\t/usr/local/MATLAB/R2016a/toolbox/target/foundation/utils\n", - "\t/usr/local/MATLAB/R2016a/toolbox/target/foundation/utils/resource_config\n", - "\t/usr/local/MATLAB/R2016a/toolbox/target/foundation/blks\n", - "\t/usr/local/MATLAB/R2016a/toolbox/target/foundation/blks/mex\n", - "\t/usr/local/MATLAB/R2016a/toolbox/target/foundation/blks/masks\n", - "\t/usr/local/MATLAB/R2016a/toolbox/target/extensions/processor/shared\n", - "\t/usr/local/MATLAB/R2016a/toolbox/target/extensions/processor/shared/ti\n", - "\t/usr/local/MATLAB/R2016a/toolbox/target/extensions/processor/shared/ti/mdlinfo\n", - "\t/usr/local/MATLAB/R2016a/toolbox/target/extensions/processor/shared/ti/utils\n", - "\t/usr/local/MATLAB/R2016a/toolbox/target/extensions/processor/shared/ti/blks\n", - "\t/usr/local/MATLAB/R2016a/toolbox/target/extensions/processor/shared/ti/blks/mex\n", - "\t/usr/local/MATLAB/R2016a/toolbox/target/extensions/processor/shared/ti/blks/masks\n", - "\t/usr/local/MATLAB/R2016a/toolbox/target/extensions/processor/ARM/tfl\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/etargets/etargets\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/etargets/etargets/demoutils\n", - "\t/usr/local/MATLAB/R2016a/toolbox/optim/optim\n", - "\t/usr/local/MATLAB/R2016a/toolbox/optim\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/simscape/advisor/m\n", - "\t/usr/local/MATLAB/R2016a/toolbox/target/targetdemos\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/hadoopserializer\n", - "\t/usr/local/MATLAB/R2016a/toolbox/matlab/external/engines/engine_api\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/siglib\n", - "\t/usr/local/MATLAB/R2016a/toolbox/simulink/simulink/performance\n", - "\t/usr/local/MATLAB/R2016a/toolbox/simulink/simulink/performance/performancea\n", - "\t/usr/local/MATLAB/R2016a/toolbox/simevents/examples\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/hdlshared\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/sm/local/m\n", - "\t/usr/local/MATLAB/R2016a/toolbox/matlab/uicomponents/uicomponents\n", - "\t/usr/local/MATLAB/R2016a/toolbox/matlab/uicomponents/uicomponents/pending\n", - "\t/usr/local/MATLAB/R2016a/toolbox/matlab/uicomponents/uicomponents/graphics\n", - "\t/usr/local/MATLAB/R2016a/toolbox/fixedpoint/fixedpointconverter\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/powersys/drives/drivesdemo\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/simscape/library/m\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/sdi\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/asynciolib\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/cmlink/api\n", - "\t/usr/local/MATLAB/R2016a/toolbox/matlab/toolboxmanagement/matlab_api\n", - "\t/usr/local/MATLAB/R2016a/toolbox/mpc/mpcdemos\n", - "\t/usr/local/MATLAB/R2016a/toolbox/distcomp/mapreduce\n", - "\t/usr/local/MATLAB/R2016a/toolbox/matlab/networklib\n", - "\t/usr/local/MATLAB/R2016a/toolbox/dsp/dspdemos\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/testmeaslib/simulink\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/controllib/general\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/imaqlib\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/equation_language/equation_language\n", - "\t/usr/local/MATLAB/R2016a/toolbox/simulink/slmetrics\n", - "\t/usr/local/MATLAB/R2016a/toolbox/vision/vision\n", - "\t/usr/local/MATLAB/R2016a/toolbox/vision/visiondata\n", - "\t/usr/local/MATLAB/R2016a/toolbox/vision/visionutilities\n", - "\t/usr/local/MATLAB/R2016a/toolbox/vision/visionutilities/visioninit\n", - "\t/usr/local/MATLAB/R2016a/toolbox/vision/visionutilities/visionmex\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/simscape/foundation/simscape\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/system/sfun\n", - "\t/usr/local/MATLAB/R2016a/toolbox/matlab/toolbox_packaging\n", - "\t/usr/local/MATLAB/R2016a/toolbox/simulink/simulink_data_dictionary/sldd\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/pdelib\n", - "\t/usr/local/MATLAB/R2016a/toolbox/compiler_sdk/java\n", - "\t/usr/local/MATLAB/R2016a/toolbox/simulink/sta/scenarioconnector\n", - "\t/usr/local/MATLAB/R2016a/toolbox/simulink/sta/scenarioconnector/ui\n", - "\t/usr/local/MATLAB/R2016a/toolbox/simulink/sta/scenarioconnector/ui/toolstrip/modelsection\n", - "\t/usr/local/MATLAB/R2016a/toolbox/simulink/sta/scenarioconnector/ui/toolstrip/filesection\n", - "\t/usr/local/MATLAB/R2016a/toolbox/simulink/sta/editor/ui\n", - "\t/usr/local/MATLAB/R2016a/toolbox/simulink/sta/ui\n", - "\t/usr/local/MATLAB/R2016a/toolbox/simulink/sta/ui/comparisontool\n", - "\t/usr/local/MATLAB/R2016a/toolbox/simulink/sta/ui/mapping\n", - "\t/usr/local/MATLAB/R2016a/toolbox/simulink/sta/ui/mapping/callbacks\n", - "\t/usr/local/MATLAB/R2016a/toolbox/simulink/sta/ui/mapping/util\n", - "\t/usr/local/MATLAB/R2016a/toolbox/simulink/sta/ui/toolstrip\n", - "\t/usr/local/MATLAB/R2016a/toolbox/simulink/sta/ui/toolstrip/open/streaming\n", - "\t/usr/local/MATLAB/R2016a/toolbox/simulink/sta/ui/toolstrip/help\n", - "\t/usr/local/MATLAB/R2016a/toolbox/simulink/sta/ui/toolstrip/open\n", - "\t/usr/local/MATLAB/R2016a/toolbox/simulink/sta/ui/toolstrip/session\n", - "\t/usr/local/MATLAB/R2016a/toolbox/simulink/sta/ui/toolstrip/report\n", - "\t/usr/local/MATLAB/R2016a/toolbox/globaloptim/globaloptimdemos\n", - "\t/usr/local/MATLAB/R2016a/toolbox/econ/econ\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/common/dataservices/sli/m\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/sl_async_streaming\n", - "\t/usr/local/MATLAB/R2016a/toolbox/idelink/extensions/ticcs\n", - "\t/usr/local/MATLAB/R2016a/toolbox/idelink/extensions/ticcs/ccsblks\n", - "\t/usr/local/MATLAB/R2016a/toolbox/idelink/extensions/ticcs/ccslinkblks\n", - "\t/usr/local/MATLAB/R2016a/toolbox/idelink/extensions/ticcs/ccslinkblks/rtdxsimblks\n", - "\t/usr/local/MATLAB/R2016a/toolbox/idelink/extensions/ticcs/mdlinfo\n", - "\t/usr/local/MATLAB/R2016a/toolbox/idelink/extensions/ticcs/tfl\n", - "\t/usr/local/MATLAB/R2016a/toolbox/idelink/extensions/ticcs/util\n", - "\t/usr/local/MATLAB/R2016a/toolbox/idelink/extensions/ticcs/rtw\n", - "\t/usr/local/MATLAB/R2016a/toolbox/idelink/extensions/ticcs/envChecker\n", - "\t/usr/local/MATLAB/R2016a/toolbox/idelink/foundation/pjtgenerator\n", - "\t/usr/local/MATLAB/R2016a/toolbox/idelink/foundation/pjtgenerator/rtw\n", - "\t/usr/local/MATLAB/R2016a/toolbox/idelink/foundation/pjtgenerator/tgtpref2\n", - "\t/usr/local/MATLAB/R2016a/toolbox/idelink/foundation/pjtgenerator/profiler\n", - "\t/usr/local/MATLAB/R2016a/toolbox/idelink/foundation/pjtgenerator/mdlinfo\n", - "\t/usr/local/MATLAB/R2016a/toolbox/idelink/foundation/pjtgenerator/blks\n", - "\t/usr/local/MATLAB/R2016a/toolbox/idelink/foundation/pjtgenerator/blks/masks\n", - "\t/usr/local/MATLAB/R2016a/toolbox/idelink/foundation/pjtgenerator/blks/tlc_c\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/simscape/engine/core/m\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/system/coder\n", - "\t/usr/local/MATLAB/R2016a/toolbox/wavelet/wavelet\n", - "\t/usr/local/MATLAB/R2016a/toolbox/wavelet/wmultisig1d\n", - "\t/usr/local/MATLAB/R2016a/toolbox/wavelet/compression\n", - "\t/usr/local/MATLAB/R2016a/toolbox/hdlcoder/hdlcommon\n", - "\t/usr/local/MATLAB/R2016a/toolbox/hdlcoder/hdlcommon/modelcheckeradvisor\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/powersys/library\n", - "\t/usr/local/MATLAB/R2016a/toolbox/slvnv/rmidemos\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/eda/board\n", - "\t/usr/local/MATLAB/R2016a/toolbox/hdlcoder/hdllib/sl_lib\n", - "\t/usr/local/MATLAB/R2016a/toolbox/bioinfo/bioinfodata\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/coder/coder\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/dsp/visionhdl/simulink/dsp\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/polyspace\n", - "\t/usr/local/MATLAB/R2016a/toolbox/robust/rctdemos\n", - "\t/usr/local/MATLAB/R2016a/toolbox/simulink/sltemplate\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/common/dataservices/core/m\n", - "\t/usr/local/MATLAB/R2016a/toolbox/matlab/system/editor\n", - "\t/usr/local/MATLAB/R2016a/toolbox/hdlcoder/hdlcoder\n", - "\t/usr/local/MATLAB/R2016a/toolbox/hdlcoder/hdlcoder/hdlwa\n", - "\t/usr/local/MATLAB/R2016a/toolbox/rtw/targets/ecoder/ecoderdemos/dataclasses\n", - "\t/usr/local/MATLAB/R2016a/toolbox/rtw/targets/ecoder/ecoderdemos\n", - "\t/usr/local/MATLAB/R2016a/toolbox/signal/signal\n", - "\t/usr/local/MATLAB/R2016a/toolbox/signal/sigtools\n", - "\t/usr/local/MATLAB/R2016a/toolbox/signal/sptoolgui\n", - "\t/usr/local/MATLAB/R2016a/toolbox/compiler/mlhadoop\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/sm/smdemos\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/sm/smdemos/images\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/sm/smdemos/wing_landing_gear\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/sm/smdemos/wing_landing_gear/images\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/sm/smdemos/cart_double_pendulum\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/sm/smdemos/cart_double_pendulum/images\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/sm/smdemos/stewart_platform\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/sm/smdemos/stewart_platform/images\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/sm/smdemos/double_crank_aiming\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/sm/smdemos/double_crank_aiming/images\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/sm/smdemos/bread_slicer\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/sm/smdemos/bread_slicer/images\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/sm/smdemos/import/stewart_platform\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/sm/smdemos/import/four_bar\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/sm/smdemos/radial_engine\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/sm/smdemos/radial_engine/images\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/sm/smdemos/double_wishbone_suspension\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/sm/smdemos/double_wishbone_suspension/images\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/sm/smdemos/import/robot\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/sm/smdemos/cardan_gear\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/sm/smdemos/cardan_gear/images\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/sm/smdemos/windshield_wiper\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/sm/smdemos/windshield_wiper/images\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/sm/smdemos/backhoe\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/sm/smdemos/robotic_wrist\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/sm/smdemos/carousel\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/sm/smdemos/welding_robot\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/sm/smdemos/import/robot_stepfiles\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/sm/smdemos/potters_wheel\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/sm/smdemos/linear_actuator\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/sm/smdemos/pto_shaft\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/sm/smdemos/cam_flapping_wing\n", - "\t/usr/local/MATLAB/R2016a/toolbox/simulink/fixedandfloat/fxpdemos\n", - "\t/usr/local/MATLAB/R2016a/toolbox/vision/visiondemos\n", - "\t/usr/local/MATLAB/R2016a/toolbox/nnet/nndemos\n", - "\t/usr/local/MATLAB/R2016a/toolbox/nnet/nndemos/nndatasets\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/hwconnectinstaller\n", - "\t/usr/local/MATLAB/R2016a/help/toolbox/comm/examples\n", - "\t/usr/local/MATLAB/R2016a/toolbox/bioinfo/bioinfo\n", - "\t/usr/local/MATLAB/R2016a/toolbox/bioinfo/biolearning\n", - "\t/usr/local/MATLAB/R2016a/toolbox/bioinfo/microarray\n", - "\t/usr/local/MATLAB/R2016a/toolbox/bioinfo/mass_spec\n", - "\t/usr/local/MATLAB/R2016a/toolbox/bioinfo/proteins\n", - "\t/usr/local/MATLAB/R2016a/toolbox/bioinfo/biomatrices\n", - "\t/usr/local/MATLAB/R2016a/toolbox/bioinfo/graphtheory\n", - "\t/usr/local/MATLAB/R2016a/toolbox/matlab/external/interfaces/webservices/restful\n", - "\t/usr/local/MATLAB/R2016a/toolbox/matlab/external/interfaces\n", - "\t/usr/local/MATLAB/R2016a/toolbox/matlab/external/interfaces/webservices\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/slci/slci\n", - "\t/usr/local/MATLAB/R2016a/toolbox/sldv/sldv\n", - "\t/usr/local/MATLAB/R2016a/toolbox/fixedpoint/fixedpoint\n", - "\t/usr/local/MATLAB/R2016a/toolbox/hdlcoder/hdlslrt\n", - "\t/usr/local/MATLAB/R2016a/toolbox/robotics/robotalgs\n", - "\t/usr/local/MATLAB/R2016a/toolbox/slvnv/metrics\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/pe/library/m\n", - "\t/usr/local/MATLAB/R2016a/toolbox/slvnv/do178b\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/powersys/DR/DRdemo\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/sl_coverage_configset\n", - "\t/usr/local/MATLAB/R2016a/toolbox/robotics/robotsimulink\n", - "\t/usr/local/MATLAB/R2016a/toolbox/robotics/robotsimulink/robotslros\n", - "\t/usr/local/MATLAB/R2016a/toolbox/robotics/robotsimulink/robotslros/registry\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/system/coreblocks\n", - "\t/usr/local/MATLAB/R2016a/toolbox/simevents/simevents\n", - "\t/usr/local/MATLAB/R2016a/toolbox/simevents/simevents/icons\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/common/external/mli/m\n", - "\t/usr/local/MATLAB/R2016a/toolbox/matlab/timeseries\n", - "\t/usr/local/MATLAB/R2016a/toolbox/matlab/hds\n", - "\t/usr/local/MATLAB/R2016a/toolbox/matlab/addons_zip\n", - "\t/usr/local/MATLAB/R2016a/toolbox/coder/xrel\n", - "\t/usr/local/MATLAB/R2016a/toolbox/slvnv/simcovdemos\n", - "\t/usr/local/MATLAB/R2016a/toolbox/matlab/apps\n", - "\t/usr/local/MATLAB/R2016a/toolbox/slvnv/iec61508\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/sldv_sfcn/sldv_sfcn\n", - "\t/usr/local/MATLAB/R2016a/help/toolbox/slcontrol/examples\n", - "\t/usr/local/MATLAB/R2016a/toolbox/robotics/robotcore\n", - "\t/usr/local/MATLAB/R2016a/toolbox/matlab/imagesci\n", - "\t/usr/local/MATLAB/R2016a/toolbox/econ/econdemos\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/sldv\n", - "\t/usr/local/MATLAB/R2016a/toolbox/coder/codedescriptor_core\n", - "\t/usr/local/MATLAB/R2016a/toolbox/curvefit/curvefit\n", - "\t/usr/local/MATLAB/R2016a/toolbox/curvefit/splines\n", - "\t/usr/local/MATLAB/R2016a/toolbox/curvefit/sftoolgui\n", - "\t/usr/local/MATLAB/R2016a/toolbox/target/extensions/processor/tic5000\n", - "\t/usr/local/MATLAB/R2016a/toolbox/target/extensions/processor/tic5000/blks\n", - "\t/usr/local/MATLAB/R2016a/toolbox/target/extensions/processor/tic5000/blks/mex\n", - "\t/usr/local/MATLAB/R2016a/toolbox/target/extensions/processor/tic5000/blks/masks\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/dastudio/dpvu/dpvu\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/dastudio/dpvu/dpvu/metamodel\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/dastudio/dpvu/dpvu/actions\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/cgxe/cgxe\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/controllib/requirements\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/testconsole\n", - "\t/usr/local/MATLAB/R2016a/toolbox/instrument/instrumentdemos\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/dsp/vision/matlab/utilities\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/dsp/vision/simulink/utilities\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/dsp/vision/matlab/utilities/mex\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/dsp/vision/simulink/utilities/mex\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/dsp/vision/matlab/utilities/init\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/dsp/vision/matlab/vision\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/dsp/vision/simulink/vision\n", - "\t/usr/local/MATLAB/R2016a/toolbox/nnet/cnn\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/sl_messages\n", - "\t/usr/local/MATLAB/R2016a/toolbox/simbio/simbiodemos\n", - "\t/usr/local/MATLAB/R2016a/toolbox/matlab/uitools/uicomponents/components\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/mlreportgen/dom\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/mlreportgen/dom/dom\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/mlreportgen/dom/dom/help\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/simscape/engine/sli/m\n", - "\t/usr/local/MATLAB/R2016a/toolbox/target/extensions/operatingsystem/linux/blks\n", - "\t/usr/local/MATLAB/R2016a/toolbox/target/extensions/operatingsystem/linux/blks/masks\n", - "\t/usr/local/MATLAB/R2016a/toolbox/target/extensions/operatingsystem/linux/blks/mex\n", - "\t/usr/local/MATLAB/R2016a/toolbox/target/extensions/operatingsystem/linux/src\n", - "\t/usr/local/MATLAB/R2016a/toolbox/realtime/realtime/hwconnection\n", - "\t/usr/local/MATLAB/R2016a/toolbox/rtw/targets/ecoder\n", - "\t/usr/local/MATLAB/R2016a/toolbox/rtw/targets/mpt\n", - "\t/usr/local/MATLAB/R2016a/toolbox/rtw/targets/mpt/mpt\n", - "\t/usr/local/MATLAB/R2016a/toolbox/rtw/targets/mpt/user_specific\n", - "\t/usr/local/MATLAB/R2016a/toolbox/coder/embeddedcoder\n", - "\t/usr/local/MATLAB/R2016a/toolbox/simulink/simulink/slproject/examples\n", - "\t/usr/local/MATLAB/R2016a/toolbox/slcontrol/slctrldemos\n", - "\t/usr/local/MATLAB/R2016a/toolbox/compiler\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/powersys/facts/factsdemo\n", - "\t/usr/local/MATLAB/R2016a/toolbox/slvnv/simcoverage\n", - "\t/usr/local/MATLAB/R2016a/toolbox/matlab/external/engines/python\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/common/dataservices/gui/m\n", - "\t/usr/local/MATLAB/R2016a/toolbox/fuzzy/fuzdemos\n", - "\t/usr/local/MATLAB/R2016a/toolbox/fininst/fininst\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/sps/sps\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/common/units/mli/m\n", - "\t/usr/local/MATLAB/R2016a/toolbox/coder/coder\n", - "\t/usr/local/MATLAB/R2016a/toolbox/sldv/slicer\n", - "\t/usr/local/MATLAB/R2016a/toolbox/sldv/slicer/gui\n", - "\t/usr/local/MATLAB/R2016a/toolbox/coder/codegendemos\n", - "\t/usr/local/MATLAB/R2016a/toolbox/wavelet/wavedemo\n", - "\t/usr/local/MATLAB/R2016a/toolbox/matlab/addons\n", - "\t/usr/local/MATLAB/R2016a/toolbox/matlab/addons/cef\n", - "\t/usr/local/MATLAB/R2016a/toolbox/matlab/addons/fallbackmanager\n", - "\t/usr/local/MATLAB/R2016a/toolbox/compiler/compilerdemos\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/mapgeodesy\n", - "\t/usr/local/MATLAB/R2016a/toolbox/simulink/sta/derivedSignals\n", - "\t/usr/local/MATLAB/R2016a/toolbox/simulink/sta/sourceBlocks\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/sm/docexamples\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/cgir_fe\n", - "\t/usr/local/MATLAB/R2016a/toolbox/coder/float2fixed\n", - "\t/usr/local/MATLAB/R2016a/toolbox/coder/float2fixed/demos\n", - "\t/usr/local/MATLAB/R2016a/toolbox/coder/float2fixed/dmm_emlauthoring\n", - "\t/usr/local/MATLAB/R2016a/toolbox/fuzzy/fuzzy\n", - "\t/usr/local/MATLAB/R2016a/toolbox/fuzzy/fuzzyutil\n", - "\t/usr/local/MATLAB/R2016a/toolbox/target/extensions/processor/tic2000\n", - "\t/usr/local/MATLAB/R2016a/toolbox/target/extensions/processor/tic2000/rtw\n", - "\t/usr/local/MATLAB/R2016a/toolbox/target/extensions/processor/tic2000/utils\n", - "\t/usr/local/MATLAB/R2016a/toolbox/finance/finance\n", - "\t/usr/local/MATLAB/R2016a/toolbox/finance/calendar\n", - "\t/usr/local/MATLAB/R2016a/toolbox/finance/finsupport\n", - "\t/usr/local/MATLAB/R2016a/toolbox/finance/ftseries\n", - "\t/usr/local/MATLAB/R2016a/toolbox/realtime\n", - "\t/usr/local/MATLAB/R2016a/toolbox/realtime/realtime\n", - "\t/usr/local/MATLAB/R2016a/toolbox/realtime/realtime/rtw\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/optimlib\n", - "\t/usr/local/MATLAB/R2016a/toolbox/simulink/simulink/upgradeadvisor\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/common/gl/mli/m\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/spcuilib\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/pe/advisor/m\n", - "\t/usr/local/MATLAB/R2016a/toolbox/imaq/imaqblks/imaqblks\n", - "\t/usr/local/MATLAB/R2016a/toolbox/imaq/imaqblks/imaqmex\n", - "\t/usr/local/MATLAB/R2016a/toolbox/imaq/imaqblks/imaqmasks\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/sl_web_widgets\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/common/foundation/mli/m\n", - "\t/usr/local/MATLAB/R2016a/toolbox/fixedpoint/fixedpointtool\n", - "\t/usr/local/MATLAB/R2016a/toolbox/simulink/compiled_model_interface\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/simscape/engine/mli/m\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/hwconnectinstaller/common\n", - "\t/usr/local/MATLAB/R2016a/toolbox/database/dbdemos\n", - "\t/usr/local/MATLAB/R2016a/toolbox/javabuilder/javabuilder\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/rptgen\n", - "\t/usr/local/MATLAB/R2016a/toolbox/images/imdemos\n", - "\t/usr/local/MATLAB/R2016a/help/toolbox/dsp/examples\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/slvnv\n", - "\t/usr/local/MATLAB/R2016a/toolbox/slvnv/slvnv\n", - "\t/usr/local/MATLAB/R2016a/toolbox/stats/gpu\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/simscape/simscape/m\n", - "\t/usr/local/MATLAB/R2016a/toolbox/matlab/cefclient\n", - "\t/usr/local/MATLAB/R2016a/toolbox/sl3d/sl3ddemos\n", - "\t/usr/local/MATLAB/R2016a/toolbox/simulink/simulink/slproject/templates\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/spcuilib/slscopes\n", - "\t/usr/local/MATLAB/R2016a/toolbox/matlab/supportpackagemanagement\n", - "\t/usr/local/MATLAB/R2016a/toolbox/control/ctrldemos\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/dspblks/dspblks\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/dspblks/dspmex\n", - "\t/usr/local/MATLAB/R2016a/toolbox/ident/iddemos\n", - "\t/usr/local/MATLAB/R2016a/toolbox/ident/iddemos/examples\n", - "\t/usr/local/MATLAB/R2016a/toolbox/idelink/idelinkdemos\n", - "\t/usr/local/MATLAB/R2016a/toolbox/idelink/extensions/ticcs/ccsdemos\n", - "\t/usr/local/MATLAB/R2016a/toolbox/idelink/extensions/ticcs/ccsdemos/util\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/eda/edagraph\n", - "\t/usr/local/MATLAB/R2016a/toolbox/matlab/external/interfaces/webservices/wsdl\n", - "\t/usr/local/MATLAB/R2016a/toolbox/fixedpoint/fidemos\n", - "\t/usr/local/MATLAB/R2016a/toolbox/map/map\n", - "\t/usr/local/MATLAB/R2016a/toolbox/map/mapgeodesy\n", - "\t/usr/local/MATLAB/R2016a/toolbox/map/mapdisp\n", - "\t/usr/local/MATLAB/R2016a/toolbox/map/mapformats\n", - "\t/usr/local/MATLAB/R2016a/toolbox/map/mapproj\n", - "\t/usr/local/MATLAB/R2016a/toolbox/map/mapdata\n", - "\t/usr/local/MATLAB/R2016a/toolbox/map/mapdata/sdts\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/statslib\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/statslib/sensitivity\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/powersys/drives/drives\n", - "\t/usr/local/MATLAB/R2016a/toolbox/slcontrol/slcontrol\n", - "\t/usr/local/MATLAB/R2016a/toolbox/slcontrol/slctrlguis\n", - "\t/usr/local/MATLAB/R2016a/toolbox/slcontrol/slctrlutil\n", - "\t/usr/local/MATLAB/R2016a/toolbox/slcontrol/slctrlobsolete\n", - "\t/usr/local/MATLAB/R2016a/toolbox/matlab/spf/matlabservices\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/dsp/dialog\n", - "\t/usr/local/MATLAB/R2016a/toolbox/imaq/imaqdemos\n", - "\t/usr/local/MATLAB/R2016a/toolbox/symbolic/symbolicdemos\n", - "\t/usr/local/MATLAB/R2016a/toolbox/instrument/instrument\n", - "\t/usr/local/MATLAB/R2016a/toolbox/instrument/instrumentblks/instrumentblks\n", - "\t/usr/local/MATLAB/R2016a/toolbox/instrument/instrumentblks/instrumentmex\n", - "\t/usr/local/MATLAB/R2016a/toolbox/instrument/instrumentblks/instrumentmasks\n", - "\t/usr/local/MATLAB/R2016a/toolbox/eml/eml\n", - "\t/usr/local/MATLAB/R2016a/toolbox/coder/profile\n", - "\t/usr/local/MATLAB/R2016a/toolbox/database/database\n", - "\t/usr/local/MATLAB/R2016a/toolbox/database/vqb\n", - "\t/usr/local/MATLAB/R2016a/toolbox/map/mapdemos\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/cxxfe_mi/cxxfe_mi\n", - "\t/usr/local/MATLAB/R2016a/toolbox/stats/mlearnapp\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/eda/fpgaautomation\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/eda/fpgaautomation/obsolete\n", - "\t/usr/local/MATLAB/R2016a/toolbox/comm/commdemos\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/pe/pedemos\n", - "\t/usr/local/MATLAB/R2016a/toolbox/slrequirements\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/slcontrollib\n", - "\t/usr/local/MATLAB/R2016a/toolbox/geoweb/geoweb\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/configset\n", - "\t/usr/local/MATLAB/R2016a/toolbox/comm/cdma2000\n", - "\t/usr/local/MATLAB/R2016a/toolbox/signal/signalanalyzer\n", - "\t/usr/local/MATLAB/R2016a/toolbox/robotics/robotics\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/can\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/can/canblks\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/can/canmasks\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/can/canmex\n", - "\t/usr/local/MATLAB/R2016a/toolbox/simulink/fixedandfloat\n", - "\t/usr/local/MATLAB/R2016a/toolbox/simulink/fixedandfloat/obsolete\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/common/data/mli/m\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/sm/foundation/mech\n", - "\t/usr/local/MATLAB/R2016a/toolbox/imaq/imaq\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/pm_visimpl/pm_visimpl\n", - "\t/usr/local/MATLAB/R2016a/toolbox/bioinfo/biodemos\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/sigbldr\n", - "\t/usr/local/MATLAB/R2016a/toolbox/dsp/dsp\n", - "\t/usr/local/MATLAB/R2016a/toolbox/dsp/dsputilities\n", - "\t/usr/local/MATLAB/R2016a/toolbox/dsp/dsputilities/dspinit\n", - "\t/usr/local/MATLAB/R2016a/toolbox/dsp/dsputilities/dspmex\n", - "\t/usr/local/MATLAB/R2016a/toolbox/dsp/dsp/compiled\n", - "\t/usr/local/MATLAB/R2016a/toolbox/symbolic/symbolic\n", - "\t/usr/local/MATLAB/R2016a/toolbox/optim/optimdemos\n", - "\t/usr/local/MATLAB/R2016a/toolbox/curvefit/curvefitdemos\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/instrument\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/common/external/library/m\n", - "\t/usr/local/MATLAB/R2016a/toolbox/simulink/simulink/slproject\n", - "\t/usr/local/MATLAB/R2016a/toolbox/simulink/simulink/slproject/menu\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/mech/mech\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/mech/importer\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/simulation_data_repository\n", - "\t/usr/local/MATLAB/R2016a/help/toolbox/control/examples\n", - "\t/usr/local/MATLAB/R2016a/help/toolbox/vision/examples\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/powersys/powerdemo\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/powersys/powerdemo/meascontrol\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/powersys/powerdemo/power_utility\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/sm/ssci/m\n", - "\t/usr/local/MATLAB/R2016a/toolbox/simulink/sl_async_streaming\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/simulink/slcheck_services\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/measure\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/powersys/powerdemo/simple\n", - "\t/usr/local/MATLAB/R2016a/toolbox/coder/trace\n", - "\t/usr/local/MATLAB/R2016a/toolbox/compiler_sdk\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/diagnostic\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/powersys/templates\n", - "\t/usr/local/MATLAB/R2016a/toolbox/sldv/sldvdemos\n", - "\t/usr/local/MATLAB/R2016a/toolbox/simulink/sta/repository\n", - "\t/usr/local/MATLAB/R2016a/toolbox/simulink/sta/repository/util\n", - "\t/usr/local/MATLAB/R2016a/toolbox/stats/stats\n", - "\t/usr/local/MATLAB/R2016a/toolbox/stats/classreg\n", - "\t/usr/local/MATLAB/R2016a/toolbox/stats/clustering\n", - "\t/usr/local/MATLAB/R2016a/toolbox/hdlcoder/hdllib/ml_lib\n", - "\t/usr/local/MATLAB/R2016a/toolbox/simulink/simulink/iodata/ioformat\n", - "\t/usr/local/MATLAB/R2016a/toolbox/matlab/audiovideo\n", - "\t/usr/local/MATLAB/R2016a/toolbox/matlab/webcam\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/mldatx\n", - "\t/usr/local/MATLAB/R2016a/toolbox/robust/robust\n", - "\t/usr/local/MATLAB/R2016a/toolbox/robust/rctlmi\n", - "\t/usr/local/MATLAB/R2016a/toolbox/robust/rctutil\n", - "\t/usr/local/MATLAB/R2016a/toolbox/robust/rctobsolete/robust\n", - "\t/usr/local/MATLAB/R2016a/toolbox/robust/rctobsolete/lmi\n", - "\t/usr/local/MATLAB/R2016a/toolbox/robust/rctobsolete/mutools/commands\n", - "\t/usr/local/MATLAB/R2016a/toolbox/robust/rctobsolete/mutools/subs\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/codeinstrum/codeinstrum\n", - "\t/usr/local/MATLAB/R2016a/toolbox/control/control\n", - "\t/usr/local/MATLAB/R2016a/toolbox/control/ctrlmodels\n", - "\t/usr/local/MATLAB/R2016a/toolbox/control/ctrlanalysis\n", - "\t/usr/local/MATLAB/R2016a/toolbox/control/ctrldesign\n", - "\t/usr/local/MATLAB/R2016a/toolbox/control/ctrlplots\n", - "\t/usr/local/MATLAB/R2016a/toolbox/control/ctrlguis\n", - "\t/usr/local/MATLAB/R2016a/toolbox/control/ctrlobsolete\n", - "\t/usr/local/MATLAB/R2016a/toolbox/control/ctrlutil\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/simscape/compiler/sli/m\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/dastudio\n", - "\t/usr/local/MATLAB/R2016a/toolbox/stats/statsdemos\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/curvefitlib\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/slpir\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/eda/fpgabase\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/common/dataservices/mli/m\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/hdlshared/hdlshared_gui\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/eda/hdlparser\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/network_engine/network_engine\n", - "\t/usr/local/MATLAB/R2016a/toolbox/target/extensions/processor/intelhost/tfl\n", - "\t/usr/local/MATLAB/R2016a/toolbox/coder/coverage\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/dsp/hdl\n", - "\t/usr/local/MATLAB/R2016a/toolbox/matlab/spf/matlabhost\n", - "\t/usr/local/MATLAB/R2016a/toolbox/mpc/mpc\n", - "\t/usr/local/MATLAB/R2016a/toolbox/mpc/mpcguis\n", - "\t/usr/local/MATLAB/R2016a/toolbox/mpc/mpcobsolete\n", - "\t/usr/local/MATLAB/R2016a/toolbox/mpc/mpcutils\n", - "\t/usr/local/MATLAB/R2016a/toolbox/simulink/slexportprevious\n", - "\t/usr/local/MATLAB/R2016a/toolbox/sl3d/sl3d\n", - "\t/usr/local/MATLAB/R2016a/toolbox/comm/comm\n", - "\t/usr/local/MATLAB/R2016a/toolbox/comm/commutilities/comminit\n", - "\t/usr/local/MATLAB/R2016a/toolbox/comm/commutilities/commmex\n", - "\t/usr/local/MATLAB/R2016a/toolbox/comm/commutilities\n", - "\t/usr/local/MATLAB/R2016a/toolbox/comm/commdeprecated\n", - "\t/usr/local/MATLAB/R2016a/toolbox/comm/comm/compiled\n", - "\t/usr/local/MATLAB/R2016a/toolbox/coder/connectivity\n", - "\t/usr/local/MATLAB/R2016a/toolbox/rtw/targets/connectivity\n", - "\t/usr/local/MATLAB/R2016a/toolbox/simulink/slhistory\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/simscape/templates\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/spreadsheet\n", - "\t/usr/local/MATLAB/R2016a/toolbox/fixpoint\n", - "\t/usr/local/MATLAB/R2016a/toolbox/fixpoint/fpca\n", - "\t/usr/local/MATLAB/R2016a/toolbox/robotics/ros\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/ne_sli/ne_sli\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/dsp/simulink/dsp\n", - "\t/usr/local/MATLAB/R2016a/toolbox/matlab/system\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/eda/fil\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/eda/fil/filmapi\n", - "\t/usr/local/MATLAB/R2016a/toolbox/coder/rtiostream\n", - "\t/usr/local/MATLAB/R2016a/toolbox/pde\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/powersys/powersys\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/hotpluglib\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/multimedia\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/testmeaslib/graphics\n", - "\t/usr/local/MATLAB/R2016a/toolbox/matlab/addons_toolbox\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/imageslib\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/pm_sli/pm_sli\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/dastudio/seqdiagram\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/sm/templates\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/sm/gui/m\n", - "\t/usr/local/MATLAB/R2016a/toolbox/ident/ident\n", - "\t/usr/local/MATLAB/R2016a/toolbox/ident/nlident\n", - "\t/usr/local/MATLAB/R2016a/toolbox/ident/idobsolete\n", - "\t/usr/local/MATLAB/R2016a/toolbox/ident/idguis\n", - "\t/usr/local/MATLAB/R2016a/toolbox/ident/idutils\n", - "\t/usr/local/MATLAB/R2016a/toolbox/ident/idrecursive\n", - "\t/usr/local/MATLAB/R2016a/toolbox/ident/idhelp\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/powersys/powerdemo/machines\n", - "\t/usr/local/MATLAB/R2016a/toolbox/target/extensions/operatingsystem/windows/blks\n", - "\t/usr/local/MATLAB/R2016a/toolbox/target/extensions/operatingsystem/windows/blks/masks\n", - "\t/usr/local/MATLAB/R2016a/toolbox/target/extensions/operatingsystem/windows/blks/mex\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/networklib\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/sm/sli/m\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/sm/sm/m\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/advisor\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/filterdesignlib\n", - "\t/usr/local/MATLAB/R2016a/toolbox/matlab/connector/connector\n", - "\t/usr/local/MATLAB/R2016a/toolbox/idelink/foundation\n", - "\t/usr/local/MATLAB/R2016a/toolbox/idelink/foundation/util\n", - "\t/usr/local/MATLAB/R2016a/toolbox/idelink/foundation/errorhandler\n", - "\t/usr/local/MATLAB/R2016a/toolbox/idelink/foundation/xmakefile\n", - "\t/usr/local/MATLAB/R2016a/toolbox/idelink/foundation/hookpoints\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/comparisons\n", - "\t/usr/local/MATLAB/R2016a/toolbox/signal/sigdemos\n", - "\t/usr/local/MATLAB/R2016a/toolbox/matlab/configtools\n", - "\t/usr/local/MATLAB/R2016a/toolbox/simbio/simbio\n", - "\t/usr/local/MATLAB/R2016a/toolbox/matlab/external/interfaces/python\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/m3i\n", - "\t/usr/local/MATLAB/R2016a/toolbox/matlab/toolstrip\n", - "\t/usr/local/MATLAB/R2016a/toolbox/dsp/dspdeployabledemos\n", - "\t/usr/local/MATLAB/R2016a/toolbox/slvnv/styleguide\n", - "\t/usr/local/MATLAB/R2016a/help/toolbox/robust/examples\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/deviceplugindetection\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/simscape/compiler/mli/m\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/gui/gfx/m\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/sm/import/m\n", - "\t/usr/local/MATLAB/R2016a/toolbox/compiler/java\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/pe/utils/m\n", - "\t/usr/local/MATLAB/R2016a/toolbox/rtw/rtw\n", - "\t/usr/local/MATLAB/R2016a/toolbox/coder/foundation\n", - "\t/usr/local/MATLAB/R2016a/toolbox/coder/foundation/build\n", - "\t/usr/local/MATLAB/R2016a/toolbox/coder/foundation/build/tools/registry\n", - "\t/usr/local/MATLAB/R2016a/toolbox/coder/foundation/tfl\n", - "\t/usr/local/MATLAB/R2016a/toolbox/coder/foundation/tfl/AUTOSAR/AUTOSAR4p0/IFX\n", - "\t/usr/local/MATLAB/R2016a/toolbox/coder/foundation/tfl/AUTOSAR/AUTOSAR4p0/IFL\n", - "\t/usr/local/MATLAB/R2016a/toolbox/coder/foundation/tfl/gui\n", - "\t/usr/local/MATLAB/R2016a/toolbox/coder/foundation/templates\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/simtargets\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/mech/mechdemos\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/maputils\n", - "\t/usr/local/MATLAB/R2016a/toolbox/coder/foundation/passmanager\n", - "\t/usr/local/MATLAB/R2016a/toolbox/simulink/simulink/iodata/iomap\n", - "\t/usr/local/MATLAB/R2016a/toolbox/fininst/fininstdemos\n", - "\t/usr/local/MATLAB/R2016a/toolbox/nnet\n", - "\t/usr/local/MATLAB/R2016a/toolbox/nnet/nncontrol\n", - "\t/usr/local/MATLAB/R2016a/toolbox/nnet/nnet\n", - "\t/usr/local/MATLAB/R2016a/toolbox/nnet/nnet/nnadapt\n", - "\t/usr/local/MATLAB/R2016a/toolbox/nnet/nnet/nndatafun\n", - "\t/usr/local/MATLAB/R2016a/toolbox/nnet/nnet/nnderivative\n", - "\t/usr/local/MATLAB/R2016a/toolbox/nnet/nnet/nndistance\n", - "\t/usr/local/MATLAB/R2016a/toolbox/nnet/nnet/nndivision\n", - "\t/usr/local/MATLAB/R2016a/toolbox/nnet/nnet/nninitlayer\n", - "\t/usr/local/MATLAB/R2016a/toolbox/nnet/nnet/nninitnetwork\n", - "\t/usr/local/MATLAB/R2016a/toolbox/nnet/nnet/nninitweight\n", - "\t/usr/local/MATLAB/R2016a/toolbox/nnet/nnet/nnlearn\n", - "\t/usr/local/MATLAB/R2016a/toolbox/nnet/nnet/nnnetfun\n", - "\t/usr/local/MATLAB/R2016a/toolbox/nnet/nnet/nnnetinput\n", - "\t/usr/local/MATLAB/R2016a/toolbox/nnet/nnet/nnnetwork\n", - "\t/usr/local/MATLAB/R2016a/toolbox/nnet/nnet/nnperformance\n", - "\t/usr/local/MATLAB/R2016a/toolbox/nnet/nnet/nnplot\n", - "\t/usr/local/MATLAB/R2016a/toolbox/nnet/nnet/nnprocess\n", - "\t/usr/local/MATLAB/R2016a/toolbox/nnet/nnet/nnsearch\n", - "\t/usr/local/MATLAB/R2016a/toolbox/nnet/nnet/nntopology\n", - "\t/usr/local/MATLAB/R2016a/toolbox/nnet/nnet/nntrain\n", - "\t/usr/local/MATLAB/R2016a/toolbox/nnet/nnet/nntransfer\n", - "\t/usr/local/MATLAB/R2016a/toolbox/nnet/nnet/nnweight\n", - "\t/usr/local/MATLAB/R2016a/toolbox/nnet/nnguis\n", - "\t/usr/local/MATLAB/R2016a/toolbox/nnet/nnobsolete\n", - "\t/usr/local/MATLAB/R2016a/toolbox/nnet/nnutils\n", - "\t/usr/local/MATLAB/R2016a/toolbox/matlab/addons_product\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/tracking/trackinglib\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/simulink/sysarch/sysarch\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/slreportgen/reportexplorer\n", - "\t/usr/local/MATLAB/R2016a/toolbox/coder/embeddedcoder_templates\n", - "\t/usr/local/MATLAB/R2016a/toolbox/coder/wizard\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/sm/core/m\n", - "\t/usr/local/MATLAB/R2016a/toolbox/robotics/robotexamples\n", - "\t/usr/local/MATLAB/R2016a/toolbox/robotics/robotexamples/ros\n", - "\t/usr/local/MATLAB/R2016a/toolbox/robotics/robotexamples/ros/helpers\n", - "\t/usr/local/MATLAB/R2016a/toolbox/robotics/robotexamples/robotalgs\n", - "\t/usr/local/MATLAB/R2016a/toolbox/robotics/robotexamples/robotalgs/helpers\n", - "\t/usr/local/MATLAB/R2016a/toolbox/robotics/robotexamples/robotcore\n", - "\t/usr/local/MATLAB/R2016a/toolbox/robotics/robotexamples/robotcore/helpers\n", - "\t/usr/local/MATLAB/R2016a/toolbox/robotics/robotexamples/robotsimulink\n", - "\t/usr/local/MATLAB/R2016a/toolbox/robotics/robotexamples/robotsimulink/helpers\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/controllib/engine\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/controllib/engine/numerics\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/controllib/engine/options\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/controllib/engine/optim\n", - "\t/usr/local/MATLAB/R2016a/toolbox/shared/controllib/engine/blocks\n", - "\t/usr/local/MATLAB/R2016a/toolbox/dsp/filterdesign\n", - "\t/usr/local/MATLAB/R2016a/toolbox/finance/findemos\n", - "\t/usr/local/MATLAB/R2016a/toolbox/physmod/powersys/facts/facts\n" - ] - } - ], - "source": [ - "path" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "ans =\n", - "\n", - "/home/ryan/Documents/UConn/ME3255/me3255_S2017/lecture_03\n" - ] - } - ], - "source": [ - "pwd" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "path" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Assignments (`=`-operator)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Matlab is interpreted language so each line of code (either saved text file or command-line) is executed as a standalone command\n", - "\n", - "These are reffered to \"scripts\"" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "ans =\n", - "\n", - " 40\n" - ] - } - ], - "source": [ - "a=10; % line one assigns a to 10\n", - "b=a*3; % line two assigns b to 10 times 3 by calling 'a' from line one\n", - "a+b % line three does not assign anything directly, but leaving off the \";\" prints the result\n", - " % ans" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Matlab has a number of \"objects\" that you can assign to variables\n", - "1. arrays (vectors and matrices `[`...`]`) \n", - "2. strings (text `\"`...`\"` )\n", - "3. cells (combination of strings, text, even function calls `{`...`}`)\n", - "3. functions (both built-in, defined or developed)\n", - "4. and more... (classes defined by `classdef` - you can create your own object to help organize data)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### 1- Arrays" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Default in matlab is that when you assign a value to a variable, it is stored as an array\n", - "\n", - "arrays are N x M x ... values of integers or floating point numbers or complex integers/floating point numbers\n", - "\n", - "Use the parantheses to access values in an array `...(n,m)`" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "ans =\n", - "\n", - " 1\n" - ] - } - ], - "source": [ - "a=10; % a is 1x1 array where a(1,1)==10\n", - "a(1,1)==10\n" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "\u001b[0;31mIndex exceeds matrix dimensions.\n", - "\u001b[0m" - ] - } - ], - "source": [ - "a(2)" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "A =\n", - "\n", - " 1 2 3\n", - " 4 5 6\n", - " 7 8 9\n", - " 10 11 12\n", - "\n", - "size of A is 4 x 3\n", - "\n", - "ans =\n", - "\n", - " 7\n", - "\n", - "\n", - "ans =\n", - "\n", - " 5\n" - ] - } - ], - "source": [ - "A = [1 2 3;4,5,6;7,8,9;10,11,12]\n", - "fprintf('size of A is %i x %i\\n',size(A))\n", - "A(3,1)\n", - "A(6)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "vectors are either 1xN or Nx1 arrays for row and column" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "v_row =\n", - "\n", - " 1 2 3\n", - "\n", - "\n", - "v_column =\n", - "\n", - " 1\n", - " 2\n", - " 3\n" - ] - } - ], - "source": [ - "v_row = [1,2,3] %row vector\n", - "v_column = [1;2;3] %column vector\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Matrices are MxN arrays\n", - "the `:`-symbol can substitute for a counting" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "ans =\n", - "\n", - " 1 2 3\n" - ] - } - ], - "source": [ - "A(1,:) % the colon assumes you want the first value, 1, counting up by 1 to the last value, 4" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "You can also use every 2nd value or any other integer up to `end` which is the largest value of that row or column of the array" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "ans =\n", - "\n", - " 1\n", - " 7\n" - ] - } - ], - "source": [ - "A(1:2:end,1) % you can also use `end` " - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "ans =\n", - "\n", - " 1\n", - " 4\n", - " 7\n", - " 10\n", - " 2\n", - " 5\n", - " 8\n", - " 11\n", - " 3\n", - " 6\n", - " 9\n", - " 12\n" - ] - } - ], - "source": [ - "A(:)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "In general, arrays can be any size \n", - "\n", - "take rolling 4 die and determining the sum of the components" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": { - "collapsed": false - }, - "outputs": [], - "source": [ - "A_6666 = zeros(6,6,6,6); %make a 6 x 6 x 6 x 6 array (1296 different values)\n", - "for i=1:6\n", - " for j=1:6\n", - " for k=1:6\n", - " for l=1:6\n", - " A_6666(i,j,k,l)=i+j+k+l; % each value is the sum of the indices\n", - " end\n", - " end\n", - " end\n", - "end\n", - " " - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "ans =\n", - "\n", - " 14\n", - "\n", - "\n", - "ans =\n", - "\n", - " 3.4170\n" - ] - } - ], - "source": [ - "mean(A_6666(:))\n", - "std(A_6666(:))" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "ans =\n", - "\n", - " 12\n" - ] - } - ], - "source": [ - "A_6666(1,4,2,5)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Cells combine different size arrays and text\n", - "### but, you cannot use math operators 'binary operators'" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "metadata": { - "collapsed": false - }, - "outputs": [], - "source": [ - "C={};\n", - "C{1}=linspace(0,1,10);\n", - "C{2}=linspace(0,1,3);\n", - "C{'z'}='holy cow';" - ] - }, - { - "cell_type": "code", - "execution_count": 26, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "ans =\n", - "\n", - " 3.5185\n" - ] - } - ], - "source": [ - "C{1}*C{1}'" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Strings can be combined and printed" - ] - }, - { - "cell_type": "code", - "execution_count": 30, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "ans =\n", - "\n", - "computational mechanics\n" - ] - } - ], - "source": [ - "string1 = 'computational'; string2 = 'mechanics';\n", - "[string1, ' ', string2]" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "use `fprintf` to format strings and numbers for output and `sprintf` to save variables\n" - ] - }, - { - "cell_type": "code", - "execution_count": 32, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "computational mechanics\n", - "\n", - "\n", - "string =\n", - "\n", - "the dog had 4 legs and weighed 10.0 lbs\n" - ] - } - ], - "source": [ - "fprintf([string1,' ',string2,'\\n\\n'])\n", - "string = sprintf('the dog had %i legs and weighed %1.1f lbs',4,10.0)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "the `\\` signifies a special character e.g. `\\n` = newline, `\\t` = tab\n", - "\n", - "to actually print the \"\\\", use `\\\\`" - ] - }, - { - "cell_type": "code", - "execution_count": 33, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\\\n" - ] - } - ], - "source": [ - "fprintf('\\\\')" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## This is helpful to create reports of computed data" - ] - }, - { - "cell_type": "code", - "execution_count": 36, - "metadata": { - "collapsed": false, - "scrolled": true - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "ans =\n", - "\n", - " 23\n", - "\n", - "\n", - "ans =\n", - "\n", - " 1\n", - "\n", - "\n", - "ans =\n", - "\n", - " 39\n", - "\n", - "\n", - "ans =\n", - "\n", - " 1\n", - "\n", - "\n", - "ans =\n", - "\n", - " 14\n" - ] - } - ], - "source": [ - "%fid = fopen('file.txt','w');\n", - "fprintf(fid,[string1, ' ', string2])\n", - "fprintf(fid,'\\n')\n", - "fprintf(fid,string)\n", - "fprintf(fid,'\\n')\n", - "fprintf(fid,'are you awake?')" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Math operators (=, +, -, /, *, ^)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Because matlab assumes all variables are matrices, then all operators are matrix operations" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "ans = 20\r\n" - ] - } - ], - "source": [ - "a+a % add two 1x1 arrays" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "ans =\n", - "\n", - " 2 4 6\n", - " 8 10 12\n", - " 14 16 18\n", - " 20 22 24\n", - "\n" - ] - } - ], - "source": [ - "A+A % add two 4 x 3 arrays" - ] - }, - { - "cell_type": "code", - "execution_count": 37, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "ans =\n", - "\n", - " 14 32 50 68\n", - " 32 77 122 167\n", - " 50 122 194 266\n", - " 68 167 266 365\n" - ] - } - ], - "source": [ - "A*A'" - ] - }, - { - "cell_type": "code", - "execution_count": 39, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "ans =\n", - "\n", - " 1 4 9\n", - " 16 25 36\n", - " 49 64 81\n", - " 100 121 144\n" - ] - } - ], - "source": [ - "A.^2" - ] - }, - { - "cell_type": "code", - "execution_count": 40, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "ans =\n", - "\n", - " 1 4 9\n", - " 16 25 36\n", - " 49 64 81\n", - " 100 121 144\n" - ] - } - ], - "source": [ - "A.*A" - ] - }, - { - "cell_type": "code", - "execution_count": 44, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[\b> In pymat_eval (line 31)\n", - " In matlabserver (line 24)]\b \n", - "[\bWarning: Rank deficient, rank = 2, tol = 1.696862e-14.]\b \n", - "\n", - "ans =\n", - "\n", - " 1.0000 0 0 -0.0000\n", - " 0.6667 0 0 0.3333\n", - " 0.3333 0 0 0.6667\n", - " 0.0000 0 0 1.0000\n" - ] - } - ], - "source": [ - "A/A" - ] - }, - { - "cell_type": "code", - "execution_count": 45, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "/ Slash or right matrix divide.\n", - " A/B is the matrix division of B into A, which is roughly the\n", - " same as A*INV(B) , except it is computed in a different way.\n", - " More precisely, A/B = (B'\\A')'. See MLDIVIDE for details.\n", - " \n", - " C = MRDIVIDE(A,B) is called for the syntax 'A / B' when A or B is an\n", - " object.\n", - " \n", - " See also MLDIVIDE, RDIVIDE, LDIVIDE.\n", - "\n", - " Reference page in Doc Center\n", - " doc mrdivide\n", - "\n", - " Other functions named mrdivide\n", - "\n", - " codistributed/mrdivide gf/mrdivide laurpoly/mrdivide\n", - " duration/mrdivide gpuArray/mrdivide StaticModel/mrdivide\n", - " DynamicSystem/mrdivide LagOp/mrdivide timeseries/mrdivide\n", - " fints/mrdivide\n" - ] - } - ], - "source": [ - "help /" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "To accomplish one-by-one operations, need to include a `.`" - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "ans =\n", - "\n", - " 1 1 1\n", - " 1 1 1\n", - " 1 1 1\n", - " 1 1 1\n", - "\n" - ] - } - ], - "source": [ - "A./A" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "But, for 1x1 arrays, these are considered scalars and you get a free-pass" - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "ans =\n", - "\n", - " 10 20 30\n", - " 40 50 60\n", - " 70 80 90\n", - " 100 110 120\n", - "\n" - ] - } - ], - "source": [ - "a*A % where a=10 and A is 1:12 in a 3 x 4 matrix" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Some built in Matlab functions (e.g. the reasons to run Matlab)" - ] - }, - { - "cell_type": "code", - "execution_count": 49, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "t_linear =\n", - "\n", - " Columns 1 through 7\n", - "\n", - " 0 0.1000 0.2000 0.3000 0.4000 0.5000 0.6000\n", - "\n", - " Columns 8 through 11\n", - "\n", - " 0.7000 0.8000 0.9000 1.0000\n" - ] - } - ], - "source": [ - "t_linear=linspace(0,1,11)" - ] - }, - { - "cell_type": "code", - "execution_count": 46, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "t_log =\n", - "\n", - " 1 10 100\n" - ] - } - ], - "source": [ - "t_log = logspace(0,2,3) % log interval from 10^0 to 10^2 split into 3 values" - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "'logspace' is a function from the file /usr/share/octave/4.0.0/m/general/logspace.m\n", - "\n", - " -- Function File: logspace (A, B)\n", - " -- Function File: logspace (A, B, N)\n", - " -- Function File: logspace (A, pi, N)\n", - " Return a row vector with N elements logarithmically spaced from\n", - " 10^A to 10^B.\n", - "\n", - " If N is unspecified it defaults to 50.\n", - "\n", - " If B is equal to pi, the points are between 10^A and pi, _not_ 10^A\n", - " and 10^pi, in order to be compatible with the corresponding MATLAB\n", - " function.\n", - "\n", - " Also for compatibility with MATLAB, return the second argument B if\n", - " fewer than two values are requested.\n", - "\n", - " See also: linspace.\n", - "\n", - "Additional help for built-in functions and operators is\n", - "available in the online version of the manual. Use the command\n", - "'doc ' to search the manual index.\n", - "\n", - "Help and information about Octave is also available on the WWW\n", - "at http://www.octave.org and via the help@octave.org\n", - "mailing list.\n" - ] - } - ], - "source": [ - "help logspace" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## When using the command prompt, anything in your path or working directory can be run either as a script, function or class (to define objects)" - ] - }, - { - "cell_type": "code", - "execution_count": 30, - "metadata": { - "collapsed": true - }, - "outputs": [], - "source": [ - "%myscript" - ] - }, - { - "cell_type": "code", - "execution_count": 31, - "metadata": { - "collapsed": true - }, - "outputs": [], - "source": [ - "%plot --format svg" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "When using the GUI, your command history is saved, but it is better to save your work either as a script or a function or combination of both\n", - "\n", - "Creating a default graph script:" - ] - }, - { - "cell_type": "code", - "execution_count": 50, - "metadata": { - "collapsed": true - }, - "outputs": [], - "source": [ - "set(0, 'defaultAxesFontSize', 16)\n", - "set(0,'defaultTextFontSize',14)\n", - "set(0,'defaultLineLineWidth',3)" - ] - }, - { - "cell_type": "code", - "execution_count": 51, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "plot(t_linear,t_linear.^2)\n", - "xlabel('time (s)')\n", - "ylabel('displacement (m)')" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#EOL" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Graphics can be produced with a number of functions" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "2-D plots, 3-D plots, contour plots, 3D contour plots ... " - ] - }, - { - "cell_type": "code", - "execution_count": 57, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Z =\n", - "\n", - " Columns 1 through 8:\n", - "\n", - " 0.00000 0.17100 0.28800 0.35700 0.38400 0.37500 0.33600 0.27300\n", - " -0.17100 0.00000 0.12240 0.20160 0.24300 0.25200 0.23400 0.19440\n", - " -0.28800 -0.12240 0.00000 0.08400 0.13440 0.15600 0.15360 0.13200\n", - " -0.35700 -0.20160 -0.08400 0.00000 0.05460 0.08400 0.09240 0.08400\n", - " -0.38400 -0.24300 -0.13440 -0.05460 0.00000 0.03300 0.04800 0.04860\n", - " -0.37500 -0.25200 -0.15600 -0.08400 -0.03300 0.00000 0.01800 0.02400\n", - " -0.33600 -0.23400 -0.15360 -0.09240 -0.04800 -0.01800 0.00000 0.00840\n", - " -0.27300 -0.19440 -0.13200 -0.08400 -0.04860 -0.02400 -0.00840 0.00000\n", - " -0.19200 -0.13860 -0.09600 -0.06300 -0.03840 -0.02100 -0.00960 -0.00300\n", - " -0.09900 -0.07200 -0.05040 -0.03360 -0.02100 -0.01200 -0.00600 -0.00240\n", - " 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000\n", - " 0.09900 0.07200 0.05040 0.03360 0.02100 0.01200 0.00600 0.00240\n", - " 0.19200 0.13860 0.09600 0.06300 0.03840 0.02100 0.00960 0.00300\n", - " 0.27300 0.19440 0.13200 0.08400 0.04860 0.02400 0.00840 -0.00000\n", - " 0.33600 0.23400 0.15360 0.09240 0.04800 0.01800 -0.00000 -0.00840\n", - " 0.37500 0.25200 0.15600 0.08400 0.03300 0.00000 -0.01800 -0.02400\n", - " 0.38400 0.24300 0.13440 0.05460 -0.00000 -0.03300 -0.04800 -0.04860\n", - " 0.35700 0.20160 0.08400 -0.00000 -0.05460 -0.08400 -0.09240 -0.08400\n", - " 0.28800 0.12240 0.00000 -0.08400 -0.13440 -0.15600 -0.15360 -0.13200\n", - " 0.17100 -0.00000 -0.12240 -0.20160 -0.24300 -0.25200 -0.23400 -0.19440\n", - " 0.00000 -0.17100 -0.28800 -0.35700 -0.38400 -0.37500 -0.33600 -0.27300\n", - "\n", - " Columns 9 through 16:\n", - "\n", - " 0.19200 0.09900 0.00000 -0.09900 -0.19200 -0.27300 -0.33600 -0.37500\n", - " 0.13860 0.07200 0.00000 -0.07200 -0.13860 -0.19440 -0.23400 -0.25200\n", - " 0.09600 0.05040 0.00000 -0.05040 -0.09600 -0.13200 -0.15360 -0.15600\n", - " 0.06300 0.03360 0.00000 -0.03360 -0.06300 -0.08400 -0.09240 -0.08400\n", - " 0.03840 0.02100 0.00000 -0.02100 -0.03840 -0.04860 -0.04800 -0.03300\n", - " 0.02100 0.01200 0.00000 -0.01200 -0.02100 -0.02400 -0.01800 0.00000\n", - " 0.00960 0.00600 0.00000 -0.00600 -0.00960 -0.00840 0.00000 0.01800\n", - " 0.00300 0.00240 0.00000 -0.00240 -0.00300 0.00000 0.00840 0.02400\n", - " 0.00000 0.00060 0.00000 -0.00060 0.00000 0.00300 0.00960 0.02100\n", - " -0.00060 0.00000 0.00000 0.00000 0.00060 0.00240 0.00600 0.01200\n", - " 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000\n", - " 0.00060 -0.00000 0.00000 0.00000 -0.00060 -0.00240 -0.00600 -0.01200\n", - " -0.00000 -0.00060 0.00000 0.00060 0.00000 -0.00300 -0.00960 -0.02100\n", - " -0.00300 -0.00240 0.00000 0.00240 0.00300 0.00000 -0.00840 -0.02400\n", - " -0.00960 -0.00600 0.00000 0.00600 0.00960 0.00840 0.00000 -0.01800\n", - " -0.02100 -0.01200 0.00000 0.01200 0.02100 0.02400 0.01800 0.00000\n", - " -0.03840 -0.02100 0.00000 0.02100 0.03840 0.04860 0.04800 0.03300\n", - " -0.06300 -0.03360 0.00000 0.03360 0.06300 0.08400 0.09240 0.08400\n", - " -0.09600 -0.05040 0.00000 0.05040 0.09600 0.13200 0.15360 0.15600\n", - " -0.13860 -0.07200 0.00000 0.07200 0.13860 0.19440 0.23400 0.25200\n", - " -0.19200 -0.09900 0.00000 0.09900 0.19200 0.27300 0.33600 0.37500\n", - "\n", - " Columns 17 through 21:\n", - "\n", - " -0.38400 -0.35700 -0.28800 -0.17100 0.00000\n", - " -0.24300 -0.20160 -0.12240 0.00000 0.17100\n", - " -0.13440 -0.08400 0.00000 0.12240 0.28800\n", - " -0.05460 0.00000 0.08400 0.20160 0.35700\n", - " 0.00000 0.05460 0.13440 0.24300 0.38400\n", - " 0.03300 0.08400 0.15600 0.25200 0.37500\n", - " 0.04800 0.09240 0.15360 0.23400 0.33600\n", - " 0.04860 0.08400 0.13200 0.19440 0.27300\n", - " 0.03840 0.06300 0.09600 0.13860 0.19200\n", - " 0.02100 0.03360 0.05040 0.07200 0.09900\n", - " 0.00000 0.00000 0.00000 0.00000 0.00000\n", - " -0.02100 -0.03360 -0.05040 -0.07200 -0.09900\n", - " -0.03840 -0.06300 -0.09600 -0.13860 -0.19200\n", - " -0.04860 -0.08400 -0.13200 -0.19440 -0.27300\n", - " -0.04800 -0.09240 -0.15360 -0.23400 -0.33600\n", - " -0.03300 -0.08400 -0.15600 -0.25200 -0.37500\n", - " 0.00000 -0.05460 -0.13440 -0.24300 -0.38400\n", - " 0.05460 0.00000 -0.08400 -0.20160 -0.35700\n", - " 0.13440 0.08400 0.00000 -0.12240 -0.28800\n", - " 0.24300 0.20160 0.12240 0.00000 -0.17100\n", - " 0.38400 0.35700 0.28800 0.17100 0.00000\n", - "\n" - ] - } - ], - "source": [ - "x=linspace(-1,1,21); y=linspace(-1,1,21);\n", - "[X,Y]=meshgrid(x,y);\n", - "Z=(X.*Y.^3-X.^3.*Y)" - ] - }, - { - "cell_type": "code", - "execution_count": 58, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "data": { - "image/svg+xml": [ - "\n", - "\n", - "Gnuplot\n", - "Produced by GNUPLOT 5.0 patchlevel 3 \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t \n", - "\t \n", - "\t\n", - "\t\n", - "\t \n", - "\t \n", - "\t\n", - "\n", - "\n", - "\n", - "\n", - "\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\n", - "\n", - "\t\t\n", - "\t\t-1\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t-0.5\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t0\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t0.5\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t1\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t-1\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t-0.5\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t0\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t0.5\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t1\n", - "\t\n", - "\n", - "\n", - "\n", - "\n", - "\t\n", - "\n", - "\n", - "\tgnuplot_plot_1a\n", - "\n", - "\t\n", - "\t\n", - "\tgnuplot_plot_2a\n", - "\n", - "\t\n", - "\t\n", - "\tgnuplot_plot_3a\n", - "\n", - "\t\n", - "\t\n", - "\tgnuplot_plot_4a\n", - "\n", - "\t\n", - "\t\n", - "\tgnuplot_plot_5a\n", - "\n", - "\t\n", - "\t\n", - "\tgnuplot_plot_6a\n", - "\n", - "\t\n", - "\t\n", - "\tgnuplot_plot_7a\n", - "\n", - "\t\n", - "\t\n", - "\tgnuplot_plot_8a\n", - "\n", - "\t\n", - "\t\n", - "\tgnuplot_plot_9a\n", - "\n", - "\t\n", - "\t\n", - "\tgnuplot_plot_10a\n", - "\n", - "\t\n", - "\t\n", - "\tgnuplot_plot_11a\n", - "\n", - "\t\n", - "\t\n", - "\tgnuplot_plot_12a\n", - "\n", - "\t\n", - "\t\n", - "\tgnuplot_plot_13a\n", - "\n", - "\t\n", - "\t\n", - "\tgnuplot_plot_14a\n", - "\n", - "\t\n", - "\t\n", - "\tgnuplot_plot_15a\n", - "\n", - "\t\n", - "\t\n", - "\tgnuplot_plot_16a\n", - "\n", - "\t\n", - "\t\n", - "\tgnuplot_plot_17a\n", - "\n", - "\t\n", - "\t\n", - "\tgnuplot_plot_18a\n", - "\n", - "\t\n", - "\t\n", - "\tgnuplot_plot_19a\n", - "\n", - "\t\n", - "\t\n", - "\tgnuplot_plot_20a\n", - "\n", - "\t\n", - "\t\n", - "\tgnuplot_plot_21a\n", - "\n", - "\t\n", - "\t\n", - "\tgnuplot_plot_22a\n", - "\n", - "\t\n", - "\t\n", - "\tgnuplot_plot_23a\n", - "\n", - "\t\n", - "\t\n", - "\tgnuplot_plot_24a\n", - "\n", - "\t\n", - "\t\n", - "\tgnuplot_plot_25a\n", - "\n", - "\t\n", - "\t\n", - "\tgnuplot_plot_26a\n", - "\n", - "\t\n", - "\t\n", - "\tgnuplot_plot_27a\n", - "\n", - "\t\n", - "\t\n", - "\tgnuplot_plot_28a\n", - "\n", - "\t\n", - "\t\n", - "\tgnuplot_plot_29a\n", - "\n", - "\t\n", - "\t\n", - "\tgnuplot_plot_30a\n", - "\n", - "\t\n", - "\t\n", - "\tgnuplot_plot_31a\n", - "\n", - "\t\n", - "\t\n", - "\tgnuplot_plot_32a\n", - "\n", - "\t\n", - "\t\n", - "\tgnuplot_plot_33a\n", - "\n", - "\t\n", - "\t\n", - "\tgnuplot_plot_34a\n", - "\n", - "\t\n", - "\t\n", - "\tgnuplot_plot_35a\n", - "\n", - "\t\n", - "\t\n", - "\tgnuplot_plot_36a\n", - "\n", - "\t\n", - "\t\n", - "\tgnuplot_plot_37a\n", - "\n", - "\t\n", - "\t\n", - "\tgnuplot_plot_38a\n", - "\n", - "\t\n", - "\t\n", - "\tgnuplot_plot_39a\n", - "\n", - "\t\n", - "\t\n", - "\tgnuplot_plot_40a\n", - "\n", - "\t\n", - "\t\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "contour(X,Y,Z)" - ] - }, - { - "cell_type": "code", - "execution_count": 59, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "data": { - "image/svg+xml": [ - "\n", - "\n", - "Gnuplot\n", - "Produced by GNUPLOT 5.0 patchlevel 3 \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t \n", - "\t \n", - "\t\n", - "\t\n", - "\t \n", - "\t \n", - "\t\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\tgnuplot_plot_1a\n", - "\n", - "\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\t\n", - "\tgnuplot_plot_2a\n", - "\n", - "\n", - "\t\n", - "\n", - "\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\t\n", - "\t\t-1\n", - "\t\n", - "\n", - "\n", - "\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\t\n", - "\t\t-0.5\n", - "\t\n", - "\n", - "\n", - "\n", - "\n", - "\t\n", - "\n", - "\t\t\n", - "\t\t0\n", - "\t\n", - "\n", - "\n", - "\n", - "\n", - "\t\n", - "\n", - "\t\t\n", - "\t\t0.5\n", - "\t\n", - "\n", - "\n", - "\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\t\n", - "\t\t1\n", - "\t\n", - "\n", - "\n", - "\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\t\n", - "\t\t-1\n", - "\t\n", - "\n", - "\n", - "\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\t\n", - "\t\t-0.5\n", - "\t\n", - "\n", - "\n", - "\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\t\n", - "\t\t0\n", - "\t\n", - "\n", - "\n", - "\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\t\n", - "\t\t0.5\n", - "\t\n", - "\n", - "\n", - "\n", - "\n", - "\t\n", - "\n", - "\t\t\n", - "\t\t1\n", - "\t\n", - "\n", - "\n", - "\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\t\n", - "\t\t-0.4\n", - "\t\n", - "\n", - "\n", - "\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\t\n", - "\t\t-0.3\n", - "\t\n", - "\n", - "\n", - "\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\t\n", - "\t\t-0.2\n", - "\t\n", - "\n", - "\n", - "\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\t\n", - "\t\t-0.1\n", - "\t\n", - "\n", - "\n", - "\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\t\n", - "\t\t0\n", - "\t\n", - "\n", - "\n", - "\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\t\n", - "\t\t0.1\n", - "\t\n", - "\n", - "\n", - "\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\t\n", - "\t\t0.2\n", - "\t\n", - "\n", - "\n", - "\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\t\n", - "\t\t0.3\n", - "\t\n", - "\n", - "\n", - "\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\t\n", - "\t\t0.4\n", - "\t\n", - "\n", - "\n", - "\n", - "\n", - "\t\n", - "\n", - "" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "mesh(X,Y,Z)" - ] - }, - { - "cell_type": "code", - "execution_count": 60, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "data": { - "image/svg+xml": [ - "\n", - "\n", - "Gnuplot\n", - "Produced by GNUPLOT 5.0 patchlevel 3 \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t \n", - "\t \n", - "\t\n", - "\t\n", - "\t \n", - "\t \n", - "\t\n", - "\n", - "\n", - "\n", - "\n", - "\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\t\n", - "\tgnuplot_plot_1a\n", - "\n", - "\n", - "\n", - "\n", - "\t\n", - "\t\n", - "\t\t\n", - "\t\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\t\t\n", - "\t\t-1\n", - "\t\n", - "\n", - "\n", - "\n", - "\n", - "\t\n", - "\n", - "\t\t\n", - "\t\t-0.5\n", - "\t\n", - "\n", - "\n", - "\n", - "\n", - "\t\n", - "\n", - "\t\t\n", - "\t\t0\n", - "\t\n", - "\n", - "\n", - "\n", - "\n", - "\t\n", - "\n", - "\t\t\n", - "\t\t0.5\n", - "\t\n", - "\n", - "\n", - "\n", - "\n", - "\t\n", - "\n", - "\t\t\n", - "\t\t1\n", - "\t\n", - "\n", - "\n", - "\n", - "\n", - "\t\n", - "\n", - "\t\t\n", - "\t\t-1\n", - "\t\n", - "\n", - "\n", - "\n", - "\n", - "\t\n", - "\n", - "\t\t\n", - "\t\t-0.5\n", - "\t\n", - "\n", - "\n", - "\n", - "\n", - "\t\n", - "\n", - "\t\t\n", - "\t\t0\n", - "\t\n", - "\n", - "\n", - "\n", - "\n", - "\t\n", - "\n", - "\t\t\n", - "\t\t0.5\n", - "\t\n", - "\n", - "\n", - "\n", - "\n", - "\t\n", - "\n", - "\t\t\n", - "\t\t1\n", - "\t\n", - "\n", - "\n", - "\n", - "\n", - "" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "pcolor(X,Y,Z)" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "collapsed": true - }, - "source": [ - "## " - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Matlab", - "language": "matlab", - "name": "matlab" - }, - "language_info": { - "codemirror_mode": "octave", - "file_extension": ".m", - "help_links": [ - { - "text": "MetaKernel Magics", - "url": "https://github.com/calysto/metakernel/blob/master/metakernel/magics/README.md" - } - ], - "mimetype": "text/x-octave", - "name": "matlab", - "version": "0.11.0" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/lecture_03/lecture_03.md b/lecture_03/lecture_03.md deleted file mode 100644 index ce76e7f..0000000 --- a/lecture_03/lecture_03.md +++ /dev/null @@ -1,1447 +0,0 @@ - -# Matlab basic use -## 1- the environment, path and working directory - -Matlab environment can be called by: -1. Starting the matlab executable (the gui) -2. Starting a jupyter notebook with Matlab kernel -3. Starting matlab with command-line interface (no gui) - -The main requirement is that matlab kernel (main matlab program) is running and accepting commands - -When you start, you can call matlab built-in functions or anything you write that is in your `MATLABPATH` or working directory (`pwd`) - - -```matlab -path -``` - - MATLABPATH - - /usr/local/lib/python2.7/dist-packages/matlab_kernel/toolbox - /usr/local/lib/python2.7/dist-packages/pymatbridge/matlab - /usr/local/lib/python2.7/dist-packages/pymatbridge/matlab/usrprog - /usr/local/lib/python2.7/dist-packages/pymatbridge/matlab/util - /usr/local/lib/python2.7/dist-packages/pymatbridge/matlab/util/json_v0.2.2 - /usr/local/lib/python2.7/dist-packages/pymatbridge/matlab/util/json_v0.2.2/json - /usr/local/lib/python2.7/dist-packages/pymatbridge/matlab/util/json_v0.2.2/json/java - /usr/local/lib/python2.7/dist-packages/pymatbridge/matlab/util/json_v0.2.2/test - /home/ryan/Documents/MATLAB - /usr/local/MATLAB/R2016a/toolbox/matlab/strfun - /usr/local/MATLAB/R2016a/toolbox/matlab/datatypes - /usr/local/MATLAB/R2016a/toolbox/matlab/elfun - /usr/local/MATLAB/R2016a/toolbox/matlab/ops - /usr/local/MATLAB/R2016a/toolbox/matlab/timefun - /usr/local/MATLAB/R2016a/toolbox/matlab/elmat - /usr/local/MATLAB/R2016a/toolbox/matlab/datafun - /usr/local/MATLAB/R2016a/toolbox/matlab/iofun - /usr/local/MATLAB/R2016a/toolbox/matlab/mvm - /usr/local/MATLAB/R2016a/toolbox/matlab/randfun - /usr/local/MATLAB/R2016a/toolbox/matlab/funfun - /usr/local/MATLAB/R2016a/toolbox/matlab/general - /usr/local/MATLAB/R2016a/toolbox/matlab/polyfun - /usr/local/MATLAB/R2016a/toolbox/matlab/matfun - /usr/local/MATLAB/R2016a/toolbox/matlab/lang - /usr/local/MATLAB/R2016a/toolbox/matlab/specfun - /usr/local/MATLAB/R2016a/toolbox/matlab/sparfun - /usr/local/MATLAB/R2016a/toolbox/matlab/images - /usr/local/MATLAB/R2016a/toolbox/matlab/testframework/performance - /usr/local/MATLAB/R2016a/toolbox/matlab/testframework/parallel - /usr/local/MATLAB/R2016a/toolbox/matlab/optimfun - /usr/local/MATLAB/R2016a/toolbox/matlab/testframework/ext - /usr/local/MATLAB/R2016a/toolbox/matlab/guide - /usr/local/MATLAB/R2016a/toolbox/matlab/testframework/measurement - /usr/local/MATLAB/R2016a/toolbox/matlab/icons - /usr/local/MATLAB/R2016a/toolbox/matlab/demos - /usr/local/MATLAB/R2016a/toolbox/matlab/helptools - /usr/local/MATLAB/R2016a/toolbox/matlab/winfun - /usr/local/MATLAB/R2016a/toolbox/matlab/winfun/NET - /usr/local/MATLAB/R2016a/toolbox/matlab/datamanager - /usr/local/MATLAB/R2016a/toolbox/matlab/verctrl - /usr/local/MATLAB/R2016a/toolbox/matlab/graph2d - /usr/local/MATLAB/R2016a/toolbox/matlab/graph3d - /usr/local/MATLAB/R2016a/toolbox/matlab/graphics - /usr/local/MATLAB/R2016a/toolbox/matlab/graphics/obsolete - /usr/local/MATLAB/R2016a/toolbox/matlab/plottools - /usr/local/MATLAB/R2016a/toolbox/matlab/scribe - /usr/local/MATLAB/R2016a/toolbox/matlab/scribe/obsolete - /usr/local/MATLAB/R2016a/toolbox/matlab/specgraph - /usr/local/MATLAB/R2016a/toolbox/matlab/uitools - /usr/local/MATLAB/R2016a/toolbox/matlab/uitools/obsolete - /usr/local/MATLAB/R2016a/toolbox/hdlcoder/matlabhdlcoder/matlabhdlcoder - /usr/local/MATLAB/R2016a/toolbox/hdlcoder/matlabhdlcoder - /usr/local/MATLAB/R2016a/toolbox/matlab/testframework/core - /usr/local/MATLAB/R2016a/toolbox/matlab/testframework/obsolete - /usr/local/MATLAB/R2016a/toolbox/matlab/hardware/stubs - /usr/local/MATLAB/R2016a/toolbox/local - /usr/local/MATLAB/R2016a/toolbox/matlab/datastoreio - /usr/local/MATLAB/R2016a/toolbox/matlab/codetools - /usr/local/MATLAB/R2016a/toolbox/matlab/codetools/embeddedoutputs - /usr/local/MATLAB/R2016a/toolbox/matlab/graphfun - /usr/local/MATLAB/R2016a/toolbox/matlab/depfun - /usr/local/MATLAB/R2016a/toolbox/matlab/mapreduceio - /usr/local/MATLAB/R2016a/toolbox/matlab/findfiles - /usr/local/MATLAB/R2016a/toolbox/rtw/targets/asap2/asap2/dataclasses - /usr/local/MATLAB/R2016a/toolbox/rtw/targets/asap2/asap2 - /usr/local/MATLAB/R2016a/toolbox/rtw/targets/asap2/asap2/user - /usr/local/MATLAB/R2016a/toolbox/rtw/targets/common/can/blocks/dataclasses - /usr/local/MATLAB/R2016a/toolbox/rtw/targets/common/can/blocks - /usr/local/MATLAB/R2016a/toolbox/rtw/targets/common/can/blocks/tlc_c - /usr/local/MATLAB/R2016a/toolbox/rtw/targets/common/tgtcommon - /usr/local/MATLAB/R2016a/toolbox/coder/simulinkcoder/cgv/API - /usr/local/MATLAB/R2016a/toolbox/rtw/rtw/misra - /usr/local/MATLAB/R2016a/toolbox/coder/simulinkcoder - /usr/local/MATLAB/R2016a/toolbox/coder/simulinkcoder/templates - /usr/local/MATLAB/R2016a/toolbox/coder/simulinkcoder/targets - /usr/local/MATLAB/R2016a/toolbox/rtw/targets/pil - /usr/local/MATLAB/R2016a/toolbox/rtw/targets/AUTOSAR/AUTOSAR/dataclasses - /usr/local/MATLAB/R2016a/toolbox/rtw/targets/AUTOSAR/AUTOSAR - /usr/local/MATLAB/R2016a/toolbox/rtw/accel - /usr/local/MATLAB/R2016a/toolbox/coder/simulinkcoder_core - /usr/local/MATLAB/R2016a/toolbox/rtw/rtwdemos - /usr/local/MATLAB/R2016a/toolbox/rtw/rtwdemos/rsimdemos - /usr/local/MATLAB/R2016a/toolbox/simulink/simdemos/simfeatures - /usr/local/MATLAB/R2016a/toolbox/simulink/simdemos/simfeatures/modelreference - /usr/local/MATLAB/R2016a/toolbox/simulink/simdemos/simfeatures/datadictionary - /usr/local/MATLAB/R2016a/toolbox/simulink/sysarch/sysarch - /usr/local/MATLAB/R2016a/toolbox/simulink/simdemos/simgeneral - /usr/local/MATLAB/R2016a/toolbox/slde/examples - /usr/local/MATLAB/R2016a/toolbox/coder/advisor - /usr/local/MATLAB/R2016a/toolbox/simulink/simulink/modeladvisor - /usr/local/MATLAB/R2016a/toolbox/simulink/simulink/modeladvisor/fixpt - /usr/local/MATLAB/R2016a/toolbox/simulink/simdemos/automotive/fuelsys - /usr/local/MATLAB/R2016a/toolbox/simulink/components - /usr/local/MATLAB/R2016a/toolbox/simulink/dee - /usr/local/MATLAB/R2016a/toolbox/simulink/simdemos/aerospace - /usr/local/MATLAB/R2016a/toolbox/simulinktest/core/simharness/simharness - /usr/local/MATLAB/R2016a/toolbox/simulink/simulink/frameedit - /usr/local/MATLAB/R2016a/toolbox/simulink/simdemos/industrial - /usr/local/MATLAB/R2016a/toolbox/simulink/simdemos/automotive - /usr/local/MATLAB/R2016a/toolbox/simulink/blocks/library - /usr/local/MATLAB/R2016a/toolbox/simulink/blocks/library/simulinkcoder - /usr/local/MATLAB/R2016a/toolbox/simulink/blocks/obsolete - /usr/local/MATLAB/R2016a/toolbox/simulink/simdemos/dataclasses - /usr/local/MATLAB/R2016a/toolbox/simulink/simdemos - /usr/local/MATLAB/R2016a/toolbox/simulink/blocks - /usr/local/MATLAB/R2016a/toolbox/simulink/simulink/dataclasses - /usr/local/MATLAB/R2016a/toolbox/simulink/simulink - /usr/local/MATLAB/R2016a/toolbox/simulink/simulink/MPlayIO - /usr/local/MATLAB/R2016a/toolbox/simulink/simulink/dataobjectwizard - /usr/local/MATLAB/R2016a/toolbox/simulink/simulink/slresolve - /usr/local/MATLAB/R2016a/toolbox/simulink/simulink/units - /usr/local/MATLAB/R2016a/toolbox/simulink/simulink/resources - /usr/local/MATLAB/R2016a/toolbox/simulink/sdi - /usr/local/MATLAB/R2016a/toolbox/simulink/simulink/core_templates - /usr/local/MATLAB/R2016a/toolbox/simulinktest/core/testsequence/testsequence - /usr/local/MATLAB/R2016a/toolbox/simulink/simdemos/automotive/powerwindow - /usr/local/MATLAB/R2016a/toolbox/simulink/sldependency - /usr/local/MATLAB/R2016a/toolbox/simulink/hmi - /usr/local/MATLAB/R2016a/toolbox/coder/objectives - /usr/local/MATLAB/R2016a/toolbox/slde/slde - /usr/local/MATLAB/R2016a/toolbox/slde/slde/resources - /usr/local/MATLAB/R2016a/toolbox/stateflow/stateflow - /usr/local/MATLAB/R2016a/toolbox/stateflow/coder - /usr/local/MATLAB/R2016a/toolbox/stateflow/sfdemos - /usr/local/MATLAB/R2016a/toolbox/stateflow/sftemplates - /usr/local/MATLAB/R2016a/toolbox/shared/testmeaslib/general - /usr/local/MATLAB/R2016a/toolbox/simulink/blocks/sb2sl - /usr/local/MATLAB/R2016a/toolbox/physmod/powersys/DR/DR - /usr/local/MATLAB/R2016a/toolbox/shared/reqmgt - /usr/local/MATLAB/R2016a/toolbox/shared/reqmgt/mmutils - /usr/local/MATLAB/R2016a/toolbox/shared/controllib/graphics - /usr/local/MATLAB/R2016a/toolbox/shared/controllib/graphics/utils - /usr/local/MATLAB/R2016a/toolbox/shared/controllib/graphics/plotoptions - /usr/local/MATLAB/R2016a/toolbox/simulink/sledittimecheck - /usr/local/MATLAB/R2016a/toolbox/hdlcoder/slhdltemplates - /usr/local/MATLAB/R2016a/toolbox/distcomp - /usr/local/MATLAB/R2016a/toolbox/distcomp/distcomp - /usr/local/MATLAB/R2016a/toolbox/distcomp/user - /usr/local/MATLAB/R2016a/toolbox/distcomp/mpi - /usr/local/MATLAB/R2016a/toolbox/distcomp/parallel - /usr/local/MATLAB/R2016a/toolbox/distcomp/parallel/util - /usr/local/MATLAB/R2016a/toolbox/distcomp/lang - /usr/local/MATLAB/R2016a/toolbox/distcomp/cluster - /usr/local/MATLAB/R2016a/toolbox/distcomp/gpu - /usr/local/MATLAB/R2016a/toolbox/distcomp/array - /usr/local/MATLAB/R2016a/toolbox/target/codertarget - /usr/local/MATLAB/R2016a/toolbox/target/codertarget/rtw - /usr/local/MATLAB/R2016a/toolbox/target/codertarget/matlabcoder - /usr/local/MATLAB/R2016a/toolbox/physmod/simscape/simscapedemos - /usr/local/MATLAB/R2016a/toolbox/comm/templates - /usr/local/MATLAB/R2016a/toolbox/shared/simulink - /usr/local/MATLAB/R2016a/toolbox/hdlcoder/hdlcoderdemos - /usr/local/MATLAB/R2016a/toolbox/hdlcoder/hdlcoderdemos/matlabhdlcoderdemos - /usr/local/MATLAB/R2016a/toolbox/target/extensions/processor/tic5000/tic5000demos - /usr/local/MATLAB/R2016a/toolbox/physmod/common/gl/sli/m - /usr/local/MATLAB/R2016a/toolbox/shared/system/simulink - /usr/local/MATLAB/R2016a/toolbox/images/colorspaces - /usr/local/MATLAB/R2016a/toolbox/images/images - /usr/local/MATLAB/R2016a/toolbox/images/imdata - /usr/local/MATLAB/R2016a/toolbox/images/imuitools - /usr/local/MATLAB/R2016a/toolbox/images/iptformats - /usr/local/MATLAB/R2016a/toolbox/images/iptutils - /usr/local/MATLAB/R2016a/toolbox/target/extensions/processor/tic6000 - /usr/local/MATLAB/R2016a/toolbox/target/extensions/processor/tic6000/rtw - /usr/local/MATLAB/R2016a/toolbox/target/extensions/processor/tic6000/tfl - /usr/local/MATLAB/R2016a/toolbox/target/extensions/processor/tic6000/utils - /usr/local/MATLAB/R2016a/toolbox/target/extensions/processor/tic6000/blks/sysobj_mex - /usr/local/MATLAB/R2016a/toolbox/target/extensions/processor/tic6000/blks/mex - /usr/local/MATLAB/R2016a/toolbox/distcomp/pctdemos - /usr/local/MATLAB/R2016a/toolbox/matlab/appdesigner/appdesigner - /usr/local/MATLAB/R2016a/toolbox/shared/mlreportgen/ppt - /usr/local/MATLAB/R2016a/toolbox/shared/mlreportgen/ppt/ppt - /usr/local/MATLAB/R2016a/toolbox/shared/mlreportgen/ppt/ppt/help - /usr/local/MATLAB/R2016a/toolbox/coder/matlabcoder - /usr/local/MATLAB/R2016a/toolbox/coder/matlabcoder/templates - /usr/local/MATLAB/R2016a/toolbox/dsp/templates - /usr/local/MATLAB/R2016a/toolbox/globaloptim - /usr/local/MATLAB/R2016a/toolbox/globaloptim/globaloptim - /usr/local/MATLAB/R2016a/toolbox/shared/appdes/services - /usr/local/MATLAB/R2016a/toolbox/coder/emlcodermex - /usr/local/MATLAB/R2016a/toolbox/physmod/powersys/powerdemo/power_electronics - /usr/local/MATLAB/R2016a/toolbox/pde/pdedemos - /usr/local/MATLAB/R2016a/toolbox/slvnv/slvnvdemos - /usr/local/MATLAB/R2016a/toolbox/sl_pir_cap - /usr/local/MATLAB/R2016a/toolbox/target - /usr/local/MATLAB/R2016a/toolbox/target/foundation - /usr/local/MATLAB/R2016a/toolbox/target/foundation/utils - /usr/local/MATLAB/R2016a/toolbox/target/foundation/utils/resource_config - /usr/local/MATLAB/R2016a/toolbox/target/foundation/blks - /usr/local/MATLAB/R2016a/toolbox/target/foundation/blks/mex - /usr/local/MATLAB/R2016a/toolbox/target/foundation/blks/masks - /usr/local/MATLAB/R2016a/toolbox/target/extensions/processor/shared - /usr/local/MATLAB/R2016a/toolbox/target/extensions/processor/shared/ti - /usr/local/MATLAB/R2016a/toolbox/target/extensions/processor/shared/ti/mdlinfo - /usr/local/MATLAB/R2016a/toolbox/target/extensions/processor/shared/ti/utils - /usr/local/MATLAB/R2016a/toolbox/target/extensions/processor/shared/ti/blks - /usr/local/MATLAB/R2016a/toolbox/target/extensions/processor/shared/ti/blks/mex - /usr/local/MATLAB/R2016a/toolbox/target/extensions/processor/shared/ti/blks/masks - /usr/local/MATLAB/R2016a/toolbox/target/extensions/processor/ARM/tfl - /usr/local/MATLAB/R2016a/toolbox/shared/etargets/etargets - /usr/local/MATLAB/R2016a/toolbox/shared/etargets/etargets/demoutils - /usr/local/MATLAB/R2016a/toolbox/optim/optim - /usr/local/MATLAB/R2016a/toolbox/optim - /usr/local/MATLAB/R2016a/toolbox/physmod/simscape/advisor/m - /usr/local/MATLAB/R2016a/toolbox/target/targetdemos - /usr/local/MATLAB/R2016a/toolbox/shared/hadoopserializer - /usr/local/MATLAB/R2016a/toolbox/matlab/external/engines/engine_api - /usr/local/MATLAB/R2016a/toolbox/shared/siglib - /usr/local/MATLAB/R2016a/toolbox/simulink/simulink/performance - /usr/local/MATLAB/R2016a/toolbox/simulink/simulink/performance/performancea - /usr/local/MATLAB/R2016a/toolbox/simevents/examples - /usr/local/MATLAB/R2016a/toolbox/shared/hdlshared - /usr/local/MATLAB/R2016a/toolbox/physmod/sm/local/m - /usr/local/MATLAB/R2016a/toolbox/matlab/uicomponents/uicomponents - /usr/local/MATLAB/R2016a/toolbox/matlab/uicomponents/uicomponents/pending - /usr/local/MATLAB/R2016a/toolbox/matlab/uicomponents/uicomponents/graphics - /usr/local/MATLAB/R2016a/toolbox/fixedpoint/fixedpointconverter - /usr/local/MATLAB/R2016a/toolbox/physmod/powersys/drives/drivesdemo - /usr/local/MATLAB/R2016a/toolbox/physmod/simscape/library/m - /usr/local/MATLAB/R2016a/toolbox/shared/sdi - /usr/local/MATLAB/R2016a/toolbox/shared/asynciolib - /usr/local/MATLAB/R2016a/toolbox/shared/cmlink/api - /usr/local/MATLAB/R2016a/toolbox/matlab/toolboxmanagement/matlab_api - /usr/local/MATLAB/R2016a/toolbox/mpc/mpcdemos - /usr/local/MATLAB/R2016a/toolbox/distcomp/mapreduce - /usr/local/MATLAB/R2016a/toolbox/matlab/networklib - /usr/local/MATLAB/R2016a/toolbox/dsp/dspdemos - /usr/local/MATLAB/R2016a/toolbox/shared/testmeaslib/simulink - /usr/local/MATLAB/R2016a/toolbox/shared/controllib/general - /usr/local/MATLAB/R2016a/toolbox/shared/imaqlib - /usr/local/MATLAB/R2016a/toolbox/physmod/equation_language/equation_language - /usr/local/MATLAB/R2016a/toolbox/simulink/slmetrics - /usr/local/MATLAB/R2016a/toolbox/vision/vision - /usr/local/MATLAB/R2016a/toolbox/vision/visiondata - /usr/local/MATLAB/R2016a/toolbox/vision/visionutilities - /usr/local/MATLAB/R2016a/toolbox/vision/visionutilities/visioninit - /usr/local/MATLAB/R2016a/toolbox/vision/visionutilities/visionmex - /usr/local/MATLAB/R2016a/toolbox/physmod/simscape/foundation/simscape - /usr/local/MATLAB/R2016a/toolbox/shared/system/sfun - /usr/local/MATLAB/R2016a/toolbox/matlab/toolbox_packaging - /usr/local/MATLAB/R2016a/toolbox/simulink/simulink_data_dictionary/sldd - /usr/local/MATLAB/R2016a/toolbox/shared/pdelib - /usr/local/MATLAB/R2016a/toolbox/compiler_sdk/java - /usr/local/MATLAB/R2016a/toolbox/simulink/sta/scenarioconnector - /usr/local/MATLAB/R2016a/toolbox/simulink/sta/scenarioconnector/ui - /usr/local/MATLAB/R2016a/toolbox/simulink/sta/scenarioconnector/ui/toolstrip/modelsection - /usr/local/MATLAB/R2016a/toolbox/simulink/sta/scenarioconnector/ui/toolstrip/filesection - /usr/local/MATLAB/R2016a/toolbox/simulink/sta/editor/ui - /usr/local/MATLAB/R2016a/toolbox/simulink/sta/ui - /usr/local/MATLAB/R2016a/toolbox/simulink/sta/ui/comparisontool - /usr/local/MATLAB/R2016a/toolbox/simulink/sta/ui/mapping - /usr/local/MATLAB/R2016a/toolbox/simulink/sta/ui/mapping/callbacks - /usr/local/MATLAB/R2016a/toolbox/simulink/sta/ui/mapping/util - /usr/local/MATLAB/R2016a/toolbox/simulink/sta/ui/toolstrip - /usr/local/MATLAB/R2016a/toolbox/simulink/sta/ui/toolstrip/open/streaming - /usr/local/MATLAB/R2016a/toolbox/simulink/sta/ui/toolstrip/help - /usr/local/MATLAB/R2016a/toolbox/simulink/sta/ui/toolstrip/open - /usr/local/MATLAB/R2016a/toolbox/simulink/sta/ui/toolstrip/session - /usr/local/MATLAB/R2016a/toolbox/simulink/sta/ui/toolstrip/report - /usr/local/MATLAB/R2016a/toolbox/globaloptim/globaloptimdemos - /usr/local/MATLAB/R2016a/toolbox/econ/econ - /usr/local/MATLAB/R2016a/toolbox/physmod/common/dataservices/sli/m - /usr/local/MATLAB/R2016a/toolbox/shared/sl_async_streaming - /usr/local/MATLAB/R2016a/toolbox/idelink/extensions/ticcs - /usr/local/MATLAB/R2016a/toolbox/idelink/extensions/ticcs/ccsblks - /usr/local/MATLAB/R2016a/toolbox/idelink/extensions/ticcs/ccslinkblks - /usr/local/MATLAB/R2016a/toolbox/idelink/extensions/ticcs/ccslinkblks/rtdxsimblks - /usr/local/MATLAB/R2016a/toolbox/idelink/extensions/ticcs/mdlinfo - /usr/local/MATLAB/R2016a/toolbox/idelink/extensions/ticcs/tfl - /usr/local/MATLAB/R2016a/toolbox/idelink/extensions/ticcs/util - /usr/local/MATLAB/R2016a/toolbox/idelink/extensions/ticcs/rtw - /usr/local/MATLAB/R2016a/toolbox/idelink/extensions/ticcs/envChecker - /usr/local/MATLAB/R2016a/toolbox/idelink/foundation/pjtgenerator - /usr/local/MATLAB/R2016a/toolbox/idelink/foundation/pjtgenerator/rtw - /usr/local/MATLAB/R2016a/toolbox/idelink/foundation/pjtgenerator/tgtpref2 - /usr/local/MATLAB/R2016a/toolbox/idelink/foundation/pjtgenerator/profiler - /usr/local/MATLAB/R2016a/toolbox/idelink/foundation/pjtgenerator/mdlinfo - /usr/local/MATLAB/R2016a/toolbox/idelink/foundation/pjtgenerator/blks - /usr/local/MATLAB/R2016a/toolbox/idelink/foundation/pjtgenerator/blks/masks - /usr/local/MATLAB/R2016a/toolbox/idelink/foundation/pjtgenerator/blks/tlc_c - /usr/local/MATLAB/R2016a/toolbox/physmod/simscape/engine/core/m - /usr/local/MATLAB/R2016a/toolbox/shared/system/coder - /usr/local/MATLAB/R2016a/toolbox/wavelet/wavelet - /usr/local/MATLAB/R2016a/toolbox/wavelet/wmultisig1d - /usr/local/MATLAB/R2016a/toolbox/wavelet/compression - /usr/local/MATLAB/R2016a/toolbox/hdlcoder/hdlcommon - /usr/local/MATLAB/R2016a/toolbox/hdlcoder/hdlcommon/modelcheckeradvisor - /usr/local/MATLAB/R2016a/toolbox/physmod/powersys/library - /usr/local/MATLAB/R2016a/toolbox/slvnv/rmidemos - /usr/local/MATLAB/R2016a/toolbox/shared/eda/board - /usr/local/MATLAB/R2016a/toolbox/hdlcoder/hdllib/sl_lib - /usr/local/MATLAB/R2016a/toolbox/bioinfo/bioinfodata - /usr/local/MATLAB/R2016a/toolbox/shared/coder/coder - /usr/local/MATLAB/R2016a/toolbox/shared/dsp/visionhdl/simulink/dsp - /usr/local/MATLAB/R2016a/toolbox/shared/polyspace - /usr/local/MATLAB/R2016a/toolbox/robust/rctdemos - /usr/local/MATLAB/R2016a/toolbox/simulink/sltemplate - /usr/local/MATLAB/R2016a/toolbox/physmod/common/dataservices/core/m - /usr/local/MATLAB/R2016a/toolbox/matlab/system/editor - /usr/local/MATLAB/R2016a/toolbox/hdlcoder/hdlcoder - /usr/local/MATLAB/R2016a/toolbox/hdlcoder/hdlcoder/hdlwa - /usr/local/MATLAB/R2016a/toolbox/rtw/targets/ecoder/ecoderdemos/dataclasses - /usr/local/MATLAB/R2016a/toolbox/rtw/targets/ecoder/ecoderdemos - /usr/local/MATLAB/R2016a/toolbox/signal/signal - /usr/local/MATLAB/R2016a/toolbox/signal/sigtools - /usr/local/MATLAB/R2016a/toolbox/signal/sptoolgui - /usr/local/MATLAB/R2016a/toolbox/compiler/mlhadoop - /usr/local/MATLAB/R2016a/toolbox/physmod/sm/smdemos - /usr/local/MATLAB/R2016a/toolbox/physmod/sm/smdemos/images - /usr/local/MATLAB/R2016a/toolbox/physmod/sm/smdemos/wing_landing_gear - /usr/local/MATLAB/R2016a/toolbox/physmod/sm/smdemos/wing_landing_gear/images - /usr/local/MATLAB/R2016a/toolbox/physmod/sm/smdemos/cart_double_pendulum - /usr/local/MATLAB/R2016a/toolbox/physmod/sm/smdemos/cart_double_pendulum/images - /usr/local/MATLAB/R2016a/toolbox/physmod/sm/smdemos/stewart_platform - /usr/local/MATLAB/R2016a/toolbox/physmod/sm/smdemos/stewart_platform/images - /usr/local/MATLAB/R2016a/toolbox/physmod/sm/smdemos/double_crank_aiming - /usr/local/MATLAB/R2016a/toolbox/physmod/sm/smdemos/double_crank_aiming/images - /usr/local/MATLAB/R2016a/toolbox/physmod/sm/smdemos/bread_slicer - /usr/local/MATLAB/R2016a/toolbox/physmod/sm/smdemos/bread_slicer/images - /usr/local/MATLAB/R2016a/toolbox/physmod/sm/smdemos/import/stewart_platform - /usr/local/MATLAB/R2016a/toolbox/physmod/sm/smdemos/import/four_bar - /usr/local/MATLAB/R2016a/toolbox/physmod/sm/smdemos/radial_engine - /usr/local/MATLAB/R2016a/toolbox/physmod/sm/smdemos/radial_engine/images - /usr/local/MATLAB/R2016a/toolbox/physmod/sm/smdemos/double_wishbone_suspension - /usr/local/MATLAB/R2016a/toolbox/physmod/sm/smdemos/double_wishbone_suspension/images - /usr/local/MATLAB/R2016a/toolbox/physmod/sm/smdemos/import/robot - /usr/local/MATLAB/R2016a/toolbox/physmod/sm/smdemos/cardan_gear - /usr/local/MATLAB/R2016a/toolbox/physmod/sm/smdemos/cardan_gear/images - /usr/local/MATLAB/R2016a/toolbox/physmod/sm/smdemos/windshield_wiper - /usr/local/MATLAB/R2016a/toolbox/physmod/sm/smdemos/windshield_wiper/images - /usr/local/MATLAB/R2016a/toolbox/physmod/sm/smdemos/backhoe - /usr/local/MATLAB/R2016a/toolbox/physmod/sm/smdemos/robotic_wrist - /usr/local/MATLAB/R2016a/toolbox/physmod/sm/smdemos/carousel - /usr/local/MATLAB/R2016a/toolbox/physmod/sm/smdemos/welding_robot - /usr/local/MATLAB/R2016a/toolbox/physmod/sm/smdemos/import/robot_stepfiles - /usr/local/MATLAB/R2016a/toolbox/physmod/sm/smdemos/potters_wheel - /usr/local/MATLAB/R2016a/toolbox/physmod/sm/smdemos/linear_actuator - /usr/local/MATLAB/R2016a/toolbox/physmod/sm/smdemos/pto_shaft - /usr/local/MATLAB/R2016a/toolbox/physmod/sm/smdemos/cam_flapping_wing - /usr/local/MATLAB/R2016a/toolbox/simulink/fixedandfloat/fxpdemos - /usr/local/MATLAB/R2016a/toolbox/vision/visiondemos - /usr/local/MATLAB/R2016a/toolbox/nnet/nndemos - /usr/local/MATLAB/R2016a/toolbox/nnet/nndemos/nndatasets - /usr/local/MATLAB/R2016a/toolbox/shared/hwconnectinstaller - /usr/local/MATLAB/R2016a/help/toolbox/comm/examples - /usr/local/MATLAB/R2016a/toolbox/bioinfo/bioinfo - /usr/local/MATLAB/R2016a/toolbox/bioinfo/biolearning - /usr/local/MATLAB/R2016a/toolbox/bioinfo/microarray - /usr/local/MATLAB/R2016a/toolbox/bioinfo/mass_spec - /usr/local/MATLAB/R2016a/toolbox/bioinfo/proteins - /usr/local/MATLAB/R2016a/toolbox/bioinfo/biomatrices - /usr/local/MATLAB/R2016a/toolbox/bioinfo/graphtheory - /usr/local/MATLAB/R2016a/toolbox/matlab/external/interfaces/webservices/restful - /usr/local/MATLAB/R2016a/toolbox/matlab/external/interfaces - /usr/local/MATLAB/R2016a/toolbox/matlab/external/interfaces/webservices - /usr/local/MATLAB/R2016a/toolbox/shared/slci/slci - /usr/local/MATLAB/R2016a/toolbox/sldv/sldv - /usr/local/MATLAB/R2016a/toolbox/fixedpoint/fixedpoint - /usr/local/MATLAB/R2016a/toolbox/hdlcoder/hdlslrt - /usr/local/MATLAB/R2016a/toolbox/robotics/robotalgs - /usr/local/MATLAB/R2016a/toolbox/slvnv/metrics - /usr/local/MATLAB/R2016a/toolbox/physmod/pe/library/m - /usr/local/MATLAB/R2016a/toolbox/slvnv/do178b - /usr/local/MATLAB/R2016a/toolbox/physmod/powersys/DR/DRdemo - /usr/local/MATLAB/R2016a/toolbox/shared/sl_coverage_configset - /usr/local/MATLAB/R2016a/toolbox/robotics/robotsimulink - /usr/local/MATLAB/R2016a/toolbox/robotics/robotsimulink/robotslros - /usr/local/MATLAB/R2016a/toolbox/robotics/robotsimulink/robotslros/registry - /usr/local/MATLAB/R2016a/toolbox/shared/system/coreblocks - /usr/local/MATLAB/R2016a/toolbox/simevents/simevents - /usr/local/MATLAB/R2016a/toolbox/simevents/simevents/icons - /usr/local/MATLAB/R2016a/toolbox/physmod/common/external/mli/m - /usr/local/MATLAB/R2016a/toolbox/matlab/timeseries - /usr/local/MATLAB/R2016a/toolbox/matlab/hds - /usr/local/MATLAB/R2016a/toolbox/matlab/addons_zip - /usr/local/MATLAB/R2016a/toolbox/coder/xrel - /usr/local/MATLAB/R2016a/toolbox/slvnv/simcovdemos - /usr/local/MATLAB/R2016a/toolbox/matlab/apps - /usr/local/MATLAB/R2016a/toolbox/slvnv/iec61508 - /usr/local/MATLAB/R2016a/toolbox/shared/sldv_sfcn/sldv_sfcn - /usr/local/MATLAB/R2016a/help/toolbox/slcontrol/examples - /usr/local/MATLAB/R2016a/toolbox/robotics/robotcore - /usr/local/MATLAB/R2016a/toolbox/matlab/imagesci - /usr/local/MATLAB/R2016a/toolbox/econ/econdemos - /usr/local/MATLAB/R2016a/toolbox/shared/sldv - /usr/local/MATLAB/R2016a/toolbox/coder/codedescriptor_core - /usr/local/MATLAB/R2016a/toolbox/curvefit/curvefit - /usr/local/MATLAB/R2016a/toolbox/curvefit/splines - /usr/local/MATLAB/R2016a/toolbox/curvefit/sftoolgui - /usr/local/MATLAB/R2016a/toolbox/target/extensions/processor/tic5000 - /usr/local/MATLAB/R2016a/toolbox/target/extensions/processor/tic5000/blks - /usr/local/MATLAB/R2016a/toolbox/target/extensions/processor/tic5000/blks/mex - /usr/local/MATLAB/R2016a/toolbox/target/extensions/processor/tic5000/blks/masks - /usr/local/MATLAB/R2016a/toolbox/shared/dastudio/dpvu/dpvu - /usr/local/MATLAB/R2016a/toolbox/shared/dastudio/dpvu/dpvu/metamodel - /usr/local/MATLAB/R2016a/toolbox/shared/dastudio/dpvu/dpvu/actions - /usr/local/MATLAB/R2016a/toolbox/shared/cgxe/cgxe - /usr/local/MATLAB/R2016a/toolbox/shared/controllib/requirements - /usr/local/MATLAB/R2016a/toolbox/shared/testconsole - /usr/local/MATLAB/R2016a/toolbox/instrument/instrumentdemos - /usr/local/MATLAB/R2016a/toolbox/shared/dsp/vision/matlab/utilities - /usr/local/MATLAB/R2016a/toolbox/shared/dsp/vision/simulink/utilities - /usr/local/MATLAB/R2016a/toolbox/shared/dsp/vision/matlab/utilities/mex - /usr/local/MATLAB/R2016a/toolbox/shared/dsp/vision/simulink/utilities/mex - /usr/local/MATLAB/R2016a/toolbox/shared/dsp/vision/matlab/utilities/init - /usr/local/MATLAB/R2016a/toolbox/shared/dsp/vision/matlab/vision - /usr/local/MATLAB/R2016a/toolbox/shared/dsp/vision/simulink/vision - /usr/local/MATLAB/R2016a/toolbox/nnet/cnn - /usr/local/MATLAB/R2016a/toolbox/shared/sl_messages - /usr/local/MATLAB/R2016a/toolbox/simbio/simbiodemos - /usr/local/MATLAB/R2016a/toolbox/matlab/uitools/uicomponents/components - /usr/local/MATLAB/R2016a/toolbox/shared/mlreportgen/dom - /usr/local/MATLAB/R2016a/toolbox/shared/mlreportgen/dom/dom - /usr/local/MATLAB/R2016a/toolbox/shared/mlreportgen/dom/dom/help - /usr/local/MATLAB/R2016a/toolbox/physmod/simscape/engine/sli/m - /usr/local/MATLAB/R2016a/toolbox/target/extensions/operatingsystem/linux/blks - /usr/local/MATLAB/R2016a/toolbox/target/extensions/operatingsystem/linux/blks/masks - /usr/local/MATLAB/R2016a/toolbox/target/extensions/operatingsystem/linux/blks/mex - /usr/local/MATLAB/R2016a/toolbox/target/extensions/operatingsystem/linux/src - /usr/local/MATLAB/R2016a/toolbox/realtime/realtime/hwconnection - /usr/local/MATLAB/R2016a/toolbox/rtw/targets/ecoder - /usr/local/MATLAB/R2016a/toolbox/rtw/targets/mpt - /usr/local/MATLAB/R2016a/toolbox/rtw/targets/mpt/mpt - /usr/local/MATLAB/R2016a/toolbox/rtw/targets/mpt/user_specific - /usr/local/MATLAB/R2016a/toolbox/coder/embeddedcoder - /usr/local/MATLAB/R2016a/toolbox/simulink/simulink/slproject/examples - /usr/local/MATLAB/R2016a/toolbox/slcontrol/slctrldemos - /usr/local/MATLAB/R2016a/toolbox/compiler - /usr/local/MATLAB/R2016a/toolbox/physmod/powersys/facts/factsdemo - /usr/local/MATLAB/R2016a/toolbox/slvnv/simcoverage - /usr/local/MATLAB/R2016a/toolbox/matlab/external/engines/python - /usr/local/MATLAB/R2016a/toolbox/physmod/common/dataservices/gui/m - /usr/local/MATLAB/R2016a/toolbox/fuzzy/fuzdemos - /usr/local/MATLAB/R2016a/toolbox/fininst/fininst - /usr/local/MATLAB/R2016a/toolbox/physmod/sps/sps - /usr/local/MATLAB/R2016a/toolbox/physmod/common/units/mli/m - /usr/local/MATLAB/R2016a/toolbox/coder/coder - /usr/local/MATLAB/R2016a/toolbox/sldv/slicer - /usr/local/MATLAB/R2016a/toolbox/sldv/slicer/gui - /usr/local/MATLAB/R2016a/toolbox/coder/codegendemos - /usr/local/MATLAB/R2016a/toolbox/wavelet/wavedemo - /usr/local/MATLAB/R2016a/toolbox/matlab/addons - /usr/local/MATLAB/R2016a/toolbox/matlab/addons/cef - /usr/local/MATLAB/R2016a/toolbox/matlab/addons/fallbackmanager - /usr/local/MATLAB/R2016a/toolbox/compiler/compilerdemos - /usr/local/MATLAB/R2016a/toolbox/shared/mapgeodesy - /usr/local/MATLAB/R2016a/toolbox/simulink/sta/derivedSignals - /usr/local/MATLAB/R2016a/toolbox/simulink/sta/sourceBlocks - /usr/local/MATLAB/R2016a/toolbox/physmod/sm/docexamples - /usr/local/MATLAB/R2016a/toolbox/shared/cgir_fe - /usr/local/MATLAB/R2016a/toolbox/coder/float2fixed - /usr/local/MATLAB/R2016a/toolbox/coder/float2fixed/demos - /usr/local/MATLAB/R2016a/toolbox/coder/float2fixed/dmm_emlauthoring - /usr/local/MATLAB/R2016a/toolbox/fuzzy/fuzzy - /usr/local/MATLAB/R2016a/toolbox/fuzzy/fuzzyutil - /usr/local/MATLAB/R2016a/toolbox/target/extensions/processor/tic2000 - /usr/local/MATLAB/R2016a/toolbox/target/extensions/processor/tic2000/rtw - /usr/local/MATLAB/R2016a/toolbox/target/extensions/processor/tic2000/utils - /usr/local/MATLAB/R2016a/toolbox/finance/finance - /usr/local/MATLAB/R2016a/toolbox/finance/calendar - /usr/local/MATLAB/R2016a/toolbox/finance/finsupport - /usr/local/MATLAB/R2016a/toolbox/finance/ftseries - /usr/local/MATLAB/R2016a/toolbox/realtime - /usr/local/MATLAB/R2016a/toolbox/realtime/realtime - /usr/local/MATLAB/R2016a/toolbox/realtime/realtime/rtw - /usr/local/MATLAB/R2016a/toolbox/shared/optimlib - /usr/local/MATLAB/R2016a/toolbox/simulink/simulink/upgradeadvisor - /usr/local/MATLAB/R2016a/toolbox/physmod/common/gl/mli/m - /usr/local/MATLAB/R2016a/toolbox/shared/spcuilib - /usr/local/MATLAB/R2016a/toolbox/physmod/pe/advisor/m - /usr/local/MATLAB/R2016a/toolbox/imaq/imaqblks/imaqblks - /usr/local/MATLAB/R2016a/toolbox/imaq/imaqblks/imaqmex - /usr/local/MATLAB/R2016a/toolbox/imaq/imaqblks/imaqmasks - /usr/local/MATLAB/R2016a/toolbox/shared/sl_web_widgets - /usr/local/MATLAB/R2016a/toolbox/physmod/common/foundation/mli/m - /usr/local/MATLAB/R2016a/toolbox/fixedpoint/fixedpointtool - /usr/local/MATLAB/R2016a/toolbox/simulink/compiled_model_interface - /usr/local/MATLAB/R2016a/toolbox/physmod/simscape/engine/mli/m - /usr/local/MATLAB/R2016a/toolbox/shared/hwconnectinstaller/common - /usr/local/MATLAB/R2016a/toolbox/database/dbdemos - /usr/local/MATLAB/R2016a/toolbox/javabuilder/javabuilder - /usr/local/MATLAB/R2016a/toolbox/shared/rptgen - /usr/local/MATLAB/R2016a/toolbox/images/imdemos - /usr/local/MATLAB/R2016a/help/toolbox/dsp/examples - /usr/local/MATLAB/R2016a/toolbox/shared/slvnv - /usr/local/MATLAB/R2016a/toolbox/slvnv/slvnv - /usr/local/MATLAB/R2016a/toolbox/stats/gpu - /usr/local/MATLAB/R2016a/toolbox/physmod/simscape/simscape/m - /usr/local/MATLAB/R2016a/toolbox/matlab/cefclient - /usr/local/MATLAB/R2016a/toolbox/sl3d/sl3ddemos - /usr/local/MATLAB/R2016a/toolbox/simulink/simulink/slproject/templates - /usr/local/MATLAB/R2016a/toolbox/shared/spcuilib/slscopes - /usr/local/MATLAB/R2016a/toolbox/matlab/supportpackagemanagement - /usr/local/MATLAB/R2016a/toolbox/control/ctrldemos - /usr/local/MATLAB/R2016a/toolbox/shared/dspblks/dspblks - /usr/local/MATLAB/R2016a/toolbox/shared/dspblks/dspmex - /usr/local/MATLAB/R2016a/toolbox/ident/iddemos - /usr/local/MATLAB/R2016a/toolbox/ident/iddemos/examples - /usr/local/MATLAB/R2016a/toolbox/idelink/idelinkdemos - /usr/local/MATLAB/R2016a/toolbox/idelink/extensions/ticcs/ccsdemos - /usr/local/MATLAB/R2016a/toolbox/idelink/extensions/ticcs/ccsdemos/util - /usr/local/MATLAB/R2016a/toolbox/shared/eda/edagraph - /usr/local/MATLAB/R2016a/toolbox/matlab/external/interfaces/webservices/wsdl - /usr/local/MATLAB/R2016a/toolbox/fixedpoint/fidemos - /usr/local/MATLAB/R2016a/toolbox/map/map - /usr/local/MATLAB/R2016a/toolbox/map/mapgeodesy - /usr/local/MATLAB/R2016a/toolbox/map/mapdisp - /usr/local/MATLAB/R2016a/toolbox/map/mapformats - /usr/local/MATLAB/R2016a/toolbox/map/mapproj - /usr/local/MATLAB/R2016a/toolbox/map/mapdata - /usr/local/MATLAB/R2016a/toolbox/map/mapdata/sdts - /usr/local/MATLAB/R2016a/toolbox/shared/statslib - /usr/local/MATLAB/R2016a/toolbox/shared/statslib/sensitivity - /usr/local/MATLAB/R2016a/toolbox/physmod/powersys/drives/drives - /usr/local/MATLAB/R2016a/toolbox/slcontrol/slcontrol - /usr/local/MATLAB/R2016a/toolbox/slcontrol/slctrlguis - /usr/local/MATLAB/R2016a/toolbox/slcontrol/slctrlutil - /usr/local/MATLAB/R2016a/toolbox/slcontrol/slctrlobsolete - /usr/local/MATLAB/R2016a/toolbox/matlab/spf/matlabservices - /usr/local/MATLAB/R2016a/toolbox/shared/dsp/dialog - /usr/local/MATLAB/R2016a/toolbox/imaq/imaqdemos - /usr/local/MATLAB/R2016a/toolbox/symbolic/symbolicdemos - /usr/local/MATLAB/R2016a/toolbox/instrument/instrument - /usr/local/MATLAB/R2016a/toolbox/instrument/instrumentblks/instrumentblks - /usr/local/MATLAB/R2016a/toolbox/instrument/instrumentblks/instrumentmex - /usr/local/MATLAB/R2016a/toolbox/instrument/instrumentblks/instrumentmasks - /usr/local/MATLAB/R2016a/toolbox/eml/eml - /usr/local/MATLAB/R2016a/toolbox/coder/profile - /usr/local/MATLAB/R2016a/toolbox/database/database - /usr/local/MATLAB/R2016a/toolbox/database/vqb - /usr/local/MATLAB/R2016a/toolbox/map/mapdemos - /usr/local/MATLAB/R2016a/toolbox/shared/cxxfe_mi/cxxfe_mi - /usr/local/MATLAB/R2016a/toolbox/stats/mlearnapp - /usr/local/MATLAB/R2016a/toolbox/shared/eda/fpgaautomation - /usr/local/MATLAB/R2016a/toolbox/shared/eda/fpgaautomation/obsolete - /usr/local/MATLAB/R2016a/toolbox/comm/commdemos - /usr/local/MATLAB/R2016a/toolbox/physmod/pe/pedemos - /usr/local/MATLAB/R2016a/toolbox/slrequirements - /usr/local/MATLAB/R2016a/toolbox/shared/slcontrollib - /usr/local/MATLAB/R2016a/toolbox/geoweb/geoweb - /usr/local/MATLAB/R2016a/toolbox/shared/configset - /usr/local/MATLAB/R2016a/toolbox/comm/cdma2000 - /usr/local/MATLAB/R2016a/toolbox/signal/signalanalyzer - /usr/local/MATLAB/R2016a/toolbox/robotics/robotics - /usr/local/MATLAB/R2016a/toolbox/shared/can - /usr/local/MATLAB/R2016a/toolbox/shared/can/canblks - /usr/local/MATLAB/R2016a/toolbox/shared/can/canmasks - /usr/local/MATLAB/R2016a/toolbox/shared/can/canmex - /usr/local/MATLAB/R2016a/toolbox/simulink/fixedandfloat - /usr/local/MATLAB/R2016a/toolbox/simulink/fixedandfloat/obsolete - /usr/local/MATLAB/R2016a/toolbox/physmod/common/data/mli/m - /usr/local/MATLAB/R2016a/toolbox/physmod/sm/foundation/mech - /usr/local/MATLAB/R2016a/toolbox/imaq/imaq - /usr/local/MATLAB/R2016a/toolbox/physmod/pm_visimpl/pm_visimpl - /usr/local/MATLAB/R2016a/toolbox/bioinfo/biodemos - /usr/local/MATLAB/R2016a/toolbox/shared/sigbldr - /usr/local/MATLAB/R2016a/toolbox/dsp/dsp - /usr/local/MATLAB/R2016a/toolbox/dsp/dsputilities - /usr/local/MATLAB/R2016a/toolbox/dsp/dsputilities/dspinit - /usr/local/MATLAB/R2016a/toolbox/dsp/dsputilities/dspmex - /usr/local/MATLAB/R2016a/toolbox/dsp/dsp/compiled - /usr/local/MATLAB/R2016a/toolbox/symbolic/symbolic - /usr/local/MATLAB/R2016a/toolbox/optim/optimdemos - /usr/local/MATLAB/R2016a/toolbox/curvefit/curvefitdemos - /usr/local/MATLAB/R2016a/toolbox/shared/instrument - /usr/local/MATLAB/R2016a/toolbox/physmod/common/external/library/m - /usr/local/MATLAB/R2016a/toolbox/simulink/simulink/slproject - /usr/local/MATLAB/R2016a/toolbox/simulink/simulink/slproject/menu - /usr/local/MATLAB/R2016a/toolbox/physmod/mech/mech - /usr/local/MATLAB/R2016a/toolbox/physmod/mech/importer - /usr/local/MATLAB/R2016a/toolbox/shared/simulation_data_repository - /usr/local/MATLAB/R2016a/help/toolbox/control/examples - /usr/local/MATLAB/R2016a/help/toolbox/vision/examples - /usr/local/MATLAB/R2016a/toolbox/physmod/powersys/powerdemo - /usr/local/MATLAB/R2016a/toolbox/physmod/powersys/powerdemo/meascontrol - /usr/local/MATLAB/R2016a/toolbox/physmod/powersys/powerdemo/power_utility - /usr/local/MATLAB/R2016a/toolbox/physmod/sm/ssci/m - /usr/local/MATLAB/R2016a/toolbox/simulink/sl_async_streaming - /usr/local/MATLAB/R2016a/toolbox/shared/simulink/slcheck_services - /usr/local/MATLAB/R2016a/toolbox/shared/measure - /usr/local/MATLAB/R2016a/toolbox/physmod/powersys/powerdemo/simple - /usr/local/MATLAB/R2016a/toolbox/coder/trace - /usr/local/MATLAB/R2016a/toolbox/compiler_sdk - /usr/local/MATLAB/R2016a/toolbox/shared/diagnostic - /usr/local/MATLAB/R2016a/toolbox/physmod/powersys/templates - /usr/local/MATLAB/R2016a/toolbox/sldv/sldvdemos - /usr/local/MATLAB/R2016a/toolbox/simulink/sta/repository - /usr/local/MATLAB/R2016a/toolbox/simulink/sta/repository/util - /usr/local/MATLAB/R2016a/toolbox/stats/stats - /usr/local/MATLAB/R2016a/toolbox/stats/classreg - /usr/local/MATLAB/R2016a/toolbox/stats/clustering - /usr/local/MATLAB/R2016a/toolbox/hdlcoder/hdllib/ml_lib - /usr/local/MATLAB/R2016a/toolbox/simulink/simulink/iodata/ioformat - /usr/local/MATLAB/R2016a/toolbox/matlab/audiovideo - /usr/local/MATLAB/R2016a/toolbox/matlab/webcam - /usr/local/MATLAB/R2016a/toolbox/shared/mldatx - /usr/local/MATLAB/R2016a/toolbox/robust/robust - /usr/local/MATLAB/R2016a/toolbox/robust/rctlmi - /usr/local/MATLAB/R2016a/toolbox/robust/rctutil - /usr/local/MATLAB/R2016a/toolbox/robust/rctobsolete/robust - /usr/local/MATLAB/R2016a/toolbox/robust/rctobsolete/lmi - /usr/local/MATLAB/R2016a/toolbox/robust/rctobsolete/mutools/commands - /usr/local/MATLAB/R2016a/toolbox/robust/rctobsolete/mutools/subs - /usr/local/MATLAB/R2016a/toolbox/shared/codeinstrum/codeinstrum - /usr/local/MATLAB/R2016a/toolbox/control/control - /usr/local/MATLAB/R2016a/toolbox/control/ctrlmodels - /usr/local/MATLAB/R2016a/toolbox/control/ctrlanalysis - /usr/local/MATLAB/R2016a/toolbox/control/ctrldesign - /usr/local/MATLAB/R2016a/toolbox/control/ctrlplots - /usr/local/MATLAB/R2016a/toolbox/control/ctrlguis - /usr/local/MATLAB/R2016a/toolbox/control/ctrlobsolete - /usr/local/MATLAB/R2016a/toolbox/control/ctrlutil - /usr/local/MATLAB/R2016a/toolbox/physmod/simscape/compiler/sli/m - /usr/local/MATLAB/R2016a/toolbox/shared/dastudio - /usr/local/MATLAB/R2016a/toolbox/stats/statsdemos - /usr/local/MATLAB/R2016a/toolbox/shared/curvefitlib - /usr/local/MATLAB/R2016a/toolbox/shared/slpir - /usr/local/MATLAB/R2016a/toolbox/shared/eda/fpgabase - /usr/local/MATLAB/R2016a/toolbox/physmod/common/dataservices/mli/m - /usr/local/MATLAB/R2016a/toolbox/shared/hdlshared/hdlshared_gui - /usr/local/MATLAB/R2016a/toolbox/shared/eda/hdlparser - /usr/local/MATLAB/R2016a/toolbox/physmod/network_engine/network_engine - /usr/local/MATLAB/R2016a/toolbox/target/extensions/processor/intelhost/tfl - /usr/local/MATLAB/R2016a/toolbox/coder/coverage - /usr/local/MATLAB/R2016a/toolbox/shared/dsp/hdl - /usr/local/MATLAB/R2016a/toolbox/matlab/spf/matlabhost - /usr/local/MATLAB/R2016a/toolbox/mpc/mpc - /usr/local/MATLAB/R2016a/toolbox/mpc/mpcguis - /usr/local/MATLAB/R2016a/toolbox/mpc/mpcobsolete - /usr/local/MATLAB/R2016a/toolbox/mpc/mpcutils - /usr/local/MATLAB/R2016a/toolbox/simulink/slexportprevious - /usr/local/MATLAB/R2016a/toolbox/sl3d/sl3d - /usr/local/MATLAB/R2016a/toolbox/comm/comm - /usr/local/MATLAB/R2016a/toolbox/comm/commutilities/comminit - /usr/local/MATLAB/R2016a/toolbox/comm/commutilities/commmex - /usr/local/MATLAB/R2016a/toolbox/comm/commutilities - /usr/local/MATLAB/R2016a/toolbox/comm/commdeprecated - /usr/local/MATLAB/R2016a/toolbox/comm/comm/compiled - /usr/local/MATLAB/R2016a/toolbox/coder/connectivity - /usr/local/MATLAB/R2016a/toolbox/rtw/targets/connectivity - /usr/local/MATLAB/R2016a/toolbox/simulink/slhistory - /usr/local/MATLAB/R2016a/toolbox/physmod/simscape/templates - /usr/local/MATLAB/R2016a/toolbox/shared/spreadsheet - /usr/local/MATLAB/R2016a/toolbox/fixpoint - /usr/local/MATLAB/R2016a/toolbox/fixpoint/fpca - /usr/local/MATLAB/R2016a/toolbox/robotics/ros - /usr/local/MATLAB/R2016a/toolbox/physmod/ne_sli/ne_sli - /usr/local/MATLAB/R2016a/toolbox/shared/dsp/simulink/dsp - /usr/local/MATLAB/R2016a/toolbox/matlab/system - /usr/local/MATLAB/R2016a/toolbox/shared/eda/fil - /usr/local/MATLAB/R2016a/toolbox/shared/eda/fil/filmapi - /usr/local/MATLAB/R2016a/toolbox/coder/rtiostream - /usr/local/MATLAB/R2016a/toolbox/pde - /usr/local/MATLAB/R2016a/toolbox/physmod/powersys/powersys - /usr/local/MATLAB/R2016a/toolbox/shared/hotpluglib - /usr/local/MATLAB/R2016a/toolbox/shared/multimedia - /usr/local/MATLAB/R2016a/toolbox/shared/testmeaslib/graphics - /usr/local/MATLAB/R2016a/toolbox/matlab/addons_toolbox - /usr/local/MATLAB/R2016a/toolbox/shared/imageslib - /usr/local/MATLAB/R2016a/toolbox/physmod/pm_sli/pm_sli - /usr/local/MATLAB/R2016a/toolbox/shared/dastudio/seqdiagram - /usr/local/MATLAB/R2016a/toolbox/physmod/sm/templates - /usr/local/MATLAB/R2016a/toolbox/physmod/sm/gui/m - /usr/local/MATLAB/R2016a/toolbox/ident/ident - /usr/local/MATLAB/R2016a/toolbox/ident/nlident - /usr/local/MATLAB/R2016a/toolbox/ident/idobsolete - /usr/local/MATLAB/R2016a/toolbox/ident/idguis - /usr/local/MATLAB/R2016a/toolbox/ident/idutils - /usr/local/MATLAB/R2016a/toolbox/ident/idrecursive - /usr/local/MATLAB/R2016a/toolbox/ident/idhelp - /usr/local/MATLAB/R2016a/toolbox/physmod/powersys/powerdemo/machines - /usr/local/MATLAB/R2016a/toolbox/target/extensions/operatingsystem/windows/blks - /usr/local/MATLAB/R2016a/toolbox/target/extensions/operatingsystem/windows/blks/masks - /usr/local/MATLAB/R2016a/toolbox/target/extensions/operatingsystem/windows/blks/mex - /usr/local/MATLAB/R2016a/toolbox/shared/networklib - /usr/local/MATLAB/R2016a/toolbox/physmod/sm/sli/m - /usr/local/MATLAB/R2016a/toolbox/physmod/sm/sm/m - /usr/local/MATLAB/R2016a/toolbox/shared/advisor - /usr/local/MATLAB/R2016a/toolbox/shared/filterdesignlib - /usr/local/MATLAB/R2016a/toolbox/matlab/connector/connector - /usr/local/MATLAB/R2016a/toolbox/idelink/foundation - /usr/local/MATLAB/R2016a/toolbox/idelink/foundation/util - /usr/local/MATLAB/R2016a/toolbox/idelink/foundation/errorhandler - /usr/local/MATLAB/R2016a/toolbox/idelink/foundation/xmakefile - /usr/local/MATLAB/R2016a/toolbox/idelink/foundation/hookpoints - /usr/local/MATLAB/R2016a/toolbox/shared/comparisons - /usr/local/MATLAB/R2016a/toolbox/signal/sigdemos - /usr/local/MATLAB/R2016a/toolbox/matlab/configtools - /usr/local/MATLAB/R2016a/toolbox/simbio/simbio - /usr/local/MATLAB/R2016a/toolbox/matlab/external/interfaces/python - /usr/local/MATLAB/R2016a/toolbox/shared/m3i - /usr/local/MATLAB/R2016a/toolbox/matlab/toolstrip - /usr/local/MATLAB/R2016a/toolbox/dsp/dspdeployabledemos - /usr/local/MATLAB/R2016a/toolbox/slvnv/styleguide - /usr/local/MATLAB/R2016a/help/toolbox/robust/examples - /usr/local/MATLAB/R2016a/toolbox/shared/deviceplugindetection - /usr/local/MATLAB/R2016a/toolbox/physmod/simscape/compiler/mli/m - /usr/local/MATLAB/R2016a/toolbox/physmod/gui/gfx/m - /usr/local/MATLAB/R2016a/toolbox/physmod/sm/import/m - /usr/local/MATLAB/R2016a/toolbox/compiler/java - /usr/local/MATLAB/R2016a/toolbox/physmod/pe/utils/m - /usr/local/MATLAB/R2016a/toolbox/rtw/rtw - /usr/local/MATLAB/R2016a/toolbox/coder/foundation - /usr/local/MATLAB/R2016a/toolbox/coder/foundation/build - /usr/local/MATLAB/R2016a/toolbox/coder/foundation/build/tools/registry - /usr/local/MATLAB/R2016a/toolbox/coder/foundation/tfl - /usr/local/MATLAB/R2016a/toolbox/coder/foundation/tfl/AUTOSAR/AUTOSAR4p0/IFX - /usr/local/MATLAB/R2016a/toolbox/coder/foundation/tfl/AUTOSAR/AUTOSAR4p0/IFL - /usr/local/MATLAB/R2016a/toolbox/coder/foundation/tfl/gui - /usr/local/MATLAB/R2016a/toolbox/coder/foundation/templates - /usr/local/MATLAB/R2016a/toolbox/shared/simtargets - /usr/local/MATLAB/R2016a/toolbox/physmod/mech/mechdemos - /usr/local/MATLAB/R2016a/toolbox/shared/maputils - /usr/local/MATLAB/R2016a/toolbox/coder/foundation/passmanager - /usr/local/MATLAB/R2016a/toolbox/simulink/simulink/iodata/iomap - /usr/local/MATLAB/R2016a/toolbox/fininst/fininstdemos - /usr/local/MATLAB/R2016a/toolbox/nnet - /usr/local/MATLAB/R2016a/toolbox/nnet/nncontrol - /usr/local/MATLAB/R2016a/toolbox/nnet/nnet - /usr/local/MATLAB/R2016a/toolbox/nnet/nnet/nnadapt - /usr/local/MATLAB/R2016a/toolbox/nnet/nnet/nndatafun - /usr/local/MATLAB/R2016a/toolbox/nnet/nnet/nnderivative - /usr/local/MATLAB/R2016a/toolbox/nnet/nnet/nndistance - /usr/local/MATLAB/R2016a/toolbox/nnet/nnet/nndivision - /usr/local/MATLAB/R2016a/toolbox/nnet/nnet/nninitlayer - /usr/local/MATLAB/R2016a/toolbox/nnet/nnet/nninitnetwork - /usr/local/MATLAB/R2016a/toolbox/nnet/nnet/nninitweight - /usr/local/MATLAB/R2016a/toolbox/nnet/nnet/nnlearn - /usr/local/MATLAB/R2016a/toolbox/nnet/nnet/nnnetfun - /usr/local/MATLAB/R2016a/toolbox/nnet/nnet/nnnetinput - /usr/local/MATLAB/R2016a/toolbox/nnet/nnet/nnnetwork - /usr/local/MATLAB/R2016a/toolbox/nnet/nnet/nnperformance - /usr/local/MATLAB/R2016a/toolbox/nnet/nnet/nnplot - /usr/local/MATLAB/R2016a/toolbox/nnet/nnet/nnprocess - /usr/local/MATLAB/R2016a/toolbox/nnet/nnet/nnsearch - /usr/local/MATLAB/R2016a/toolbox/nnet/nnet/nntopology - /usr/local/MATLAB/R2016a/toolbox/nnet/nnet/nntrain - /usr/local/MATLAB/R2016a/toolbox/nnet/nnet/nntransfer - /usr/local/MATLAB/R2016a/toolbox/nnet/nnet/nnweight - /usr/local/MATLAB/R2016a/toolbox/nnet/nnguis - /usr/local/MATLAB/R2016a/toolbox/nnet/nnobsolete - /usr/local/MATLAB/R2016a/toolbox/nnet/nnutils - /usr/local/MATLAB/R2016a/toolbox/matlab/addons_product - /usr/local/MATLAB/R2016a/toolbox/shared/tracking/trackinglib - /usr/local/MATLAB/R2016a/toolbox/shared/simulink/sysarch/sysarch - /usr/local/MATLAB/R2016a/toolbox/shared/slreportgen/reportexplorer - /usr/local/MATLAB/R2016a/toolbox/coder/embeddedcoder_templates - /usr/local/MATLAB/R2016a/toolbox/coder/wizard - /usr/local/MATLAB/R2016a/toolbox/physmod/sm/core/m - /usr/local/MATLAB/R2016a/toolbox/robotics/robotexamples - /usr/local/MATLAB/R2016a/toolbox/robotics/robotexamples/ros - /usr/local/MATLAB/R2016a/toolbox/robotics/robotexamples/ros/helpers - /usr/local/MATLAB/R2016a/toolbox/robotics/robotexamples/robotalgs - /usr/local/MATLAB/R2016a/toolbox/robotics/robotexamples/robotalgs/helpers - /usr/local/MATLAB/R2016a/toolbox/robotics/robotexamples/robotcore - /usr/local/MATLAB/R2016a/toolbox/robotics/robotexamples/robotcore/helpers - /usr/local/MATLAB/R2016a/toolbox/robotics/robotexamples/robotsimulink - /usr/local/MATLAB/R2016a/toolbox/robotics/robotexamples/robotsimulink/helpers - /usr/local/MATLAB/R2016a/toolbox/shared/controllib/engine - /usr/local/MATLAB/R2016a/toolbox/shared/controllib/engine/numerics - /usr/local/MATLAB/R2016a/toolbox/shared/controllib/engine/options - /usr/local/MATLAB/R2016a/toolbox/shared/controllib/engine/optim - /usr/local/MATLAB/R2016a/toolbox/shared/controllib/engine/blocks - /usr/local/MATLAB/R2016a/toolbox/dsp/filterdesign - /usr/local/MATLAB/R2016a/toolbox/finance/findemos - /usr/local/MATLAB/R2016a/toolbox/physmod/powersys/facts/facts - - - -```matlab -pwd -``` - - ans = - - /home/ryan/Documents/UConn/ME3255/me3255_S2017/lecture_03 - - - -path - -## Assignments (`=`-operator) - -Matlab is interpreted language so each line of code (either saved text file or command-line) is executed as a standalone command - -These are reffered to "scripts" - - -```matlab -a=10; % line one assigns a to 10 -b=a*3; % line two assigns b to 10 times 3 by calling 'a' from line one -a+b % line three does not assign anything directly, but leaving off the ";" prints the result - % ans -``` - - ans = - - 40 - - -Matlab has a number of "objects" that you can assign to variables -1. arrays (vectors and matrices `[`...`]`) -2. strings (text `"`...`"` ) -3. cells (combination of strings, text, even function calls `{`...`}`) -3. functions (both built-in, defined or developed) -4. and more... (classes defined by `classdef` - you can create your own object to help organize data) - -### 1- Arrays - -Default in matlab is that when you assign a value to a variable, it is stored as an array - -arrays are N x M x ... values of integers or floating point numbers or complex integers/floating point numbers - -Use the parantheses to access values in an array `...(n,m)` - - -```matlab -a=10; % a is 1x1 array where a(1,1)==10 -a(1,1)==10 - -``` - - ans = - - 1 - - - -```matlab -a(2) -``` - - Index exceeds matrix dimensions. -  - - -```matlab -A = [1 2 3;4,5,6;7,8,9;10,11,12] -fprintf('size of A is %i x %i\n',size(A)) -A(3,1) -A(6) -``` - - A = - - 1 2 3 - 4 5 6 - 7 8 9 - 10 11 12 - - size of A is 4 x 3 - - ans = - - 7 - - - ans = - - 5 - - -vectors are either 1xN or Nx1 arrays for row and column - - -```matlab -v_row = [1,2,3] %row vector -v_column = [1;2;3] %column vector - -``` - - v_row = - - 1 2 3 - - - v_column = - - 1 - 2 - 3 - - -Matrices are MxN arrays -the `:`-symbol can substitute for a counting - - -```matlab -A(1,:) % the colon assumes you want the first value, 1, counting up by 1 to the last value, 4 -``` - - ans = - - 1 2 3 - - -You can also use every 2nd value or any other integer up to `end` which is the largest value of that row or column of the array - - -```matlab -A(1:2:end,1) % you can also use `end` -``` - - ans = - - 1 - 7 - - - -```matlab -A(:) -``` - - ans = - - 1 - 4 - 7 - 10 - 2 - 5 - 8 - 11 - 3 - 6 - 9 - 12 - - -In general, arrays can be any size - -take rolling 4 die and determining the sum of the components - - -```matlab -A_6666 = zeros(6,6,6,6); %make a 6 x 6 x 6 x 6 array (1296 different values) -for i=1:6 - for j=1:6 - for k=1:6 - for l=1:6 - A_6666(i,j,k,l)=i+j+k+l; % each value is the sum of the indices - end - end - end -end - -``` - - -```matlab -mean(A_6666(:)) -std(A_6666(:)) -``` - - ans = - - 14 - - - ans = - - 3.4170 - - - -```matlab -A_6666(1,4,2,5) -``` - - ans = - - 12 - - -## Cells combine different size arrays and text -### but, you cannot use math operators 'binary operators' - - -```matlab -C={}; -C{1}=linspace(0,1,10); -C{2}=linspace(0,1,3); -C{'z'}='holy cow'; -``` - - -```matlab -C{1}*C{1}' -``` - - ans = - - 3.5185 - - -## Strings can be combined and printed - - -```matlab -string1 = 'computational'; string2 = 'mechanics'; -[string1, ' ', string2] -``` - - ans = - - computational mechanics - - -use `fprintf` to format strings and numbers for output and `sprintf` to save variables - - - -```matlab -fprintf([string1,' ',string2,'\n\n']) -string = sprintf('the dog had %i legs and weighed %1.1f lbs',4,10.0) -``` - - computational mechanics - - - string = - - the dog had 4 legs and weighed 10.0 lbs - - -the `\` signifies a special character e.g. `\n` = newline, `\t` = tab - -to actually print the "\", use `\\` - - -```matlab -fprintf('\\') -``` - - \ - - -## This is helpful to create reports of computed data - - -```matlab -%fid = fopen('file.txt','w'); -fprintf(fid,[string1, ' ', string2]) -fprintf(fid,'\n') -fprintf(fid,string) -fprintf(fid,'\n') -fprintf(fid,'are you awake?') -``` - - ans = - - 23 - - - ans = - - 1 - - - ans = - - 39 - - - ans = - - 1 - - - ans = - - 14 - - -## Math operators (=, +, -, /, *, ^) - -Because matlab assumes all variables are matrices, then all operators are matrix operations - - -```matlab -a+a % add two 1x1 arrays -``` - - ans = 20 - - - -```matlab -A+A % add two 4 x 3 arrays -``` - - ans = - - 2 4 6 - 8 10 12 - 14 16 18 - 20 22 24 - - - - -```matlab -A*A' -``` - - ans = - - 14 32 50 68 - 32 77 122 167 - 50 122 194 266 - 68 167 266 365 - - - -```matlab -A.^2 -``` - - ans = - - 1 4 9 - 16 25 36 - 49 64 81 - 100 121 144 - - - -```matlab -A.*A -``` - - ans = - - 1 4 9 - 16 25 36 - 49 64 81 - 100 121 144 - - - -```matlab -A/A -``` - - [> In pymat_eval (line 31) - In matlabserver (line 24)] - [Warning: Rank deficient, rank = 2, tol = 1.696862e-14.] - - ans = - - 1.0000 0 0 -0.0000 - 0.6667 0 0 0.3333 - 0.3333 0 0 0.6667 - 0.0000 0 0 1.0000 - - - -```matlab -help / -``` - - / Slash or right matrix divide. - A/B is the matrix division of B into A, which is roughly the - same as A*INV(B) , except it is computed in a different way. - More precisely, A/B = (B'\A')'. See MLDIVIDE for details. - - C = MRDIVIDE(A,B) is called for the syntax 'A / B' when A or B is an - object. - - See also MLDIVIDE, RDIVIDE, LDIVIDE. - - Reference page in Doc Center - doc mrdivide - - Other functions named mrdivide - - codistributed/mrdivide gf/mrdivide laurpoly/mrdivide - duration/mrdivide gpuArray/mrdivide StaticModel/mrdivide - DynamicSystem/mrdivide LagOp/mrdivide timeseries/mrdivide - fints/mrdivide - - -To accomplish one-by-one operations, need to include a `.` - - -```matlab -A./A -``` - - ans = - - 1 1 1 - 1 1 1 - 1 1 1 - 1 1 1 - - - -But, for 1x1 arrays, these are considered scalars and you get a free-pass - - -```matlab -a*A % where a=10 and A is 1:12 in a 3 x 4 matrix -``` - - ans = - - 10 20 30 - 40 50 60 - 70 80 90 - 100 110 120 - - - -Some built in Matlab functions (e.g. the reasons to run Matlab) - - -```matlab -t_linear=linspace(0,1,11) -``` - - t_linear = - - Columns 1 through 7 - - 0 0.1000 0.2000 0.3000 0.4000 0.5000 0.6000 - - Columns 8 through 11 - - 0.7000 0.8000 0.9000 1.0000 - - - -```matlab -t_log = logspace(0,2,3) % log interval from 10^0 to 10^2 split into 3 values -``` - - t_log = - - 1 10 100 - - - -```matlab -help logspace -``` - - 'logspace' is a function from the file /usr/share/octave/4.0.0/m/general/logspace.m - - -- Function File: logspace (A, B) - -- Function File: logspace (A, B, N) - -- Function File: logspace (A, pi, N) - Return a row vector with N elements logarithmically spaced from - 10^A to 10^B. - - If N is unspecified it defaults to 50. - - If B is equal to pi, the points are between 10^A and pi, _not_ 10^A - and 10^pi, in order to be compatible with the corresponding MATLAB - function. - - Also for compatibility with MATLAB, return the second argument B if - fewer than two values are requested. - - See also: linspace. - - Additional help for built-in functions and operators is - available in the online version of the manual. Use the command - 'doc ' to search the manual index. - - Help and information about Octave is also available on the WWW - at http://www.octave.org and via the help@octave.org - mailing list. - - -## When using the command prompt, anything in your path or working directory can be run either as a script, function or class (to define objects) - - -```matlab -%myscript -``` - - -```matlab -%plot --format svg -``` - -When using the GUI, your command history is saved, but it is better to save your work either as a script or a function or combination of both - -Creating a default graph script: - - -```matlab -set(0, 'defaultAxesFontSize', 16) -set(0,'defaultTextFontSize',14) -set(0,'defaultLineLineWidth',3) -``` - - -```matlab -plot(t_linear,t_linear.^2) -xlabel('time (s)') -ylabel('displacement (m)') -``` - - -![png](output_58_0.png) - - -#EOL - -## Graphics can be produced with a number of functions - -2-D plots, 3-D plots, contour plots, 3D contour plots ... - - -```matlab -x=linspace(-1,1,21); y=linspace(-1,1,21); -[X,Y]=meshgrid(x,y); -Z=(X.*Y.^3-X.^3.*Y) -``` - - Z = - - Columns 1 through 8: - - 0.00000 0.17100 0.28800 0.35700 0.38400 0.37500 0.33600 0.27300 - -0.17100 0.00000 0.12240 0.20160 0.24300 0.25200 0.23400 0.19440 - -0.28800 -0.12240 0.00000 0.08400 0.13440 0.15600 0.15360 0.13200 - -0.35700 -0.20160 -0.08400 0.00000 0.05460 0.08400 0.09240 0.08400 - -0.38400 -0.24300 -0.13440 -0.05460 0.00000 0.03300 0.04800 0.04860 - -0.37500 -0.25200 -0.15600 -0.08400 -0.03300 0.00000 0.01800 0.02400 - -0.33600 -0.23400 -0.15360 -0.09240 -0.04800 -0.01800 0.00000 0.00840 - -0.27300 -0.19440 -0.13200 -0.08400 -0.04860 -0.02400 -0.00840 0.00000 - -0.19200 -0.13860 -0.09600 -0.06300 -0.03840 -0.02100 -0.00960 -0.00300 - -0.09900 -0.07200 -0.05040 -0.03360 -0.02100 -0.01200 -0.00600 -0.00240 - 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 - 0.09900 0.07200 0.05040 0.03360 0.02100 0.01200 0.00600 0.00240 - 0.19200 0.13860 0.09600 0.06300 0.03840 0.02100 0.00960 0.00300 - 0.27300 0.19440 0.13200 0.08400 0.04860 0.02400 0.00840 -0.00000 - 0.33600 0.23400 0.15360 0.09240 0.04800 0.01800 -0.00000 -0.00840 - 0.37500 0.25200 0.15600 0.08400 0.03300 0.00000 -0.01800 -0.02400 - 0.38400 0.24300 0.13440 0.05460 -0.00000 -0.03300 -0.04800 -0.04860 - 0.35700 0.20160 0.08400 -0.00000 -0.05460 -0.08400 -0.09240 -0.08400 - 0.28800 0.12240 0.00000 -0.08400 -0.13440 -0.15600 -0.15360 -0.13200 - 0.17100 -0.00000 -0.12240 -0.20160 -0.24300 -0.25200 -0.23400 -0.19440 - 0.00000 -0.17100 -0.28800 -0.35700 -0.38400 -0.37500 -0.33600 -0.27300 - - Columns 9 through 16: - - 0.19200 0.09900 0.00000 -0.09900 -0.19200 -0.27300 -0.33600 -0.37500 - 0.13860 0.07200 0.00000 -0.07200 -0.13860 -0.19440 -0.23400 -0.25200 - 0.09600 0.05040 0.00000 -0.05040 -0.09600 -0.13200 -0.15360 -0.15600 - 0.06300 0.03360 0.00000 -0.03360 -0.06300 -0.08400 -0.09240 -0.08400 - 0.03840 0.02100 0.00000 -0.02100 -0.03840 -0.04860 -0.04800 -0.03300 - 0.02100 0.01200 0.00000 -0.01200 -0.02100 -0.02400 -0.01800 0.00000 - 0.00960 0.00600 0.00000 -0.00600 -0.00960 -0.00840 0.00000 0.01800 - 0.00300 0.00240 0.00000 -0.00240 -0.00300 0.00000 0.00840 0.02400 - 0.00000 0.00060 0.00000 -0.00060 0.00000 0.00300 0.00960 0.02100 - -0.00060 0.00000 0.00000 0.00000 0.00060 0.00240 0.00600 0.01200 - 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 - 0.00060 -0.00000 0.00000 0.00000 -0.00060 -0.00240 -0.00600 -0.01200 - -0.00000 -0.00060 0.00000 0.00060 0.00000 -0.00300 -0.00960 -0.02100 - -0.00300 -0.00240 0.00000 0.00240 0.00300 0.00000 -0.00840 -0.02400 - -0.00960 -0.00600 0.00000 0.00600 0.00960 0.00840 0.00000 -0.01800 - -0.02100 -0.01200 0.00000 0.01200 0.02100 0.02400 0.01800 0.00000 - -0.03840 -0.02100 0.00000 0.02100 0.03840 0.04860 0.04800 0.03300 - -0.06300 -0.03360 0.00000 0.03360 0.06300 0.08400 0.09240 0.08400 - -0.09600 -0.05040 0.00000 0.05040 0.09600 0.13200 0.15360 0.15600 - -0.13860 -0.07200 0.00000 0.07200 0.13860 0.19440 0.23400 0.25200 - -0.19200 -0.09900 0.00000 0.09900 0.19200 0.27300 0.33600 0.37500 - - Columns 17 through 21: - - -0.38400 -0.35700 -0.28800 -0.17100 0.00000 - -0.24300 -0.20160 -0.12240 0.00000 0.17100 - -0.13440 -0.08400 0.00000 0.12240 0.28800 - -0.05460 0.00000 0.08400 0.20160 0.35700 - 0.00000 0.05460 0.13440 0.24300 0.38400 - 0.03300 0.08400 0.15600 0.25200 0.37500 - 0.04800 0.09240 0.15360 0.23400 0.33600 - 0.04860 0.08400 0.13200 0.19440 0.27300 - 0.03840 0.06300 0.09600 0.13860 0.19200 - 0.02100 0.03360 0.05040 0.07200 0.09900 - 0.00000 0.00000 0.00000 0.00000 0.00000 - -0.02100 -0.03360 -0.05040 -0.07200 -0.09900 - -0.03840 -0.06300 -0.09600 -0.13860 -0.19200 - -0.04860 -0.08400 -0.13200 -0.19440 -0.27300 - -0.04800 -0.09240 -0.15360 -0.23400 -0.33600 - -0.03300 -0.08400 -0.15600 -0.25200 -0.37500 - 0.00000 -0.05460 -0.13440 -0.24300 -0.38400 - 0.05460 0.00000 -0.08400 -0.20160 -0.35700 - 0.13440 0.08400 0.00000 -0.12240 -0.28800 - 0.24300 0.20160 0.12240 0.00000 -0.17100 - 0.38400 0.35700 0.28800 0.17100 0.00000 - - - - -```matlab -contour(X,Y,Z) -``` - - -![svg](output_63_0.svg) - - - -```matlab -mesh(X,Y,Z) -``` - - -![svg](output_64_0.svg) - - - -```matlab -pcolor(X,Y,Z) -``` - - -![svg](output_65_0.svg) - - -## diff --git a/lecture_03/octave-workspace b/lecture_03/octave-workspace deleted file mode 100644 index 4a1464b..0000000 Binary files a/lecture_03/octave-workspace and /dev/null differ diff --git a/lecture_03/output_58_0.png b/lecture_03/output_58_0.png deleted file mode 100644 index 1737c76..0000000 Binary files a/lecture_03/output_58_0.png and /dev/null differ diff --git a/lecture_03/output_63_0.svg b/lecture_03/output_63_0.svg deleted file mode 100644 index 3ed45d2..0000000 --- a/lecture_03/output_63_0.svg +++ /dev/null @@ -1,270 +0,0 @@ - - -Gnuplot -Produced by GNUPLOT 5.0 patchlevel 3 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -1 - - - - - -0.5 - - - - - 0 - - - - - 0.5 - - - - - 1 - - - - - -1 - - - - - -0.5 - - - - - 0 - - - - - 0.5 - - - - - 1 - - - - - - - - - gnuplot_plot_1a - - - - gnuplot_plot_2a - - - - gnuplot_plot_3a - - - - gnuplot_plot_4a - - - - gnuplot_plot_5a - - - - gnuplot_plot_6a - - - - gnuplot_plot_7a - - - - gnuplot_plot_8a - - - - gnuplot_plot_9a - - - - gnuplot_plot_10a - - - - gnuplot_plot_11a - - - - gnuplot_plot_12a - - - - gnuplot_plot_13a - - - - gnuplot_plot_14a - - - - gnuplot_plot_15a - - - - gnuplot_plot_16a - - - - gnuplot_plot_17a - - - - gnuplot_plot_18a - - - - gnuplot_plot_19a - - - - gnuplot_plot_20a - - - - gnuplot_plot_21a - - - - gnuplot_plot_22a - - - - gnuplot_plot_23a - - - - gnuplot_plot_24a - - - - gnuplot_plot_25a - - - - gnuplot_plot_26a - - - - gnuplot_plot_27a - - - - gnuplot_plot_28a - - - - gnuplot_plot_29a - - - - gnuplot_plot_30a - - - - gnuplot_plot_31a - - - - gnuplot_plot_32a - - - - gnuplot_plot_33a - - - - gnuplot_plot_34a - - - - gnuplot_plot_35a - - - - gnuplot_plot_36a - - - - gnuplot_plot_37a - - - - gnuplot_plot_38a - - - - gnuplot_plot_39a - - - - gnuplot_plot_40a - - - - - - - - - - - - - \ No newline at end of file diff --git a/lecture_03/output_64_0.svg b/lecture_03/output_64_0.svg deleted file mode 100644 index 509634c..0000000 --- a/lecture_03/output_64_0.svg +++ /dev/null @@ -1,1632 +0,0 @@ - - -Gnuplot -Produced by GNUPLOT 5.0 patchlevel 3 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - gnuplot_plot_1a - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - gnuplot_plot_2a - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -1 - - - - - - - - - - - - - -0.5 - - - - - - - - - 0 - - - - - - - - - 0.5 - - - - - - - - - - - 1 - - - - - - - - - - - -1 - - - - - - - - - - - -0.5 - - - - - - - - - - - 0 - - - - - - - - - - - - - 0.5 - - - - - - - - - 1 - - - - - - - - - - - - - -0.4 - - - - - - - - - - - - - - - -0.3 - - - - - - - - - - - - - -0.2 - - - - - - - - - - - - - - - - - -0.1 - - - - - - - - - - - - - 0 - - - - - - - - - - - - - - - - - - - 0.1 - - - - - - - - - - - - - - - - - - - 0.2 - - - - - - - - - - - - - - - - - 0.3 - - - - - - - - - - - - - 0.4 - - - - - - - - \ No newline at end of file diff --git a/lecture_03/output_65_0.svg b/lecture_03/output_65_0.svg deleted file mode 100644 index 5ce036b..0000000 --- a/lecture_03/output_65_0.svg +++ /dev/null @@ -1,2146 +0,0 @@ - - -Gnuplot -Produced by GNUPLOT 5.0 patchlevel 3 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - gnuplot_plot_1a - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -1 - - - - - - - - - -0.5 - - - - - - - - - 0 - - - - - - - - - 0.5 - - - - - - - - - 1 - - - - - - - - - -1 - - - - - - - - - -0.5 - - - - - - - - - 0 - - - - - - - - - 0.5 - - - - - - - - - 1 - - - - - - \ No newline at end of file diff --git a/lecture_04/lecture_4.md b/lecture_04/lecture_4.md deleted file mode 100644 index dd549aa..0000000 --- a/lecture_04/lecture_4.md +++ /dev/null @@ -1,339 +0,0 @@ - -## When using the command prompt, anything in your path or working directory can be run either as a script, function or class (to define objects) - -Questions from last class: -- I downloaded GitHub to my desktop but I cannot sign into my UConn account like I can online. -- I checked my grades on HuskyCt recently and I received a 0 / 100 for Homework 1. -- It is very hard to tell if what I'm doing on github is right or wrong. -- How often will be using our laptops during the lecture? -- How many frogs would it take to move a car that is stuck in the snow? And what would be the approximate cost to do so - -$m_{frog}$=22.7 g (https://en.wikipedia.org/wiki/Common_frog) - -$v_{frog}$=17 kph = 4.72 m/s (http://purelyfacts.com/question/14/is-a-toad-faster-than-a-frog?DDA=113&DDB=40) - -$m_{car}$=1000 kg (reasonable guess) - -conservation of momentum: - -$mv_{1} +mv_{2} = mv_{1}'+mv_{2}' = m_{total}v_{2}'$ - - -```matlab -number_of_frogs = 1; -v2=0; -while v2 < 1 % 1 m/s - m_frogs=number_of_frogs*22.7e-3; - number_of_frogs=number_of_frogs+1; - p1=(m_frogs)*4.72; % momentum 1 - v2=p1/(m_frogs+1000); % p2=p1, so v2=p1/m_total -end -number_of_frogs - -``` - - number_of_frogs = - - 11844 - - - -```matlab -%myscript -``` - - -```matlab -%plot --format svg -``` - -When using the GUI, your command history is saved, but it is better to save your work either as a script or a function or combination of both - -Creating a default graph script: `setdefaults.m` - -```matlab -set(0, 'defaultAxesFontSize', 16) -set(0,'defaultTextFontSize',14) -set(0,'defaultLineLineWidth',3) -``` - - -```matlab -set(0, 'defaultAxesFontSize', 16) -set(0,'defaultTextFontSize',14) -set(0,'defaultLineLineWidth',3) -``` - - -```matlab -t_linear=linspace(0,10,100); -plot(t_linear,t_linear.^2) -xlabel('time (s)') -ylabel('displacement (m)') -``` - - -![png](lecture_4_files/lecture_4_7_0.png) - - -#EOL - -## Graphics can be produced with a number of functions - -2-D plots, 3-D plots, contour plots, 3D contour plots ... - - -```matlab -x=linspace(-1,1,21); y=linspace(-1,1,21); -[X,Y]=meshgrid(x,y); -Z=(X.*Y.^3-X.^3.*Y) -``` - - Z = - - Columns 1 through 7 - - 0 0.1710 0.2880 0.3570 0.3840 0.3750 0.3360 - -0.1710 0 0.1224 0.2016 0.2430 0.2520 0.2340 - -0.2880 -0.1224 0 0.0840 0.1344 0.1560 0.1536 - -0.3570 -0.2016 -0.0840 0 0.0546 0.0840 0.0924 - -0.3840 -0.2430 -0.1344 -0.0546 0 0.0330 0.0480 - -0.3750 -0.2520 -0.1560 -0.0840 -0.0330 0 0.0180 - -0.3360 -0.2340 -0.1536 -0.0924 -0.0480 -0.0180 0 - -0.2730 -0.1944 -0.1320 -0.0840 -0.0486 -0.0240 -0.0084 - -0.1920 -0.1386 -0.0960 -0.0630 -0.0384 -0.0210 -0.0096 - -0.0990 -0.0720 -0.0504 -0.0336 -0.0210 -0.0120 -0.0060 - 0 0 0 0 0 0 0 - 0.0990 0.0720 0.0504 0.0336 0.0210 0.0120 0.0060 - 0.1920 0.1386 0.0960 0.0630 0.0384 0.0210 0.0096 - 0.2730 0.1944 0.1320 0.0840 0.0486 0.0240 0.0084 - 0.3360 0.2340 0.1536 0.0924 0.0480 0.0180 0.0000 - 0.3750 0.2520 0.1560 0.0840 0.0330 0 -0.0180 - 0.3840 0.2430 0.1344 0.0546 -0.0000 -0.0330 -0.0480 - 0.3570 0.2016 0.0840 0 -0.0546 -0.0840 -0.0924 - 0.2880 0.1224 0 -0.0840 -0.1344 -0.1560 -0.1536 - 0.1710 0.0000 -0.1224 -0.2016 -0.2430 -0.2520 -0.2340 - 0 -0.1710 -0.2880 -0.3570 -0.3840 -0.3750 -0.3360 - - Columns 8 through 14 - - 0.2730 0.1920 0.0990 0 -0.0990 -0.1920 -0.2730 - 0.1944 0.1386 0.0720 0 -0.0720 -0.1386 -0.1944 - 0.1320 0.0960 0.0504 0 -0.0504 -0.0960 -0.1320 - 0.0840 0.0630 0.0336 0 -0.0336 -0.0630 -0.0840 - 0.0486 0.0384 0.0210 0 -0.0210 -0.0384 -0.0486 - 0.0240 0.0210 0.0120 0 -0.0120 -0.0210 -0.0240 - 0.0084 0.0096 0.0060 0 -0.0060 -0.0096 -0.0084 - 0 0.0030 0.0024 0 -0.0024 -0.0030 0 - -0.0030 0 0.0006 0 -0.0006 0 0.0030 - -0.0024 -0.0006 0 0 0.0000 0.0006 0.0024 - 0 0 0 0 0 0 0 - 0.0024 0.0006 -0.0000 0 0 -0.0006 -0.0024 - 0.0030 0 -0.0006 0 0.0006 0 -0.0030 - 0 -0.0030 -0.0024 0 0.0024 0.0030 0 - -0.0084 -0.0096 -0.0060 0 0.0060 0.0096 0.0084 - -0.0240 -0.0210 -0.0120 0 0.0120 0.0210 0.0240 - -0.0486 -0.0384 -0.0210 0 0.0210 0.0384 0.0486 - -0.0840 -0.0630 -0.0336 0 0.0336 0.0630 0.0840 - -0.1320 -0.0960 -0.0504 0 0.0504 0.0960 0.1320 - -0.1944 -0.1386 -0.0720 0 0.0720 0.1386 0.1944 - -0.2730 -0.1920 -0.0990 0 0.0990 0.1920 0.2730 - - Columns 15 through 21 - - -0.3360 -0.3750 -0.3840 -0.3570 -0.2880 -0.1710 0 - -0.2340 -0.2520 -0.2430 -0.2016 -0.1224 -0.0000 0.1710 - -0.1536 -0.1560 -0.1344 -0.0840 0 0.1224 0.2880 - -0.0924 -0.0840 -0.0546 0 0.0840 0.2016 0.3570 - -0.0480 -0.0330 0.0000 0.0546 0.1344 0.2430 0.3840 - -0.0180 0 0.0330 0.0840 0.1560 0.2520 0.3750 - -0.0000 0.0180 0.0480 0.0924 0.1536 0.2340 0.3360 - 0.0084 0.0240 0.0486 0.0840 0.1320 0.1944 0.2730 - 0.0096 0.0210 0.0384 0.0630 0.0960 0.1386 0.1920 - 0.0060 0.0120 0.0210 0.0336 0.0504 0.0720 0.0990 - 0 0 0 0 0 0 0 - -0.0060 -0.0120 -0.0210 -0.0336 -0.0504 -0.0720 -0.0990 - -0.0096 -0.0210 -0.0384 -0.0630 -0.0960 -0.1386 -0.1920 - -0.0084 -0.0240 -0.0486 -0.0840 -0.1320 -0.1944 -0.2730 - 0 -0.0180 -0.0480 -0.0924 -0.1536 -0.2340 -0.3360 - 0.0180 0 -0.0330 -0.0840 -0.1560 -0.2520 -0.3750 - 0.0480 0.0330 0 -0.0546 -0.1344 -0.2430 -0.3840 - 0.0924 0.0840 0.0546 0 -0.0840 -0.2016 -0.3570 - 0.1536 0.1560 0.1344 0.0840 0 -0.1224 -0.2880 - 0.2340 0.2520 0.2430 0.2016 0.1224 0 -0.1710 - 0.3360 0.3750 0.3840 0.3570 0.2880 0.1710 0 - - - -```matlab -contour(X,Y,Z) -``` - - -![png](lecture_4_files/lecture_4_12_0.png) - - - -```matlab -mesh(X,Y,Z) -``` - - -![png](lecture_4_files/lecture_4_13_0.png) - - - -```matlab -pcolor(X,Y,Z) -``` - - -![png](lecture_4_files/lecture_4_14_0.png) - - -## Functions - -So far, everything has been executed as a script, or calling a built-in function. Now we begin building our own functions. - -Functions are saved in memory (or better yet) in a folder in your path or current directory - -Example of storing function in memory - -$f(x,y) = (xy^{3}-x^{3}y)$ - - -```matlab -f= @(x,y) (x.*y.^3-x.^3.*y) -``` - - f = - - @(x,y)(x.*y.^3-x.^3.*y) - - - -```matlab -f(0.1,-0.5) -``` - - ans = - - -0.0120 - - -Here we will save a function called `my_function` as `my_function.m` - -```matlab -function [vx,vy] = my_function(x,y,t) - % Help documentation of "my_function" - % This function computes the velocity in the x- and y-directions given - % three vectors of position in x- and y-directions as a function of time - % x = x-position - % y = y-position - % t = time - % output - % vx = velocity in x-direction - % vy = velocity in y-direction - - vx=zeros(length(t),1); - vy=zeros(length(t),1); - - vx(1:end-1) = diff(x)./diff(t); % calculate vx as delta x/delta t - vy(1:end-1) = diff(y)./diff(t); % calculate vy as delta y/delta t - - vx(end) = vx(end-1); - vy(end) = vy(end-1); - -end -``` - - -```matlab -help my_function -``` - - Help documentation of "my_function" - This function computes the velocity in the x- and y-directions given - three vectors of position in x- and y-directions as a function of time - x = x-position - y = y-position - t = time - output - vx = velocity in x-direction - vy = velocity in y-direction - - - -```matlab -t=linspace(0,10,100)'; -x=t.^3; % vx = 3*t^2 -y=t.^2/2; % vy = t -[vx,vy]=my_function(x,y,t); -``` - - -```matlab -yyaxis left -plot(t(1:10:end),vx(1:10:end),'o',t,3*t.^2) -ylabel('v_{x}') -yyaxis right -plot(t(1:10:end),vy(1:10:end),'s',t, t) -ylabel('v_{y}') -xlabel('time') -``` - - -![png](lecture_4_files/lecture_4_22_0.png) - - -Now, create a new function that calls 'my_function' called, `my_caller.m` - - -```matlab -help my_caller -``` - - Help documentation of "my_caller" - This function computes the acceleration in the x- and y-directions given - three vectors of position in x- and y-directions as a function of time - x = x-position - y = y-position - t = time - output - ax = velocity in x-direction - ay = velocity in y-direction - - - -```matlab -[ax,ay]=my_caller(x,y,t); -``` - - -```matlab -yyaxis left -plot(t(1:10:end),ax(1:10:end),'o',t,6*t) -ylabel('a_{x}') -yyaxis right -plot(t(1:10:end),ay(1:10:end),'s',t, 1*t./t) -ylabel('a_{x}') -xlabel('time') -axis([0,10,0,3]) -``` - - -![png](lecture_4_files/lecture_4_26_0.png) - - - -```matlab -diff_match_dims(x,t) -``` - - Undefined function 'diff_match_dims' for input arguments of type 'double'. -  - - -```matlab - -``` diff --git a/lecture_04/lecture_4.pdf b/lecture_04/lecture_4.pdf deleted file mode 100644 index db18202..0000000 Binary files a/lecture_04/lecture_4.pdf and /dev/null differ diff --git a/lecture_04/lecture_4_files/lecture_4_12_0.png b/lecture_04/lecture_4_files/lecture_4_12_0.png deleted file mode 100644 index 3d8bd34..0000000 Binary files a/lecture_04/lecture_4_files/lecture_4_12_0.png and /dev/null differ diff --git a/lecture_04/lecture_4_files/lecture_4_13_0.png b/lecture_04/lecture_4_files/lecture_4_13_0.png deleted file mode 100644 index fbf56f7..0000000 Binary files a/lecture_04/lecture_4_files/lecture_4_13_0.png and /dev/null differ diff --git a/lecture_04/lecture_4_files/lecture_4_14_0.png b/lecture_04/lecture_4_files/lecture_4_14_0.png deleted file mode 100644 index b982415..0000000 Binary files a/lecture_04/lecture_4_files/lecture_4_14_0.png and /dev/null differ diff --git a/lecture_04/lecture_4_files/lecture_4_22_0.png b/lecture_04/lecture_4_files/lecture_4_22_0.png deleted file mode 100644 index ed48529..0000000 Binary files a/lecture_04/lecture_4_files/lecture_4_22_0.png and /dev/null differ diff --git a/lecture_04/lecture_4_files/lecture_4_26_0.png b/lecture_04/lecture_4_files/lecture_4_26_0.png deleted file mode 100644 index df1b771..0000000 Binary files a/lecture_04/lecture_4_files/lecture_4_26_0.png and /dev/null differ diff --git a/lecture_04/lecture_4_files/lecture_4_7_0.png b/lecture_04/lecture_4_files/lecture_4_7_0.png deleted file mode 100644 index 1584226..0000000 Binary files a/lecture_04/lecture_4_files/lecture_4_7_0.png and /dev/null differ diff --git a/lecture_04/myscript.m b/lecture_04/myscript.m deleted file mode 100644 index 4488e0f..0000000 --- a/lecture_04/myscript.m +++ /dev/null @@ -1,11 +0,0 @@ -f=100; - -for i=1:10 - g=i^2; - if f==g - fprintf('we made it\n') - else - fprintf('not yet\n') - end -end - diff --git a/lecture_05/.ipynb_checkpoints/lecture_05-checkpoint.ipynb b/lecture_05/.ipynb_checkpoints/lecture_05-checkpoint.ipynb deleted file mode 100644 index 2fd6442..0000000 --- a/lecture_05/.ipynb_checkpoints/lecture_05-checkpoint.ipynb +++ /dev/null @@ -1,6 +0,0 @@ -{ - "cells": [], - "metadata": {}, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/lecture_05/gp_image_01.png b/lecture_05/gp_image_01.png deleted file mode 100644 index ef291b5..0000000 Binary files a/lecture_05/gp_image_01.png and /dev/null differ diff --git a/lecture_05/lecture_05.ipynb b/lecture_05/lecture_05.ipynb deleted file mode 100644 index 66fcbe9..0000000 --- a/lecture_05/lecture_05.ipynb +++ /dev/null @@ -1,559 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "metadata": { - "collapsed": true - }, - "outputs": [], - "source": [ - "%plot --format svg" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Questions from last class" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "When you execute the given function \n", - "\n", - "my_function.m:\n", - "\n", - "```matlab\n", - "function [x,y] = my_function(max_time)\n", - " N=100;\n", - " t=linspace(0,max_time,N);\n", - " x=t.^2;\n", - " y=2*t;\n", - "end\n", - "```\n", - "\n", - "as \n", - "\n", - "```>> [x,y] = my_function(20);```\n", - "\n", - "What variables are saved to your workspace?\n", - "\n", - "![responses](q1.png)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "How do you write a help description for a function?\n", - "\n", - "![responses to question 2](q2.png)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - " \n", - "How to keep our forked ME3255S page up to date with the original\n", - "pretty tired this morning\n", - "\n", - "How do I use the Github Desktop?\n", - "\n", - "whats your favorite football team?\n", - "\n", - "Will UConn's github get updated to the newest version of github?\n", - "As u said in class trail and error is the best way of learning.\n", - "\n", - "I believe the % is the same as matlab where it de-links your code into text\n", - "\n", - "Does the @ symbol designate a pointer? \n", - "\n", - "Given the change of air pressure as altitude increases, how fast would a frisbee have to travel (and spin) to hit an airplane?\n", - "\n", - "What is a gui?\n", - "\n", - "\n", - "could you go over a nested for loop example\n", - "\n", - "Can't seem to get this function to produce any graph and am not sure why\n", - "\n", - "When are these google forms due?\n", - "\n", - "how do I create a new function using Github on my desktop?\n", - "\n", - "Can you explain the first question more in class?\n", - "\n", - "What is the meaning of life?\n", - "\n", - "Should I just know how or what these topics are or will we learn them in the future?\n" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "f = \n", - "\n", - " @(x)x.^2\n" - ] - } - ], - "source": [ - "f =@(x) x.^2\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "ans =\n", - "\n", - " 1 9 25 49 81\n", - "\n", - "\n", - "ans =\n", - "\n", - " 16\n" - ] - } - ], - "source": [ - "f([1:2:10])\n", - "f(4)" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "i=1 and j=1\n", - "i=1 and j=2\n", - "i=1 and j=3\n", - "i=2 and j=1\n", - "i=2 and j=2\n", - "i=2 and j=3\n", - "i=3 and j=1\n", - "i=3 and j=2\n", - "i=3 and j=3\n", - "i=4 and j=1\n", - "i=4 and j=2\n", - "i=4 and j=3\n", - "i=5 and j=1\n", - "i=5 and j=2\n", - "i=5 and j=3\n", - "i=6 and j=1\n", - "i=6 and j=2\n", - "i=6 and j=3\n" - ] - } - ], - "source": [ - "% nested for loop example\n", - "for i = [1:6]\n", - " for j = [1:3]\n", - " fprintf('i=%i and j=%i\\n',i,j)\n", - " end\n", - "end\n", - " " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# From last class " - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Help documentation of \"my_function\"\n", - " This function computes the velocity in the x- and y-directions given\n", - " three vectors of position in x- and y-directions as a function of time\n", - " x = x-position\n", - " y = y-position\n", - " t = time\n", - " output\n", - " vx = velocity in x-direction\n", - " vy = velocity in y-direction\n" - ] - } - ], - "source": [ - "help my_function" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Help documentation of \"my_caller\"\n", - " This function computes the acceleration in the x- and y-directions given\n", - " three vectors of position in x- and y-directions as a function of time\n", - " x = x-position\n", - " y = y-position\n", - " t = time\n", - " output\n", - " ax = acceleration in x-direction\n", - " ay = acceleration in y-direction\n" - ] - } - ], - "source": [ - "help my_caller" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "data": { - "image/png": "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\nePDg2rVr2Q7NyS5dunTlypUHH3xw8+bNX3/99ddff/3iiy+KxeLc3Nz33nuP7ehc66WXXpJK7beK\n8SbPPPPMrl27Ro0atWnTpm+++earr756++2377nnHrbjcr7Vq1efOHFi4sSJO3fuPH369OHDh596\n6im9Xv/MM890/ceWZykuLj516lRUVNTcuXMdnOY7P1ndsHi7RYsWJSSGCTwSAAAKrklEQVQkfPPN\nN9aWpqamO++8MyEhQaVSsReX8126dKm+vt6u8fDhwwkJCbfffrvJZGIlKjfIzc1NSEg4ePBgQkJC\nQkIC2+E43+eff56QkPDwww+3t7ezHYtrXb16NSEhYfTo0Tqdzrb9iSeeSEhIyM3NZSswpzh79qz1\nT9DB/1d95yerKy9/Qqqurj516pREIpk3b561MTg4eP78+UT07bffshea88XExERERNg1Tps2TSgU\nGgwGps/a+1y4cOHtt99esGDB3XffzXYsrrJt2zYieuWVVwQC+42SvczZs2eJKCwsLCzshn2cmREU\nlUrFTlhOMnLkyF7/BH3qJ6srL09IZWVlRDR58mS79uTkZCI6c+YMCzG5l9lsNpvNRGT3N9xrvPrq\nq0FBQWvWeO2mVuXl5bW1tcOHD09MTCSijo4Og8HAdlCukpyc7O/v39zc3NHRYdteWVlJv6Ql7+bj\nP1lenpDOnTtHRBKJ/Qrf0dHRRFRSUsJCTO518ODB9vb2hIQErxwO3bFjR2Fh4UsvveSt6ZaIqqqq\niGjs2LGFhYXz588fO3bs+PHjk5KS3njjjebmZrajczKBQPD0008bjcYXXnihsbGRiMxm865du77+\n+uvRo0fPmTOH7QBdzsd/sry87Pvy5ctENHz4cLv22NhYIvK+v892tFptZmYmET3//PNsx+J89fX1\nGzZsmD59OtOb4a2qq6uJqLKyMj09PT4+fvHixWaz+T//+c+nn356/PjxvLw8L/unRkZGRnR09Mcf\nfzx16lShUNjR0REYGLhixYqVK1d6fY8l+fxPlpcnJJPJREQhId0vhcv0ZXmr1tbWjIyMhoaGFStW\nzJgxg+1wnO8vf/mL2Wx+44032A7EtbRaLRGdO3du5syZW7ZsYRpbW1sfeeSRM2fObN269dlnn2U1\nQCe7fPny119/fe7cuZiYmISEhMbGxhMnTnz77bd33HFHamoq29G5nC//ZJHXd9kx/6TqWi3K/Lny\n+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\nAABJRU5ErkJggg==\n", - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "t=linspace(0,10,100)'; \n", - "x=t.^3; % vx = 3*t^2\n", - "y=t.^2/2; % vy = t\n", - "[vx,vy]=my_function(x,y,t);\n", - "[ax,ay]=my_caller(x,y,t);\n", - "yyaxis left\n", - "plot(t(1:10:end),ax(1:10:end),'o',t,6*t)\n", - "ylabel('a_{x}')\n", - "yyaxis right\n", - "plot(t(1:10:end),ay(1:10:end),'s',t, 1*t./t)\n", - "ylabel('a_{y}')\n", - "xlabel('time')\n", - "axis([0,10,0,3])" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "\u001b[0;31mUndefined function 'diff_match_dims' for input arguments of type 'double'.\n", - "\u001b[0m" - ] - } - ], - "source": [ - "diff_match_dims(x,t)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Good coding habits\n", - "## naming folders and files" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "[Stanford file naming best practices](https://library.stanford.edu/research/data-management-services/data-best-practices/best-practices-file-naming)\n", - "\n", - "1. Include information to distinguish file name e.g. project name, objective of function, name/initials, type of data, conditions, version of file, \n", - "2. if using dates, use YYYYMMDD, so the computer organizes by year, then month, then day\n", - "3. avoid special characters e.g. !, #, \\$, ...\n", - "4. avoid using spaces if not necessary, some programs consider a space as a break in code use dashes `-` or underscores `_` or CamelCase" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Commenting your code" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Its important to comment your code to mention what a variable's units are, what the function is supposed to do, etc. \n" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "\u001b[0;31mError: Function definitions are not permitted in this context.\n", - "\u001b[0m" - ] - } - ], - "source": [ - "function i=code(j)\n", - " % Example of bad variable names and bad function name\n", - " for w=1:j\n", - " i(w)=w;\n", - " end\n", - "end" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "code not found.\n", - "\n", - "Use the Help browser search field to search the documentation, or\n", - "type \"help help\" for help command options, such as help for methods.\n" - ] - } - ], - "source": [ - "help code" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Choose variable names that describe the variable" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": { - "collapsed": false - }, - "outputs": [], - "source": [ - "function count_vector=counting_function(max_value)\n", - " % Good variable names and better help documentation\n", - " % \n", - " % counting function creates a vector from 1 to max_value where each index, i, is \n", - " % stored in each vector spot\n", - " for i=1:max_value\n", - " count_vector(i)=i; % set each element in count_vector to i\n", - " end\n", - "end " - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "'counting_function' is a command-line function\n", - "\n", - " Good variable names and better help documentation\n", - " \n", - " counting function creates a vector from 1 to max_value where each index, i, is \n", - " stored in each vector spot\n", - "\n", - "\n", - "Additional help for built-in functions and operators is\n", - "available in the online version of the manual. Use the command\n", - "'doc ' to search the manual index.\n", - "\n", - "Help and information about Octave is also available on the WWW\n", - "at http://www.octave.org and via the help@octave.org\n", - "mailing list.\n" - ] - } - ], - "source": [ - "help counting_function" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "collapsed": true - }, - "source": [ - "## Putting it all together" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "1. Clone your homework_1 to your computer\n", - "2. open Matlab (cli, jupyter or gui)\n", - "3. Change working directory to homework_1 *e.g.* Windows:`cd('C:\\Users\\rcc02007\\Documents\\Github\\homework_1')`, Mac: `cd('/Users/rcc02007/Documents/Github/homework_1')`\n", - "4. You have already created your first script `setdefaults.m` (if not see lecture_4)\n", - "5. Run `>> setdefaults.m`\n", - "6. Create a new m-file called nitrogen_pressure.m\n", - "7. Create a function based upon the ideal gas law for nitrogen, Pv=RT\n", - " 1. R=0.2968 kJ/(kg-K)\n", - " 2. inputs to function are v (specific volume m^3/kg), and T, temperature (K)\n", - " 3. output is P, pressure (kPa)\n", - "8. Once the function works, commit the change to the repository (add a message, like 'added file nitrogen_pressure.m'\n", - "9. After file is 'committed', 'push' the changes to your github account\n", - "\n", - "for the command-line git user, this is steps 8 and 9:\n", - "1. `$ git add *`\n", - "2. `$ git commit -m 'added file nitrogen_pressure.m'`\n", - "3. `$ git push -u origin master\n", - " Username for 'https://github.uconn.edu':rcc02007 \n", - " Password for 'https://rcc02007@github.uconn.edu': `\n", - " " - ] - }, - { - "cell_type": "markdown", - "metadata": { - "collapsed": true - }, - "source": [ - "Now, use this function to plot the range of pressures that a pressure vessel would experience if it is 1000 gallons (3.79 m^3) with 10-20 kg of Nitrogen and temperatures range from -10 to 35 degrees C. \n", - "\n", - "```matlab\n", - "v=0.379/linspace(50,20,10);\n", - "T=273.15+linspace(-10,35,10);\n", - "[v_grid,T_grid]=meshgrid(v,T);\n", - "P = nitrogen_pressure(v,T);\n", - "pcolor(v_grid,T_grid,P)\n", - "```" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjAAAAGkCAIAAACgjIjwAAAACXBIWXMAABcSAAAXEgFnn9JSAAAA\nB3RJTUUH4QEfDxsqXQdJjwAAACR0RVh0U29mdHdhcmUATUFUTEFCLCBUaGUgTWF0aFdvcmtzLCBJ\nbmMuPFjdGAAAACJ0RVh0Q3JlYXRpb24gVGltZQAzMS1KYW4tMjAxNyAxMDoyNzo0MkGstPEAACAA\nSURBVHic7N15XFNX2jjwYxKWCMQNRGF4QQYFRAoiLoOoiPuOoIMVN1S0KJYRHa1KHewoFuu840Kh\niqUKVGwRQaFqVaxMlbEKBlxQFCuUnwISsA0EAskNvz9O3zuZbOTeJCSQ5/vxj0PuPQu0Hx7uPec8\np09nZycCAAAA9I2h7wEAAAAACEFAAgAAYCAgIAEAADAIEJAAAAAYBAhIAAAADAIEJAAAAAYBAhIA\nAACDAAEJAACAQYCABAAAwCBAQAIAAGAQICABAAAwCBCQAAAAGAQISAAAAAwCBCQAAAAGAQISAAAA\ngwABCQAAgEGAgAQAAMAgQEACAABgECAgAQAAMAgQkAAAABgECEgAAAAMAkuTyiKRqLm5WSQSEQRh\nYmJiYmLC4XAYDAhyAAAAKKMckGpqao4dO1ZSUtLY2CgUCuVvsLCwGDx48Jw5c5YtW2Zra6uNQQIA\nAOj9+nR2dqpz35s3b3bs2PHgwQOCINRvnc1mz507NyYmxtramu4IAQAAGIWuA9KNGzf27t3b2Nio\nSTf29vanTp1ydnbWpBEAAAC9mKqAdOPGjY8++qi5uVnmcw6HY2Nj4+vru3TpUgsLCyaTyWAwCIIQ\ni8XNzc2JiYnV1dU8Hq+trU2mop2dXVpamoODg/a/DwAAAD2c4oBUX1+/ZMmSt2/fkp8wmUxnZ+d/\n/vOf9vb2ffv2Vafppqam0tLS+Pj4mpoa6c/9/f2/+OILExMTDYcOAACgN1EQkNrb29977z3yS3t7\n+3/+859eXl60+xCJRPn5+Z999hn53m/AgAF3796l3SAAAIDeR9USbT8/vzt37ty8eVOTaIQQMjEx\nWbx4cVFR0ZUrV+zt7TVpCgAAQG+lOCB5e3v/9NNPX331lXZXxzk7O9+8eTM/Px8W3QEAAJCh7rJv\nAAAAQKc0ytQAVAjwtSwsEeh7FAAYIzab3draqkkLrq6u2hoMPRUVFfodgF5AQNKVwhKBqMSTUpXm\n1oEDJxVWfx9MozvHWRcuFGykUZFUj9iR04785WacJo2QjgTGeV5J10pT0n4TWfyyMNj0m0Kttyyj\nI3SK5fEyXfcir08rs3nnqP4fPe/+rpX59dMR/cJe6nsU1Pz29R81b+TRkzrNG6HH02OIvrrWL8g7\nBwAAwCBAQAIAAGAQVL2ya21tnTFjBi7PmDEjLi5O/XYPHz6ck5ODy99//72lpSXdEQIAgB4QQti8\n391UPSGtWLGCx+PxeLyOjg5K0QghtH37djabjauHh4drNEYAAABGQGlA4vF4T548weXLly/TaPrC\nhQu48PDhw/r6ehotAAAAMB5KA9KePXtwISAgwMbGhkbTHA5n3rx5uLx3714aLQAAADAeSgPS/fv3\nceGTTz6h3XpsbCwuQOY6AAAAqile1MDn8wUCAULIwsJCk1NfBw4cOGDAgHfv3gmFwqampoEDB9Ju\nCgAAulMnLGrodoqfkHg8Hi4MHjxYww7I130aHvEHAACgd1MckMhD+fr166dhB2QL8gf9AQAAACTF\nAYkgCFzQ/Bi90NBQXDh9+rSGTQEAAOjFFM8hMZlMXBCJRBp2kJ+fjwtLly7VsCkAAOg+7TCH1N0U\nPyGZm5vjgubv2RoaGnChf//+GjYFAACgF1MckKysrHDh7du3GnZQV1cn0yYAAAAgT3FAIpd6Nzc3\nk484NLS0tJCL64YOHUq7HQAAAL2e4oDEZDLt7e1xWZMkC/v27cOFwYMHm5mZ0W4HAABAr6c0U0NM\nTAwu3Lx588cff6TRdHFx8aVLl3B506ZNNFoAAAC96WDp7Z+xUvqdz58/PzY2tq2tDSG0fv369PT0\ncePGqd/uo0ePwsLCfu+DxXr//fc1HGiXJBLJkydP6uvrf/vtNz6fb2Vl1bdvXwcHB09PCse2SiSS\nu3fv1tfX19XV2dnZ2djYTJgwgcGAU6MAAEDnVIXiEydOrFq1CpdXrlwZGhr6t7/9jVwRroxEIklI\nSJDedZSQkKDxOFU5e/Zsfn5+WVmZWCyWvzpo0KDly5dHRER0+c4wIyMjKSlJJqOEtbX15s2bly9f\nrs0RAwAAkKPqb//x48evWbOG/PKbb74ZOXLkokWLKioqmpqaJBIJeUkikfz6668vXrxYunSpu7u7\ndDQKDQ2dP3++9gcupbCwsKSkRGE0Qgg1NjYeP3580aJFqo/AiI6O/vvf/y6f34jH4+3bt2/79u1a\n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\ntrY2nGthYZGQkEA/LXTjxg1cXo0IQw0NDeHh4Q8fPkQIOTk5HThwwNHRUbJAQUFBXFxcbW2t1Ikz\nZsz4/PPPLSwsaDoMxtzc3N/f/8KFCxRFnT17FtYkSWFiJrvVq1fv2rWLxpWzubmZ3rts1apVP/zw\ng5Q2Qgg9efLkww8/3L17t6IThULhokWLvvrqK9mXAkKIoqijR4ZSi8cAABK+SURBVI8GBwc3NDQo\nquHZs2eLFi2Kj49X5KItEokyMjKUztlqHa0LRj4ITp06RX/WzZs3sTZiMpmzZ8+Wyi0tLQ0MDPzl\nl1/kVlJbWxsTE/Pll1+qKJXu2LRp065duyRfzZgHDx4sWrQIv78uXrwYFhYm+WrGiESinTt3/vDD\nD4oq17zj0dPe3k42dPDz81PxLB3d8pIlS/DYqLu7WygUPn36FGsXJpMZEhKSlZVFrzIRQvjbCylT\nrrJUVlaGhIRgbTRu3LiffvpJShtlZWWFh4fLaiN80ffee6+5uVmVC02cOBEnsOcFIIkpjZB+/vnn\nvLw8nA4JCXnnnXe8vb3ZbDaOdnXnzp3CwkK8hZcikpOTy8vLLSwsli5dGhQU9Nprr3V2dp4/fz45\nORk/Nnv27OHxeLIf3WKxeNWqVeS5nTdv3ltvvTVhwgRzc/O6urq8vLzvv/9eKBTW19cvXrz49OnT\nsiP9np6e5cuXYyM4QsjT03PRokUeHh5DhgwRi8UVFRUVFRXnzp0rLS1V5adwc3P7/vvvEULV1dU7\nd+5ECDGZzMTERMkyVlZWqlSlXcEwAQEBHA5HKBS2tbWdPXuWZtyZkZFBThkwYIBkVkNDw4oVK/DH\nB4vFioiIePvtt0eOHNnW1nbx4sV9+/b99ttvCKH9+/cPGjRo5cqVqounXdLS0oqKijgczuLFi319\nfV1cXB48eHDp0qXk5GSKooRC4SeffLJly5Z169aJRKKZM2cGBQWNGTMGIVRQUJCUlIRfcAkJCbNm\nzZJ6AyJtdDylXL16Fet7BwcHFa1/urvltWvXrl27tqen58aNG62trWKxmMViDR482NXVVcXROX5F\nMJnMXm3id+XKlTVr1nR0dCCEpk+fnpCQIPVLVlRUbNq0Caft7Oyio6Nnzpw5aNCgZ8+e5eXlJSUl\n1dXVxcbGqnItMny8cuUKNoyrLufLzwvTYdGiRTwej8fj7d27V1EZiqJ+++03qYNLlizh/YWHh8et\n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\nONp5CLqPAAAAAElFTkSuQmCC\n", - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "setdefaults;\n", - "v=3.79./linspace(10,20,10);\n", - "T=273.15+linspace(-10,35,10);\n", - "[v_grid,T_grid]=meshgrid(v,T);\n", - "P = nitrogen_pressure(v_grid,T_grid);\n", - "pcolor(v_grid,T_grid-273.15,P-100)\n", - "xlabel('specific volume (m^3/kg)')\n", - "ylabel('Temperature (C)')\n", - "%zlabel('Pressure (kPa)')\n", - "\n", - "%colormap winter\n", - "%colormap summer\n", - "%colormap jet\n", - "colorbar()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "collapsed": true - }, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Octave", - "language": "octave", - "name": "octave" - }, - "language_info": { - "file_extension": ".m", - "help_links": [ - { - "text": "MetaKernel Magics", - "url": "https://github.com/calysto/metakernel/blob/master/metakernel/magics/README.md" - } - ], - "mimetype": "text/x-octave", - "name": "octave", - "version": "0.19.14" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/lecture_05/lecture_05.md b/lecture_05/lecture_05.md deleted file mode 100644 index 11c2894..0000000 --- a/lecture_05/lecture_05.md +++ /dev/null @@ -1,325 +0,0 @@ - - -```octave -%plot --format svg -``` - -## Questions from last class - -When you execute the given function - -my_function.m: - -```matlab -function [x,y] = my_function(max_time) - N=100; - t=linspace(0,max_time,N); - x=t.^2; - y=2*t; -end -``` - -as - -```>> [x,y] = my_function(20);``` - -What variables are saved to your workspace? - -![responses](q1.png) - -How do you write a help description for a function? - -![responses to question 2](q2.png) - - -How to keep our forked ME3255S page up to date with the original -pretty tired this morning - -How do I use the Github Desktop? - -whats your favorite football team? - -Will UConn's github get updated to the newest version of github? -As u said in class trail and error is the best way of learning. - -I believe the % is the same as matlab where it de-links your code into text - -Does the @ symbol designate a pointer? - -Given the change of air pressure as altitude increases, how fast would a frisbee have to travel (and spin) to hit an airplane? - -What is a gui? - - -could you go over a nested for loop example - -Can't seem to get this function to produce any graph and am not sure why - -When are these google forms due? - -how do I create a new function using Github on my desktop? - -Can you explain the first question more in class? - -What is the meaning of life? - -Should I just know how or what these topics are or will we learn them in the future? - - - -```octave -f =@(x) x.^2 - - -``` - - f = - - @(x)x.^2 - - - -```octave -f([1:2:10]) -f(4) -``` - - ans = - - 1 9 25 49 81 - - - ans = - - 16 - - - -```octave -% nested for loop example -for i = [1:6] - for j = [1:3] - fprintf('i=%i and j=%i\n',i,j) - end -end - -``` - - i=1 and j=1 - i=1 and j=2 - i=1 and j=3 - i=2 and j=1 - i=2 and j=2 - i=2 and j=3 - i=3 and j=1 - i=3 and j=2 - i=3 and j=3 - i=4 and j=1 - i=4 and j=2 - i=4 and j=3 - i=5 and j=1 - i=5 and j=2 - i=5 and j=3 - i=6 and j=1 - i=6 and j=2 - i=6 and j=3 - - -# From last class - - -```octave -help my_function -``` - - Help documentation of "my_function" - This function computes the velocity in the x- and y-directions given - three vectors of position in x- and y-directions as a function of time - x = x-position - y = y-position - t = time - output - vx = velocity in x-direction - vy = velocity in y-direction - - - -```octave -help my_caller -``` - - Help documentation of "my_caller" - This function computes the acceleration in the x- and y-directions given - three vectors of position in x- and y-directions as a function of time - x = x-position - y = y-position - t = time - output - ax = acceleration in x-direction - ay = acceleration in y-direction - - - -```octave -t=linspace(0,10,100)'; -x=t.^3; % vx = 3*t^2 -y=t.^2/2; % vy = t -[vx,vy]=my_function(x,y,t); -[ax,ay]=my_caller(x,y,t); -yyaxis left -plot(t(1:10:end),ax(1:10:end),'o',t,6*t) -ylabel('a_{x}') -yyaxis right -plot(t(1:10:end),ay(1:10:end),'s',t, 1*t./t) -ylabel('a_{y}') -xlabel('time') -axis([0,10,0,3]) -``` - - -![png](lecture_05_files/lecture_05_11_0.png) - - - -```octave -diff_match_dims(x,t) -``` - - Undefined function 'diff_match_dims' for input arguments of type 'double'. -  - -# Good coding habits -## naming folders and files - -[Stanford file naming best practices](https://library.stanford.edu/research/data-management-services/data-best-practices/best-practices-file-naming) - -1. Include information to distinguish file name e.g. project name, objective of function, name/initials, type of data, conditions, version of file, -2. if using dates, use YYYYMMDD, so the computer organizes by year, then month, then day -3. avoid special characters e.g. !, #, \$, ... -4. avoid using spaces if not necessary, some programs consider a space as a break in code use dashes `-` or underscores `_` or CamelCase - -## Commenting your code - -Its important to comment your code to mention what a variable's units are, what the function is supposed to do, etc. - - - -```octave -function i=code(j) - % Example of bad variable names and bad function name - for w=1:j - i(w)=w; - end -end -``` - - Error: Function definitions are not permitted in this context. -  - - -```octave -help code -``` - - code not found. - - Use the Help browser search field to search the documentation, or - type "help help" for help command options, such as help for methods. - - -## Choose variable names that describe the variable - - -```octave -function count_vector=counting_function(max_value) - % Good variable names and better help documentation - % - % counting function creates a vector from 1 to max_value where each index, i, is - % stored in each vector spot - for i=1:max_value - count_vector(i)=i; % set each element in count_vector to i - end -end -``` - - -```octave -help counting_function -``` - - 'counting_function' is a command-line function - - Good variable names and better help documentation - - counting function creates a vector from 1 to max_value where each index, i, is - stored in each vector spot - - - Additional help for built-in functions and operators is - available in the online version of the manual. Use the command - 'doc ' to search the manual index. - - Help and information about Octave is also available on the WWW - at http://www.octave.org and via the help@octave.org - mailing list. - - -## Putting it all together - -1. Clone your homework_1 to your computer -2. open Matlab (cli, jupyter or gui) -3. Change working directory to homework_1 *e.g.* Windows:`cd('C:\Users\rcc02007\Documents\Github\homework_1')`, Mac: `cd('/Users/rcc02007/Documents/Github/homework_1')` -4. You have already created your first script `setdefaults.m` (if not see lecture_4) -5. Run `>> setdefaults.m` -6. Create a new m-file called nitrogen_pressure.m -7. Create a function based upon the ideal gas law for nitrogen, Pv=RT - 1. R=0.2968 kJ/(kg-K) - 2. inputs to function are v (specific volume m^3/kg), and T, temperature (K) - 3. output is P, pressure (kPa) -8. Once the function works, commit the change to the repository (add a message, like 'added file nitrogen_pressure.m' -9. After file is 'committed', 'push' the changes to your github account - -for the command-line git user, this is steps 8 and 9: -1. `$ git add *` -2. `$ git commit -m 'added file nitrogen_pressure.m'` -3. `$ git push -u origin master - Username for 'https://github.uconn.edu':rcc02007 - Password for 'https://rcc02007@github.uconn.edu': ` - - -Now, use this function to plot the range of pressures that a pressure vessel would experience if it is 1000 gallons (3.79 m^3) with 10-20 kg of Nitrogen and temperatures range from -10 to 35 degrees C. - -```matlab -v=0.379/linspace(50,20,10); -T=273.15+linspace(-10,35,10); -[v_grid,T_grid]=meshgrid(v,T); -P = nitrogen_pressure(v,T); -pcolor(v_grid,T_grid,P) -``` - - -```octave -setdefaults; -v=3.79./linspace(10,20,10); -T=273.15+linspace(-10,35,10); -[v_grid,T_grid]=meshgrid(v,T); -P = nitrogen_pressure(v_grid,T_grid); -pcolor(v_grid,T_grid-273.15,P-100) -xlabel('specific volume (m^3/kg)') -ylabel('Temperature (C)') -%zlabel('Pressure (kPa)') - -%colormap winter -%colormap summer -%colormap jet -colorbar() -``` - - -![png](lecture_05_files/lecture_05_25_0.png) - - - -```octave - -``` diff --git a/lecture_05/lecture_05.pdf b/lecture_05/lecture_05.pdf deleted file mode 100644 index 589a854..0000000 Binary files a/lecture_05/lecture_05.pdf and /dev/null differ diff --git a/lecture_05/lecture_05_files/lecture_05_11_0.png b/lecture_05/lecture_05_files/lecture_05_11_0.png deleted file mode 100644 index b5a8ed1..0000000 Binary files a/lecture_05/lecture_05_files/lecture_05_11_0.png and /dev/null differ diff --git a/lecture_05/lecture_05_files/lecture_05_25_0.png b/lecture_05/lecture_05_files/lecture_05_25_0.png deleted file mode 100644 index 70aa9ce..0000000 Binary files a/lecture_05/lecture_05_files/lecture_05_25_0.png and /dev/null differ diff --git a/lecture_05/my_caller.m b/lecture_05/my_caller.m deleted file mode 100644 index f0cd536..0000000 --- a/lecture_05/my_caller.m +++ /dev/null @@ -1,23 +0,0 @@ -function [ax,ay]=my_caller(x,y,t) - % Help documentation of "my_caller" - % This function computes the acceleration in the x- and y-directions given - % three vectors of position in x- and y-directions as a function of time - % x = x-position - % y = y-position - % t = time - % output - % ax = acceleration in x-direction - % ay = acceleration in y-direction - - function v=diff_match_dims(x,t) - v=zeros(length(t),1); - v(1:end-1)=diff(x)./diff(t); - v(end)=v(end-1); - end - - [vx,vy]=my_function(x,y,t); - - ax = diff_match_dims(vx,t); - ay = diff_match_dims(vy,t); - -end diff --git a/lecture_05/my_function.m b/lecture_05/my_function.m deleted file mode 100644 index 5953061..0000000 --- a/lecture_05/my_function.m +++ /dev/null @@ -1,21 +0,0 @@ -function [vx,vy] = my_function(x,y,t) - % Help documentation of "my_function" - % This function computes the velocity in the x- and y-directions given - % three vectors of position in x- and y-directions as a function of time - % x = x-position - % y = y-position - % t = time - % output - % vx = velocity in x-direction - % vy = velocity in y-direction - - vx=zeros(length(t),1); - vy=zeros(length(t),1); - - vx(1:end-1) = diff(x)./diff(t); % calculate vx as delta x/delta t - vy(1:end-1) = diff(y)./diff(t); % calculate vy as delta y/delta t - - vx(end) = vx(end-1); - vy(end) = vy(end-1); - -end diff --git a/lecture_05/nitrogen_pressure.m b/lecture_05/nitrogen_pressure.m deleted file mode 100644 index a76abf3..0000000 --- a/lecture_05/nitrogen_pressure.m +++ /dev/null @@ -1,10 +0,0 @@ -function P=nitrogen_pressure(v,T) - % function to calculate Pressure of Nitrogen using ideal gas law given the specific - % volume, v (m^3/kg), and temperature, T (K) - % Pv = RT - % R=0.2968; % kJ/kg-K - % P [in kPa] = nitrogen_pressure(v [in m^3/kg], T[in K]) - R=0.2968; % kJ/kg-K - P=R*T./v; -end - diff --git a/lecture_05/octave-workspace b/lecture_05/octave-workspace deleted file mode 100644 index 8c437bb..0000000 Binary files a/lecture_05/octave-workspace and /dev/null differ diff --git a/lecture_05/q1.png b/lecture_05/q1.png deleted file mode 100644 index bdc10e5..0000000 Binary files a/lecture_05/q1.png and /dev/null differ diff --git a/lecture_05/q2.png b/lecture_05/q2.png deleted file mode 100644 index db02f0c..0000000 Binary files a/lecture_05/q2.png and /dev/null differ diff --git a/lecture_05/setdefaults.m b/lecture_05/setdefaults.m deleted file mode 100644 index 8c3c5c8..0000000 --- a/lecture_05/setdefaults.m +++ /dev/null @@ -1,3 +0,0 @@ -set(0, 'defaultAxesFontSize', 16) -set(0,'defaultTextFontSize',14) -set(0,'defaultLineLineWidth',3) diff --git a/lecture_06/bisect.m b/lecture_06/bisect.m deleted file mode 100644 index c09ffbf..0000000 --- a/lecture_06/bisect.m +++ /dev/null @@ -1,37 +0,0 @@ -function [root,fx,ea,iter]=bisect(func,xl,xu,es,maxit,varargin) -% bisect: root location zeroes -% [root,fx,ea,iter]=bisect(func,xl,xu,es,maxit,p1,p2,...): -% uses bisection method to find the root of func -% input: -% func = name of function -% xl, xu = lower and upper guesses -% es = desired relative error (default = 0.0001%) -% maxit = maximum allowable iterations (default = 50) -% p1,p2,... = additional parameters used by func -% output: -% root = real root -% fx = function value at root -% ea = approximate relative error (%) -% iter = number of iterations -if nargin<3,error('at least 3 input arguments required'),end -test = func(xl,varargin{:})*func(xu,varargin{:}); -if test>0,error('no sign change'),end -if nargin<4|isempty(es), es=0.0001;end -if nargin<5|isempty(maxit), maxit=50;end -iter = 0; xr = xl; ea = 100; -while (1) - xrold = xr; - xr = (xl + xu)/2; - iter = iter + 1; - if xr ~= 0,ea = abs((xr - xrold)/xr) * 100;end - test = func(xl,varargin{:})*func(xr,varargin{:}); - if test < 0 - xu = xr; - elseif test > 0 - xl = xr; - else - ea = 0; - end - if ea <= es | iter >= maxit,break,end -end -root = xr; fx = func(xr, varargin{:}); \ No newline at end of file diff --git a/lecture_06/falsepos.m b/lecture_06/falsepos.m deleted file mode 100644 index 0a3477c..0000000 --- a/lecture_06/falsepos.m +++ /dev/null @@ -1,39 +0,0 @@ -function [root,fx,ea,iter]=bisect(func,xl,xu,es,maxit,varargin) -% bisect: root location zeroes -% [root,fx,ea,iter]=bisect(func,xl,xu,es,maxit,p1,p2,...): -% uses bisection method to find the root of func -% input: -% func = name of function -% xl, xu = lower and upper guesses -% es = desired relative error (default = 0.0001%) -% maxit = maximum allowable iterations (default = 50) -% p1,p2,... = additional parameters used by func -% output: -% root = real root -% fx = function value at root -% ea = approximate relative error (%) -% iter = number of iterations -if nargin<3,error('at least 3 input arguments required'),end -test = func(xl,varargin{:})*func(xu,varargin{:}); -if test>0,error('no sign change'),end -if nargin<4|isempty(es), es=0.0001;end -if nargin<5|isempty(maxit), maxit=50;end -iter = 0; xr = xl; ea = 100; -while (1) - xrold = xr; - xr = (xl + xu)/2; - % xr = (xl + xu)/2; % bisect method - xr=xu - (f_m(xu)*(xl-xu))/(f_m(xl)-f_m(xu)); % false position method - iter = iter + 1; - if xr ~= 0,ea = abs((xr - xrold)/xr) * 100;end - test = func(xl,varargin{:})*func(xr,varargin{:}); - if test < 0 - xu = xr; - elseif test > 0 - xl = xr; - else - ea = 0; - end - if ea <= es | iter >= maxit,break,end -end -root = xr; fx = func(xr, varargin{:}); diff --git a/lecture_06/incsearch.m b/lecture_06/incsearch.m deleted file mode 100644 index bd82554..0000000 --- a/lecture_06/incsearch.m +++ /dev/null @@ -1,37 +0,0 @@ -function xb = incsearch(func,xmin,xmax,ns) -% incsearch: incremental search root locator -% xb = incsearch(func,xmin,xmax,ns): -% finds brackets of x that contain sign changes -% of a function on an interval -% input: -% func = name of function -% xmin, xmax = endpoints of interval -% ns = number of subintervals (default = 50) -% output: -% xb(k,1) is the lower bound of the kth sign change -% xb(k,2) is the upper bound of the kth sign change -% If no brackets found, xb = []. -if nargin < 3, error('at least 3 arguments required'), end -if nargin < 4, ns = 50; end %if ns blank set to 50 -% Incremental search -x = linspace(xmin,xmax,ns); -f = func(x); -nb = 0; xb = []; %xb is null unless sign change detected -%for k = 1:length(x)-1 -% if sign(f(k)) ~= sign(f(k+1)) %check for sign change -% nb = nb + 1; -% xb(nb,1) = x(k); -% xb(nb,2) = x(k+1); -% end -%end -sign_change = diff(sign(f)); -[~,i_change] = find(sign_change~=0); -nb=length(i_change); -xb=[x(i_change)',x(i_change+1)']; - -if isempty(xb) %display that no brackets were found - fprintf('no brackets found\n') - fprintf('check interval or increase ns\n') -else - fprintf('number of brackets: %i\n',nb) %display number of brackets -end diff --git a/lecture_06/lecture_06.ipynb b/lecture_06/lecture_06.ipynb deleted file mode 100644 index f44f84c..0000000 --- a/lecture_06/lecture_06.ipynb +++ /dev/null @@ -1,834 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 2, - "metadata": { - "collapsed": true - }, - "outputs": [], - "source": [ - "%plot --format svg" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "my_caller.m\n", - "```matlab\n", - "function [vx,vy] = my_caller(max_time)\n", - " N=100;\n", - " t=linspace(0,max_time,N);\n", - " [x,y]=my_function(max_time);\n", - " vx=diff(x)./diff(t);\n", - " vy=diff(y)./diff(t);\n", - "end\n", - "```\n", - "\n", - "my_function.m\n", - "```matlab\n", - "function [x,y] = my_function(max_time)\n", - " N=100;\n", - " t=linspace(0,max_time,N);\n", - " x=t.^2;\n", - " y=2*t;\n", - "end\n", - "```\n", - "\n", - "In order to use `my_caller.m` where does `my_function.m` need to be saved?\n", - "![responses](q1.png)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "What cool personal projects are you working on?\n", - "While we delve deeper into Matlab functions, could we review some of the basic logic\n", - "operators it uses and command codes. \n", - "\n", - "I still dont know when these forms are technically due. \n", - " \n", - " -by the following lecture\n", - "\n", - "I'm having trouble interfacing Atom with GitHub. Is there a simple tutorial for this?\n", - " \n", - " -Mac? Seems there could be a bug that folks are working on\n", - "\n", - "What are the bear necessities of life? \n", - "please go over how to \"submit\" the homeworks because it is still confusing\n", - "\n", - "Do you prefer Matlab or Octave?\n", - " \n", - " -octave is my preference, but Matlab has some benefits\n", - "\n", - "Would you consider a country to be open-source?\n", - " \n", - " -??\n", - "\n", - "Is there a way to download matlab for free?\n", - " \n", - " -not legally\n", - "\n", - "how do you add files to current folder in matlab?\n", - " \n", - " -you can do this either through a file browser or cli\n", - "\n", - "How should Homework 2 be submitted? By simply putting the function into the homework_1\n", - "repository?\n", - " \n", - " -yes\n", - " \n", - "How can we tell that these forms are being received?\n", - " \n", - " -when you hit submit, the form says \"form received\"\n", - " \n", - "can you save scripted outputs from matlab/octave as an excel file?\n", - " \n", - " -yes, easy way is open a file with a .csv extension then fprintf and separate everything with commas, harder way is to use the `xlswrite`\n", - " \n", - "\n", - "Also, can you update your notes to show what happens when these things are run, as you do\n", - "in class?\"\n", - " \n", - " -I always update the lecture notes after class so they should display what we did in class\n", - " \n", - "I have a little difficulty following along in class on my laptop when you have programs\n", - "pre-written. Maybe if you posted those codes on Github so I could copy them when you\n", - "switch to different desktops I would be able to follow along better.\n", - "\n", - "Kirk or Picard?\n", - " \n", - " -Kirk\n", - " \n", - "Who is our TA?\n", - " \n", - " -Peiyu Zhang peiyu.zhang@uconn.edu\n", - "\n", - "Can we download libraries of data like thermodynamic tables into matlab?\n", - " \n", - "-YES! [Matlab Steam Tables](http://bit.ly/2kZygu8)\n", - "\n", - "Will we use the Simulink addition to Matlab? I found it interesting and useful for\n", - "evaluating ODEs in Linear systems.\n", - " \n", - " -not in this class, everything in simulink has a matlab script/function that can be substituted, but many times its hidden by the gui. Here we want to look directly at our solvers\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Roots and Optimization\n", - "## Bracketing ch. 5" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "When you are given a function, numerical or analytical, it's not always possible to solve directly for a given variable. \n", - "\n", - "Even for the freefall example we first explored, \n", - "\n", - "$v(t)=\\sqrt{\\frac{gm}{c_{d}}}\\tanh(\\sqrt{\\frac{gc_{d}}{m}}t)$\n", - "\n", - "There is no way to solve for m in terms of the other variables. \n", - "\n", - "Instead, we can solve the problem by creating a new function f(m) where\n", - "\n", - "$f(m)=\\sqrt{\\frac{gm}{c_{d}}}\\tanh(\\sqrt{\\frac{gc_{d}}{m}}t)-v(t)$. \n", - "\n", - "When f(m) = 0, we have solved for m in terms of the other variables (e.g. for a given time, velocity, drag coefficient and acceleration due to gravity)" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "data": { - "image/svg+xml": [ - "\n", - "\n", - "Gnuplot\n", - "Produced by GNUPLOT 5.0 patchlevel 3 \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t \n", - "\t \n", - "\t\n", - "\t\n", - "\t \n", - "\t \n", - "\t\n", - "\n", - "\n", - "\n", - "\n", - "\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\n", - "\n", - "\t\t\n", - "\t\t-5\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t-4\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t-3\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t-2\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t-1\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t0\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t1\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t60\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t80\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t100\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t120\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t140\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t160\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t180\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t200\n", - "\t\n", - "\n", - "\n", - "\n", - "\n", - "\t\n", - "\n", - "\n", - "\tgnuplot_plot_1a\n", - "\n", - "\n", - "\n", - "\t\n", - "\t\n", - "\tgnuplot_plot_2a\n", - "\n", - "\t\n", - "\t\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "setdefaults\n", - "g=9.81; % acceleration due to gravity\n", - "m=linspace(50, 200,100); % possible values for mass 50 to 200 kg\n", - "c_d=0.25; % drag coefficient\n", - "t=4; % at time = 4 seconds\n", - "v=36; % speed must be 36 m/s\n", - "f_m = @(m) sqrt(g*m/c_d).*tanh(sqrt(g*c_d./m)*t)-v; % anonymous function f_m\n", - "\n", - "plot(m,f_m(m),m,zeros(length(m),1))\n", - "axis([45 200 -5 1])" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "ans = 0.045626\r\n" - ] - } - ], - "source": [ - "f_m(145)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Brute force method is plot f_m vs m and with smaller and smaller steps until f_m ~ 0\n", - "\n", - "Better methods are the \n", - "1. Bracketing methods\n", - "2. Open methods\n", - "\n", - "Both need an initial guess. \n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Incremental method (Brute force)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "You know that for one value, m_lower, f_m is negative and for another value, m_upper, f_m is positive. \n", - "\n", - "```matlab\n", - "function xb = incsearch(func,xmin,xmax,ns)\n", - "% incsearch: incremental search root locator\n", - "% xb = incsearch(func,xmin,xmax,ns):\n", - "% finds brackets of x that contain sign changes\n", - "% of a function on an interval\n", - "% input:\n", - "% func = name of function\n", - "% xmin, xmax = endpoints of interval\n", - "% ns = number of subintervals (default = 50)\n", - "% output:\n", - "% xb(k,1) is the lower bound of the kth sign change\n", - "% xb(k,2) is the upper bound of the kth sign change\n", - "% If no brackets found, xb = [].\n", - "if nargin < 3, error('at least 3 arguments required'), end\n", - "if nargin < 4, ns = 50; end %if ns blank set to 50\n", - "% Incremental search\n", - "x = linspace(xmin,xmax,ns);\n", - "f = func(x);\n", - "nb = 0; xb = []; %xb is null unless sign change detected\n", - "for k = 1:length(x)-1\n", - " if sign(f(k)) ~= sign(f(k+1)) %check for sign change\n", - " nb = nb + 1;\n", - " xb(nb,1) = x(k);\n", - " xb(nb,2) = x(k+1);\n", - " end\n", - "end\n", - "if isempty(xb) %display that no brackets were found\n", - " fprintf('no brackets found\\n')\n", - " fprintf('check interval or increase ns\\n')\n", - "else\n", - " fprintf('number of brackets: %i\\n',nb) %display number of brackets\n", - "end\n", - "```" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "'incsearch' is a function from the file /home/ryan/Documents/UConn/ME3255/me3255_S2017/lecture_06/incsearch.m\n", - "\n", - " incsearch: incremental search root locator\n", - " xb = incsearch(func,xmin,xmax,ns):\n", - " finds brackets of x that contain sign changes\n", - " of a function on an interval\n", - " input:\n", - " func = name of function\n", - " xmin, xmax = endpoints of interval\n", - " ns = number of subintervals (default = 50)\n", - " output:\n", - " xb(k,1) is the lower bound of the kth sign change\n", - " xb(k,2) is the upper bound of the kth sign change\n", - " If no brackets found, xb = [].\n", - "\n", - "\n", - "Additional help for built-in functions and operators is\n", - "available in the online version of the manual. Use the command\n", - "'doc ' to search the manual index.\n", - "\n", - "Help and information about Octave is also available on the WWW\n", - "at http://www.octave.org and via the help@octave.org\n", - "mailing list.\n" - ] - } - ], - "source": [ - "help incsearch" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "no brackets found\n", - "check interval or increase ns\n", - "ans = [](1x0)\n" - ] - } - ], - "source": [ - "incsearch(f_m,50, 200,55)" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "collapsed": true - }, - "source": [ - "## Bisection method" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Divide interval in half until error is reduced to some level\n", - "\n", - "in previous example of freefall, choose x_l=50, x_u=200\n", - "\n", - "x_r = (50+200)/2 = 125\n", - "\n", - "f_m(125) = -0.408\n", - "\n", - "x_r= (125+200)/2 = 162.5\n", - "\n", - "f_m(162.5) = 0.3594\n", - "\n", - "x_r = (125+162.5)/2=143.75\n", - "\n", - "f_m(143.75)= 0.0206" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "ans = 0.020577\r\n" - ] - } - ], - "source": [ - "f_m(143.75)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Much better root locator, with 4 iterations, our function is already close to zero\n", - "\n", - "Automate this with a function:\n", - "`bisect.m`\n", - "\n", - "```matlab\n", - "function [root,fx,ea,iter]=bisect(func,xl,xu,es,maxit,varargin)\n", - "% bisect: root location zeroes\n", - "% [root,fx,ea,iter]=bisect(func,xl,xu,es,maxit,p1,p2,...):\n", - "% uses bisection method to find the root of func\n", - "% input:\n", - "% func = name of function\n", - "% xl, xu = lower and upper guesses\n", - "% es = desired relative error (default = 0.0001%)\n", - "% maxit = maximum allowable iterations (default = 50)\n", - "% p1,p2,... = additional parameters used by func\n", - "% output:\n", - "% root = real root\n", - "% fx = function value at root\n", - "% ea = approximate relative error (%)\n", - "% iter = number of iterations\n", - "if nargin<3,error('at least 3 input arguments required'),end\n", - "test = func(xl,varargin{:})*func(xu,varargin{:});\n", - "if test>0,error('no sign change'),end\n", - "if nargin<4|isempty(es), es=0.0001;end\n", - "if nargin<5|isempty(maxit), maxit=50;end\n", - "iter = 0; xr = xl; ea = 100;\n", - "while (1)\n", - " xrold = xr;\n", - " xr = (xl + xu)/2;\n", - " iter = iter + 1;\n", - " if xr ~= 0,ea = abs((xr - xrold)/xr) * 100;end\n", - " test = func(xl,varargin{:})*func(xr,varargin{:});\n", - " if test < 0\n", - " xu = xr;\n", - " elseif test > 0\n", - " xl = xr;\n", - " else\n", - " ea = 0;\n", - " end\n", - " if ea <= es | iter >= maxit,break,end\n", - "end\n", - "root = xr; fx = func(xr, varargin{:});\n", - "```" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## False position (linear interpolation)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Rather than bisecting each bracket (1/2 each time) we can calculate the slope between the two points and update the xr position in this manner\n", - "\n", - "$ x_{r} = x_{u} - \\frac{f(x_{u})(x_{l}-x_{u})}{f(x_{l})-f(x_{u})}$" - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "data": { - "image/svg+xml": [ - "\n", - "\n", - "Gnuplot\n", - "Produced by GNUPLOT 5.0 patchlevel 3 \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t \n", - "\t \n", - "\t\n", - "\t\n", - "\t \n", - "\t \n", - "\t\n", - "\n", - "\n", - "\n", - "\n", - "\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\n", - "\n", - "\t\t\n", - "\t\t-5\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t-4\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t-3\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t-2\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t-1\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t0\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t1\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t0\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t50\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t100\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t150\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t200\n", - "\t\n", - "\n", - "\n", - "\n", - "\n", - "\t\n", - "\n", - "\n", - "\tgnuplot_plot_1a\n", - "\n", - "\n", - "\n", - "\t\n", - "\t\n", - "\tgnuplot_plot_2a\n", - "\n", - "\t \n", - "\t\n", - "\n", - "\t\n", - "\tgnuplot_plot_3a\n", - "\n", - "\t \n", - "\t\n", - "\n", - "\t\n", - "\tgnuplot_plot_4a\n", - "\n", - "\t\t \n", - "\t\n", - "\n", - "\t\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "xl=50; xu=200; \n", - "xr=xu - (f_m(xu)*(xl-xu))/(f_m(xl)-f_m(xu));\n", - "\n", - "plot(m,f_m(m),xl,f_m(xl),'s',xu,f_m(xu),'s',xr,0)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Much better root locator, with 4 iterations, our function is already close to zero\n", - "\n", - "Automate this with a function:\n", - "`falsepos.m`\n", - "\n", - "```matlab\n", - "function [root,fx,ea,iter]=falsepos(func,xl,xu,es,maxit,varargin)\n", - "% falsepos: root location zeroes\n", - "% [root,fx,ea,iter]=bisect(func,xl,xu,es,maxit,p1,p2,...):\n", - "% uses false position method to find the root of func\n", - "% input:\n", - "% func = name of function\n", - "% xl, xu = lower and upper guesses\n", - "% es = desired relative error (default = 0.0001%)\n", - "% maxit = maximum allowable iterations (default = 50)\n", - "% p1,p2,... = additional parameters used by func\n", - "% output:\n", - "% root = real root\n", - "% fx = function value at root\n", - "% ea = approximate relative error (%)\n", - "% iter = number of iterations\n", - "if nargin<3,error('at least 3 input arguments required'),end\n", - "test = func(xl,varargin{:})*func(xu,varargin{:});\n", - "if test>0,error('no sign change'),end\n", - "if nargin<4|isempty(es), es=0.0001;end\n", - "if nargin<5|isempty(maxit), maxit=50;end\n", - "iter = 0; xr = xl; ea = 100;\n", - "while (1)\n", - " xrold = xr;\n", - " % xr = (xl + xu)/2; % bisect method\n", - " xr=xu - (f_m(xu)*(xl-xu))/(f_m(xl)-f_m(xu)); % false position method\n", - " iter = iter + 1;\n", - " if xr ~= 0,ea = abs((xr - xrold)/xr) * 100;end\n", - " test = func(xl,varargin{:})*func(xr,varargin{:});\n", - " if test < 0\n", - " xu = xr;\n", - " elseif test > 0\n", - " xl = xr;\n", - " else\n", - " ea = 0;\n", - " end\n", - " if ea <= es | iter >= maxit,break,end\n", - "end\n", - "root = xr; fx = func(xr, varargin{:});\n", - "```" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "collapsed": true - }, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Octave", - "language": "octave", - "name": "octave" - }, - "language_info": { - "file_extension": ".m", - "help_links": [ - { - "text": "MetaKernel Magics", - "url": "https://github.com/calysto/metakernel/blob/master/metakernel/magics/README.md" - } - ], - "mimetype": "text/x-octave", - "name": "octave", - "version": "0.19.14" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/lecture_06/lecture_06.md b/lecture_06/lecture_06.md deleted file mode 100644 index b3d2266..0000000 --- a/lecture_06/lecture_06.md +++ /dev/null @@ -1,373 +0,0 @@ - - -```octave -%plot --format svg -``` - -my_caller.m -```matlab -function [vx,vy] = my_caller(max_time) - N=100; - t=linspace(0,max_time,N); - [x,y]=my_function(max_time); - vx=diff(x)./diff(t); - vy=diff(y)./diff(t); -end -``` - -my_function.m -```matlab -function [x,y] = my_function(max_time) - N=100; - t=linspace(0,max_time,N); - x=t.^2; - y=2*t; -end -``` - -In order to use `my_caller.m` where does `my_function.m` need to be saved? -![responses](q1.png) - - -What cool personal projects are you working on? -While we delve deeper into Matlab functions, could we review some of the basic logic -operators it uses and command codes. - -I still dont know when these forms are technically due. - - -by the following lecture - -I'm having trouble interfacing Atom with GitHub. Is there a simple tutorial for this? - - -Mac? Seems there could be a bug that folks are working on - -What are the bear necessities of life? -please go over how to "submit" the homeworks because it is still confusing - -Do you prefer Matlab or Octave? - - -octave is my preference, but Matlab has some benefits - -Would you consider a country to be open-source? - - -?? - -Is there a way to download matlab for free? - - -not legally - -how do you add files to current folder in matlab? - - -you can do this either through a file browser or cli - -How should Homework 2 be submitted? By simply putting the function into the homework_1 -repository? - - -yes - -How can we tell that these forms are being received? - - -when you hit submit, the form says "form received" - -can you save scripted outputs from matlab/octave as an excel file? - - -yes, easy way is open a file with a .csv extension then fprintf and separate everything with commas, harder way is to use the `xlswrite` - - -Also, can you update your notes to show what happens when these things are run, as you do -in class?" - - -I always update the lecture notes after class so they should display what we did in class - -I have a little difficulty following along in class on my laptop when you have programs -pre-written. Maybe if you posted those codes on Github so I could copy them when you -switch to different desktops I would be able to follow along better. - -Kirk or Picard? - - -Kirk - -Who is our TA? - - -Peiyu Zhang peiyu.zhang@uconn.edu - -Can we download libraries of data like thermodynamic tables into matlab? - --YES! [Matlab Steam Tables](http://bit.ly/2kZygu8) - -Will we use the Simulink addition to Matlab? I found it interesting and useful for -evaluating ODEs in Linear systems. - - -not in this class, everything in simulink has a matlab script/function that can be substituted, but many times its hidden by the gui. Here we want to look directly at our solvers - - -# Roots and Optimization -## Bracketing ch. 5 - -When you are given a function, numerical or analytical, it's not always possible to solve directly for a given variable. - -Even for the freefall example we first explored, - -$v(t)=\sqrt{\frac{gm}{c_{d}}}\tanh(\sqrt{\frac{gc_{d}}{m}}t)$ - -There is no way to solve for m in terms of the other variables. - -Instead, we can solve the problem by creating a new function f(m) where - -$f(m)=\sqrt{\frac{gm}{c_{d}}}\tanh(\sqrt{\frac{gc_{d}}{m}}t)-v(t)$. - -When f(m) = 0, we have solved for m in terms of the other variables (e.g. for a given time, velocity, drag coefficient and acceleration due to gravity) - - -```octave -setdefaults -g=9.81; % acceleration due to gravity -m=linspace(50, 200,100); % possible values for mass 50 to 200 kg -c_d=0.25; % drag coefficient -t=4; % at time = 4 seconds -v=36; % speed must be 36 m/s -f_m = @(m) sqrt(g*m/c_d).*tanh(sqrt(g*c_d./m)*t)-v; % anonymous function f_m - -plot(m,f_m(m),m,zeros(length(m),1)) -axis([45 200 -5 1]) -``` - - -![svg](lecture_06_files/lecture_06_5_0.svg) - - - -```octave -f_m(145) -``` - - ans = 0.045626 - - -Brute force method is plot f_m vs m and with smaller and smaller steps until f_m ~ 0 - -Better methods are the -1. Bracketing methods -2. Open methods - -Both need an initial guess. - - -## Incremental method (Brute force) - -You know that for one value, m_lower, f_m is negative and for another value, m_upper, f_m is positive. - -```matlab -function xb = incsearch(func,xmin,xmax,ns) -% incsearch: incremental search root locator -% xb = incsearch(func,xmin,xmax,ns): -% finds brackets of x that contain sign changes -% of a function on an interval -% input: -% func = name of function -% xmin, xmax = endpoints of interval -% ns = number of subintervals (default = 50) -% output: -% xb(k,1) is the lower bound of the kth sign change -% xb(k,2) is the upper bound of the kth sign change -% If no brackets found, xb = []. -if nargin < 3, error('at least 3 arguments required'), end -if nargin < 4, ns = 50; end %if ns blank set to 50 -% Incremental search -x = linspace(xmin,xmax,ns); -f = func(x); -nb = 0; xb = []; %xb is null unless sign change detected -for k = 1:length(x)-1 - if sign(f(k)) ~= sign(f(k+1)) %check for sign change - nb = nb + 1; - xb(nb,1) = x(k); - xb(nb,2) = x(k+1); - end -end -if isempty(xb) %display that no brackets were found - fprintf('no brackets found\n') - fprintf('check interval or increase ns\n') -else - fprintf('number of brackets: %i\n',nb) %display number of brackets -end -``` - - -```octave -help incsearch -``` - - 'incsearch' is a function from the file /home/ryan/Documents/UConn/ME3255/me3255_S2017/lecture_06/incsearch.m - - incsearch: incremental search root locator - xb = incsearch(func,xmin,xmax,ns): - finds brackets of x that contain sign changes - of a function on an interval - input: - func = name of function - xmin, xmax = endpoints of interval - ns = number of subintervals (default = 50) - output: - xb(k,1) is the lower bound of the kth sign change - xb(k,2) is the upper bound of the kth sign change - If no brackets found, xb = []. - - - Additional help for built-in functions and operators is - available in the online version of the manual. Use the command - 'doc ' to search the manual index. - - Help and information about Octave is also available on the WWW - at http://www.octave.org and via the help@octave.org - mailing list. - - - -```octave -incsearch(f_m,50, 200,55) -``` - - no brackets found - check interval or increase ns - ans = [](1x0) - - -## Bisection method - -Divide interval in half until error is reduced to some level - -in previous example of freefall, choose x_l=50, x_u=200 - -x_r = (50+200)/2 = 125 - -f_m(125) = -0.408 - -x_r= (125+200)/2 = 162.5 - -f_m(162.5) = 0.3594 - -x_r = (125+162.5)/2=143.75 - -f_m(143.75)= 0.0206 - - -```octave -f_m(143.75) -``` - - ans = 0.020577 - - -Much better root locator, with 4 iterations, our function is already close to zero - -Automate this with a function: -`bisect.m` - -```matlab -function [root,fx,ea,iter]=bisect(func,xl,xu,es,maxit,varargin) -% bisect: root location zeroes -% [root,fx,ea,iter]=bisect(func,xl,xu,es,maxit,p1,p2,...): -% uses bisection method to find the root of func -% input: -% func = name of function -% xl, xu = lower and upper guesses -% es = desired relative error (default = 0.0001%) -% maxit = maximum allowable iterations (default = 50) -% p1,p2,... = additional parameters used by func -% output: -% root = real root -% fx = function value at root -% ea = approximate relative error (%) -% iter = number of iterations -if nargin<3,error('at least 3 input arguments required'),end -test = func(xl,varargin{:})*func(xu,varargin{:}); -if test>0,error('no sign change'),end -if nargin<4|isempty(es), es=0.0001;end -if nargin<5|isempty(maxit), maxit=50;end -iter = 0; xr = xl; ea = 100; -while (1) - xrold = xr; - xr = (xl + xu)/2; - iter = iter + 1; - if xr ~= 0,ea = abs((xr - xrold)/xr) * 100;end - test = func(xl,varargin{:})*func(xr,varargin{:}); - if test < 0 - xu = xr; - elseif test > 0 - xl = xr; - else - ea = 0; - end - if ea <= es | iter >= maxit,break,end -end -root = xr; fx = func(xr, varargin{:}); -``` - -## False position (linear interpolation) - -Rather than bisecting each bracket (1/2 each time) we can calculate the slope between the two points and update the xr position in this manner - -$ x_{r} = x_{u} - \frac{f(x_{u})(x_{l}-x_{u})}{f(x_{l})-f(x_{u})}$ - - -```octave -xl=50; xu=200; -xr=xu - (f_m(xu)*(xl-xu))/(f_m(xl)-f_m(xu)); - -plot(m,f_m(m),xl,f_m(xl),'s',xu,f_m(xu),'s',xr,0) -``` - - -![svg](lecture_06_files/lecture_06_18_0.svg) - - -Much better root locator, with 4 iterations, our function is already close to zero - -Automate this with a function: -`falsepos.m` - -```matlab -function [root,fx,ea,iter]=falsepos(func,xl,xu,es,maxit,varargin) -% falsepos: root location zeroes -% [root,fx,ea,iter]=bisect(func,xl,xu,es,maxit,p1,p2,...): -% uses false position method to find the root of func -% input: -% func = name of function -% xl, xu = lower and upper guesses -% es = desired relative error (default = 0.0001%) -% maxit = maximum allowable iterations (default = 50) -% p1,p2,... = additional parameters used by func -% output: -% root = real root -% fx = function value at root -% ea = approximate relative error (%) -% iter = number of iterations -if nargin<3,error('at least 3 input arguments required'),end -test = func(xl,varargin{:})*func(xu,varargin{:}); -if test>0,error('no sign change'),end -if nargin<4|isempty(es), es=0.0001;end -if nargin<5|isempty(maxit), maxit=50;end -iter = 0; xr = xl; ea = 100; -while (1) - xrold = xr; - % xr = (xl + xu)/2; % bisect method - xr=xu - (f_m(xu)*(xl-xu))/(f_m(xl)-f_m(xu)); % false position method - iter = iter + 1; - if xr ~= 0,ea = abs((xr - xrold)/xr) * 100;end - test = func(xl,varargin{:})*func(xr,varargin{:}); - if test < 0 - xu = xr; - elseif test > 0 - xl = xr; - else - ea = 0; - end - if ea <= es | iter >= maxit,break,end -end -root = xr; fx = func(xr, varargin{:}); -``` - - -```octave - -``` diff --git a/lecture_06/lecture_06_files/lecture_06_18_0.svg b/lecture_06/lecture_06_files/lecture_06_18_0.svg deleted file mode 100644 index 9652b37..0000000 --- a/lecture_06/lecture_06_files/lecture_06_18_0.svg +++ /dev/null @@ -1,144 +0,0 @@ - - -Gnuplot -Produced by GNUPLOT 5.0 patchlevel 3 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -5 - - - - - -4 - - - - - -3 - - - - - -2 - - - - - -1 - - - - - 0 - - - - - 1 - - - - - 0 - - - - - 50 - - - - - 100 - - - - - 150 - - - - - 200 - - - - - - - - - gnuplot_plot_1a - - - - - - gnuplot_plot_2a - - - - - - gnuplot_plot_3a - - - - - - gnuplot_plot_4a - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/lecture_06/lecture_06_files/lecture_06_5_0.svg b/lecture_06/lecture_06_files/lecture_06_5_0.svg deleted file mode 100644 index 3ecaecd..0000000 --- a/lecture_06/lecture_06_files/lecture_06_5_0.svg +++ /dev/null @@ -1,145 +0,0 @@ - - -Gnuplot -Produced by GNUPLOT 5.0 patchlevel 3 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -5 - - - - - -4 - - - - - -3 - - - - - -2 - - - - - -1 - - - - - 0 - - - - - 1 - - - - - 60 - - - - - 80 - - - - - 100 - - - - - 120 - - - - - 140 - - - - - 160 - - - - - 180 - - - - - 200 - - - - - - - - - gnuplot_plot_1a - - - - - - gnuplot_plot_2a - - - - - - - - - - - - - \ No newline at end of file