{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "Cheat Sheets and References" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Linux command reference: http://files.fosswire.com/2007/08/fwunixref.pdf\n", "\n", "Python for Matlab users:\n", "http://wiki.scipy.org/NumPy_for_Matlab_Users,\n", "http://mathesaurus.sourceforge.net/matlab-numpy.html" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Show values in python" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Hello world\n" ] } ], "source": [ "print \"Hello world\"" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Hello world\n" ] } ], "source": [ "mystr = \"Hello world\"\n", "print mystr" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "8\n" ] } ], "source": [ "a = 5\n", "b = 3\n", "print (a+b)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Loops and arrays\n", "\n", "Note ':' and indentation" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0\n", "1\n", "2\n", "3\n", "4\n", "5\n", "6\n", "7\n", "8\n", "9\n" ] } ], "source": [ "for i in range(0,10,1): print i" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "6\n", "7\n", "8\n", "9\n" ] } ], "source": [ "for i in range(0,10):\n", " if i > 5:\n", " print i" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]\n" ] } ], "source": [ "numbers = range(0,10,1)\n", "print numbers" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Making simple plots" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [], "source": [ "%matplotlib inline\n", "import matplotlib.pyplot as plt\n", "import numpy as np" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n/wdJQx5SL1j/KgAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "x = np.linspace(0, 3*np.pi, 500)\n", "plt.plot(x, np.sin(x**2))\n", "plt.title('A simple chirp')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Cross-correlation of two 1-dimensional sequences" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "array([ 3.5])" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import numpy as np\n", "np.correlate([1, 2, 3], [0, 1, 0.5])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Estimate a covariance matrix" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[ 11.71 -4.286 ]\n", " [ -4.286 2.14413333]]\n" ] } ], "source": [ "x = [-2.1, -1, 4.3]\n", "y = [3, 1.1, 0.12]\n", "print np.cov(x, y)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Compute the standard deviation" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "std: 1.11803398875\n", "std across the rows: [ 1. 1.]\n", "std across the columns: [ 0.5 0.5]\n" ] } ], "source": [ "a = np.array([[1, 2], [3, 4]])\n", "print \"std:\", np.std(a)\n", "print \"std across the rows:\", np.std(a, axis=0)\n", "print \"std across the columns:\", np.std(a, axis=1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Compute the arithmetic mean" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "mean: 2.5\n", "mean across the rows: [ 2. 3.]\n", "mean across the columns: [ 1.5 3.5]\n" ] } ], "source": [ "a = np.array([[1, 2], [3, 4]])\n", "print \"mean:\", np.mean(a)\n", "print \"mean across the rows:\", np.mean(a, axis=0)\n", "print \"mean across the columns:\", np.mean(a, axis=1)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.6" } }, "nbformat": 4, "nbformat_minor": 0 }