Skip to content

Instantly share code, notes, and snippets.

@CD-Ceballos
Created February 4, 2020 20:53
Show Gist options
  • Save CD-Ceballos/eec0ac2897fbf956006d9ac8fb0a3419 to your computer and use it in GitHub Desktop.
Save CD-Ceballos/eec0ac2897fbf956006d9ac8fb0a3419 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Calcule el polinomio de primer grado con los valores dados:\n",
"\n",
"|v|F|\n",
"|---|---|\n",
"|10|25|\n",
"|20|70|\n",
"|30|380|\n",
"|40|550|\n",
"|50|610|\n",
"|60|1220|\n",
"|70|830|\n",
"|80|1450|\n",
"\n",
"##### Muestre los resultados, grafique los punots y los modelos de regresión obtenidos"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" Xi Yi Xi*Yi Xi^2\n",
"------------------------------------\n",
" 10 25 250 100\n",
" 20 70 1400 400\n",
" 30 380 11400 900\n",
" 40 550 22000 1600\n",
" 50 610 30500 2500\n",
" 60 1220 73200 3600\n",
" 70 830 58100 4900\n",
" 80 1450 116000 6400\n",
"------------------------------------\n",
" 360 5135 312850 20400\n",
"------------------------------------\n",
"\n",
"a0 = -234.29\n",
"a1 = 19.47\n",
"f(x) = 19.4702x -234.2857\n"
]
},
{
"data": {
"image/png": "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1FMsX76cn3/+mVOnThXatteVdLuX1c2Xuv7www80atTIsu74+HjLt1mAzMxMDh06xAMPPHDH69Y6V1dXatasWeT2r1u3ruVLgU6no23btgQHBxMZGUmXLl0IDw8vcpk1atSgZs2at7y4pEaNGvz1118Fxh09erRQhqCgIPr27UvTpk255557OHfunOXx63+fgwcPWsZlZWUV+eXpZqdOneLKlSvMmTOHbt260ahRIxITEwsUpQceeICYmJgC74vo6OgC75uSvn5K834oihSQ//ryyy+Jj4+nfv36RT4+adIkjh49yvjx4/nPf/7DF198weuvv87gwYMtH4ATJkxg2bJlbNmyhTNnzhAWFkZERESB5cyaNYuPP/6YcePGERUVxa+//soXX3zBiBEjSE9PL3LdU6ZMYefOncyfP5/Tp0+zY8cOZsyYwYQJE7Czs+Ps2bNMnjyZ7777jt9//50ffviBb7/99pa/WZgwYQLbt29n2bJlnDlzhvDwcLZs2VJgmuDgYE6dOsWQIUM4dOgQv/32m+Wbyo1vmJLo3r07gYGB9O/fn927d3Pu3DmOHDnCihUrWLduHQCDBw/GaDTy4osvcuLECX766SdGjBiBo6Pjbb9xDR48mLp169KnTx+++uorzp8/z08//cS8efPYs2cPAIsWLWLbtm1ER0fz22+/sXHjRmxsbGjYsGGRy7zddr9T//rXv3j33Xc5c+YMK1asYPv27YwbN86yvdq2bcugQYP4/vvvOXnyJC+++CIZGRn83//93x2vuyqYMmWK5fVx5swZ1qxZw3vvvUdwcDCQ/wEdGhrKTz/9xIULF9i3bx8nTpy45ev+7bffZs2aNYSGhnLq1Cmio6N59913iY+PByAwMJCIiAh27NjB2bNnmT9/Pt9++22BZdx3331s27aNX375haioKJ5//nlyc3MtjwcEBNC3b19effVVDhw4QExMDC+//DIpKSm3fc733nsv9vb2rFixgl9//ZV9+/YxZsyYAq//QYMG4eLiwpAhQzh+/Dg//vgjw4cPx9HR0TJNSV4/pX0/FKnMZ0+quOsn0Ytz80l0pZT67LPPVMuWLZWdnZ3y8vJSo0ePVqmpqZbHc3Nz1ZQpU5Snp6dycnJSTz/9tFq8eHGh5URGRqoePXooo9GonJyc1P3336/GjBljOQF880lIpZTatGmTuv/++5XB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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"%matplotlib inline\n",
"from matplotlib import pyplot as plt\n",
"from matplotlib import style\n",
"import numpy as np\n",
"\n",
"def grafica(x,y,xl,yl):\n",
" style.use(\"ggplot\")\n",
" plt.title(\"Modelos de regresión por minimos cuadrados\")\n",
" plt.ylabel(\"Y\")\n",
" plt.xlabel(\"X\")\n",
" plt.plot(x,y, 'rs')\n",
" plt.legend(\"Puntos\")\n",
" plt.plot(xl,yl, 'b',linestyle = 'solid')\n",
" plt.legend((\"Puntos\",\"RegrLineal\"))\n",
" plt.axhline(0, color = \"black\")\n",
" plt.axvline(0, color = \"black\")\n",
" \n",
" plt.show()\n",
" \n",
"x = [10, 20 , 30, 40, 50, 60, 70, 80]\n",
"y = [25, 70, 380, 550, 610, 1220, 830, 1450]\n",
"n = len(x)\n",
"sumX = 0\n",
"sumY = 0\n",
"sumXY = 0\n",
"sumXX = 0\n",
"\n",
"print(f\"{'Xi':>5}{'Yi':>10s}{'Xi*Yi':>10s}{'Xi^2':>10s}\")\n",
"\n",
"print(\"------------------------------------\")\n",
"for i in range(n):\n",
" sumX += x[i]\n",
" sumY += y[i]\n",
" sumXY += (x[i])*(y[i])\n",
" sumXX += (x[i])**2\n",
" print(f\"{x[i]:5d}{y[i]:10d}{(x[i])*(y[i]):10d}{(x[i])**2:10d}\")\n",
"print(\"------------------------------------\")\n",
"print(f\"{sumX:5d}{sumY:10d}{(sumXY):10d}{sumXX:10d}\")\n",
"print(\"------------------------------------\")\n",
"print(\"\")\n",
"\n",
"a1 = ((n*sumXY)-(sumX*sumY)) / ((n*sumXX)-((sumX)**2))\n",
"a = (sumY / n) - (a1*(sumX / n))\n",
"xl = np.linspace(0, 81, num = 1000)\n",
"yl = (a1*xl) + a\n",
"print(f\"a0 = {a:3.5}\")\n",
"print(f\"a1 = {a1:3.5}\")\n",
"\n",
"if a > 0:\n",
" print(f\"f(x) = {a1:3.4f}|x + {abs(a):3.4f}\")\n",
"elif a < 0:\n",
" print(f\"f(x) = {a1:3.4f}x -{abs(a):3.4f}\")\n",
"else:\n",
" print(f\"f(x) = {a1:3.4f}x\")\n",
"\n",
"grafica(x,y,xl,yl)\n"
]
}
],
"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.7.3"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment