Skip to content

Instantly share code, notes, and snippets.

@infinite-Joy
Created November 19, 2017 15:07
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save infinite-Joy/884a0b0eeeacc5fefce3ec9ea4a675e8 to your computer and use it in GitHub Desktop.
Save infinite-Joy/884a0b0eeeacc5fefce3ec9ea4a675e8 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\nAAAAAElFTkSuQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7ffa408abda0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"from numpy import linspace\n",
"import math\n",
"import matplotlib.pyplot as plt\n",
"import random\n",
"\n",
"t = linspace(0, 2*math.pi, 400)\n",
"\n",
"def linear_hypotheses(a, b, x):\n",
" return a*x + b\n",
"\n",
"a = linear_hypotheses(random.randint(-10, 10), random.randint(-10, 10), t)\n",
"b = linear_hypotheses(random.randint(-10, 10), random.randint(-10, 10), t)\n",
"c = linear_hypotheses(random.randint(-10, 10), random.randint(-10, 10), t)\n",
"\n",
"plt.plot(t, a, 'r') # plotting t, a separately \n",
"plt.plot(t, b, 'b') # plotting t, b separately \n",
"plt.plot(t, c, 'g') # plotting t, c separately \n",
"plt.show()"
]
}
],
"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.6.1"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment