{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# EE16A: Discussion 1A" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Solving Systems of Equations: Visualization" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Initialization\n", "First, run this command in your terminal to install some dependencies:\n", "\n", " pip install mpld3 plotly\n", "\n", "Then run the code in the next block to set up functions that the other blocks\n", "depend on." ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [], "source": [ "import numpy as np\n", "import mpld3\n", "import numpy.matlib\n", "import matplotlib.pyplot as plt\n", "import plotly.plotly as py\n", "from plotly.graph_objs import *\n", "from mpl_toolkits.mplot3d import Axes3D\n", "from numpy import pi, cos, exp\n", "\n", "%matplotlib inline\n", "mpld3.enable_notebook()\n", "py.sign_in('ee16a', '2eqa3edyhn')\n", "\n", "# Define the function to be plotted\n", "def fxy(x, y): \n", " A = 1 # choose a maximum amplitude \n", " return A*(cos(pi*x*y))**2 * exp(-(x**2+y**2)/2.)\n", "\n", "def line_xy(a,b,c):\n", " '''For the parameters a,b,c this function returns an array of (x,y) pairs\n", " that are on the line ax+by+c=0'''\n", " b=b+.00001\n", " c*=-1\n", " x_range=[-100, 100]\n", " x=np.linspace(x_range[0],x_range[1],100)\n", " y=(a*x+c)/(-b) \n", " return x, y\n", "\n", "def plane_xyz(a,b,c,d):\n", " '''For the parameters a,b,c this function returns an array of (x,y,z) pairs\n", " that are on the line ax+by+cz+d=0'''\n", " \n", " c=c+.00001\n", " d *= -1\n", " x_range=[-10, 10]\n", " x=np.linspace(x_range[0],x_range[1],100)\n", " y=np.linspace(x_range[0],x_range[1],100)\n", " yt=y[:,np.newaxis]\n", " \n", " x_mat=np.matlib.repmat(x,len(y),1)\n", " y_mat=np.matlib.repmat(yt,1,len(x))\n", " z_mat=(a*x_mat+b*y_mat+d)/(-c)\n", "# for k in range(0,len(zpoints)): \n", "# x_short,y_short=line_xy(a,b,c*zpoints[k]+d)\n", "# z_short=np.ones(len(y_short))*zpoints[k]\n", "# x=np.append(x,x_short)\n", "# y=np.append(y,y_short)\n", "# z=np.append(z,z_short)\n", " return x, y, z_mat\n", "\n", "axis = dict(\n", " showbackground=True, # (!) show axis background\n", " backgroundcolor=\"rgb(204, 204, 204)\", # set background color to grey\n", " gridcolor=\"rgb(255, 255, 255)\", # set grid line color\n", " zerolinecolor=\"rgb(255, 255, 255)\", # set zero grid line color\n", " range=[-10, 10]\n", ")\n", "\n", "# Make a layout object\n", "layout = Layout(\n", " title='Planes in 3D', # set plot title\n", " scene=Scene( # (!) axes are part of a 'scene' in 3d plots\n", " xaxis=XAxis(axis), # set x-axis style\n", " yaxis=YAxis(axis), # set y-axis style\n", " zaxis=ZAxis(axis), # set z-axis style\n", " ),\n", " showlegend=False,\n", ")\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Graphing System of Two Equations\n", "\n", "For the first half of Problem 1a you were asked to solve systems of two equations. Now we will take a graphical interpretation of the same problems. Each equation can be rewritten as $ax+by+c=0$, and thus describes a line in $\\mathbb{R}^2$. Therefore the solution to the system of equations must lie on the lines described by the system of equations.\n", "\n", "In the next block there is code to graph two lines. Play around with the parameters $a1,b1,...,c2$ to create different lines. Change the parameters to describe the system of equations from parts i-iii. For each part use the graphs to explain the results you found in Problem 1a parts i-iii. The explanations should be written as part of your homework PDF (and not in the ipython notebook)." ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/html": [ "\n", "\n", "\n", "\n", "
\n", "" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#use for parts i-iii\n", "#Parameters for the first line\n", "a1=49\n", "b1=7\n", "c1=60\n", "\n", "#Parameters for the second line\n", "a2=42\n", "b2=6\n", "c2=30\n", "\n", "x1, y1= line_xy(a1,b1,c1)\n", "x2, y2= line_xy(a2,b2,c2)\n", "\n", "fig=plt.figure()\n", "ax=fig.add_subplot(111,xlim=[-15,15],ylim=[-15,15])\n", "ax.plot(x1,y1,'-.b')\n", "ax.plot(x2,y2,'r')\n", "ax.grid(True)\n", "ax.legend(['Line 1','Line 2'])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Graphing System of Three Equations\n", "\n", "For a system of three equations each equation can be rewritten as $ax+by+cz+d=0$. This is the equation for a plane in $\\mathbb{R}^3$. As you might have already guessed the solution for the system of equations must lie on all of the planes described by the system.\n", "\n", "In the next block there is code to graph planes.Play around with the parameters $a1,b1,...,d3$ to create different planes.Change the parameters to describe the system of equations from the second half of Problem 1a. Use the graphs to explain the results you obtained in Problem 1a parts iv-vi. The comments should be written as part of your homework PDF.\n", "\n", "$\\bf{\\text{Rotate the figures to make sure you see all the graphs. It will take a few seconds for the figure to load}}$\n", "\n" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(100,)\n" ] }, { "data": { "text/html": [ "" ], "text/plain": [ "" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#Use for parts iv-vi\n", "\n", "#Parameters for the first plane\n", "a1=1\n", "b1=1\n", "c1=1\n", "d1= 4\n", "\n", "#Parameters for the second plane\n", "a2=0\n", "b2=0\n", "c2=3\n", "d2=6\n", "\n", "#Parameters for the third plane\n", "a3=0\n", "b3=1\n", "c3=1\n", "d3=3\n", "\n", "#Plotting \n", "x1, y1, z1= plane_xyz(a1,b1,c1,d1)\n", "x2, y2, z2= plane_xyz(a2,b2,c2,d2)\n", "x3, y3, z3= plane_xyz(a3,b3,c3,d3)\n", "\n", "print(x1.shape)\n", "blue=[[0, 'rgb(0,0,255)'], [1, 'rgb(0,0,255)']]\n", "green=[[0, 'rgb(0,255,0)'], [1, 'rgb(0,255,0)']]\n", "red=[[0, 'rgb(255,0,0)'], [1, 'rgb(255,0,0)']]\n", "\n", "trace1 = Surface(z=z1, x=x1,y=y1, colorscale=blue,name='First Plane')\n", "trace2 = Surface(z=z2, x=x2,y=y2, colorscale=green, name='Second Plane')\n", "trace3 = Surface(z=z3, x=x3,y=y3, colorscale=red, name='Third Plane')\n", "data = Data([trace1,trace2, trace3])\n", "fig = Figure(data=data,layout=layout)\n", "py.iplot(fig, filename='planes')" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.4.5" } }, "nbformat": 4, "nbformat_minor": 0 }