Skip to content

Instantly share code, notes, and snippets.

@nck2
Created August 16, 2018 09:22
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 nck2/9512a9f8a0c2d32f6cda2d5dd36f8140 to your computer and use it in GitHub Desktop.
Save nck2/9512a9f8a0c2d32f6cda2d5dd36f8140 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### $ y=2x+ \\cos x$ 와 역함수의 그래프"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"%matplotlib inline\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"import seaborn"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"x=np.linspace(0,4,100)\n",
"y=2*x+np.cos(x)"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.lines.Line2D at 0xd2c4ad0>"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0xc221070>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig, ax =plt.subplots()\n",
"ax.plot(x,2*x+np.cos(x),color=\"red\")\n",
"ax.plot(y,x,color=\"blue\")\n",
"ax.set_aspect(1)\n",
"ax.grid(True,which='both')\n",
"ax.axhline(y=0,color='k')\n",
"ax.axvline(x=0,color='k')"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"# fig, ax =plt.subplots()\n",
"# ax.plot(x,2*x+np.cos(x),color=\"red\")\n",
"# ax.plot(y,x,color=\"blue\")\n",
"# ax.set_aspect(0.5)\n",
"# ax.grid(True,which='both')\n",
"# ax.axhline(y=0,color='k')\n",
"# ax.axvline(x=0,color='k')\n",
"# ax.hist(x,y, histtype='stepfilled', facecolor='g')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### $\\ln 10$ 값의 리만합 근사"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"import math"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"2.302585092994046"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"math.log(10)"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"xlist=np.linspace(1,10,11)"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([ 1. , 1.9, 2.8, 3.7, 4.6, 5.5, 6.4, 7.3, 8.2,\n",
" 9.1, 10. ])"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"xlist"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"def stf(x):\n",
" return 1/x"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"import matplotlib\n",
"def reimann(a, b, n, l, f):\n",
" numRange = np.arange(a, b, .02)\n",
" y = f(numRange)\n",
" w = float(b - a)/n\n",
" x = 0.0\n",
" d = {\"l\": 0, \"r\": 1, \"m\": 0.5}\n",
" offset = d[l[0]]\n",
" for i in range(n):\n",
" x += f(a + (i+offset)*w)\n",
" plt.gca().add_patch(matplotlib.patches.Rectangle((i*w + a,0),w,f(a + (i+offset)*w)))\n",
" plt.plot(numRange, y, color=(1.0, 0.00, 0.00), zorder=5)\n",
" s = w * x\n",
" #print('\\n', s, '\\n')\n",
"\n",
"# def main():\n",
"# functionString = input(\"\\nEnter a function: \")\n",
"# a = int(input(\"Enter the start point: \"))\n",
"# b = int(input(\"Enter the end point: \"))\n",
"# n = int(input(\"Enter the number of rectangles: \"))\n",
"# l = input(\"Type right, left, or middle: \")\n",
"# reimann(a, b, n, l, lambda x: eval(functionString))\n",
"# plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"def app(n):\n",
" risum=0\n",
" ylist=[]\n",
" xlist=np.linspace(1,10,n+1)\n",
" dx= 9/n\n",
" for i in range(n):\n",
" risum=risum+stf(xlist[i])*dx\n",
" ylist.append(stf(xlist[i]))\n",
"# print(ylist)\n",
" fig, ax =plt.subplots()\n",
" ax.scatter(xlist[:n],ylist, color='g')\n",
" ax.set_aspect(4)\n",
" ax.grid(True,which='both')\n",
" ax.axhline(y=0,color='k')\n",
" ax.axvline(x=0,color='k')\n",
" reimann(xlist[0], xlist[-1], n, 'middle',stf)\n",
" return risum\n",
" \n",
" \n",
" "
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"2.7702144304424889"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\nIiIiFvn/50pAovIvdLYAAAAASUVORK5CYII=\n",
"text/plain": [
"<matplotlib.figure.Figure at 0xd309ff0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"app(10)"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"2.343752798389934"
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0xd309cf0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"app(100)"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"2.3066417754393771"
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\nAAAASUVORK5CYII=\n",
"text/plain": [
"<matplotlib.figure.Figure at 0xd46b610>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"app(1000)"
]
},
{
"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.6.0"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment