diff --git a/1_numpy_matplotlib_scipy_sympy/1-numpy_tutorial.ipynb b/1_numpy_matplotlib_scipy_sympy/1-numpy_tutorial.ipynb index d53e832..6458c93 100644 --- a/1_numpy_matplotlib_scipy_sympy/1-numpy_tutorial.ipynb +++ b/1_numpy_matplotlib_scipy_sympy/1-numpy_tutorial.ipynb @@ -109,6 +109,13 @@ "metadata": {}, "outputs": [ { + "name": "stdout", + "output_type": "stream", + "text": [ + "[1, 2, 3, 4]\n" + ] + }, + { "data": { "text/plain": [ "array([1, 2, 3, 4])" @@ -122,15 +129,18 @@ "source": [ "import numpy as np\n", "\n", + "a = [1, 2, 3, 4]\n", + "print(a)\n", + "\n", "# a vector: the argument to the array function is a Python list\n", - "v = np.array([1,2,3,4])\n", + "v = np.array(a)\n", "\n", "v" ] }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 6, "metadata": {}, "outputs": [ { @@ -140,6 +150,7 @@ "[[1 2]\n", " [3 4]\n", " [5 6]]\n", + "\n", "(3, 2)\n" ] } @@ -149,6 +160,46 @@ "M = np.array([[1, 2], [3, 4], [5, 6]])\n", "\n", "print(M)\n", + "print()\n", + "print(M.shape)" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[[[ 1 2]\n", + " [ 3 4]\n", + " [ 5 6]]\n", + "\n", + " [[ 3 4]\n", + " [ 5 6]\n", + " [ 7 8]]\n", + "\n", + " [[ 5 6]\n", + " [ 7 8]\n", + " [ 9 10]]\n", + "\n", + " [[ 7 8]\n", + " [ 9 10]\n", + " [11 12]]]\n", + "\n", + "(4, 3, 2)\n" + ] + } + ], + "source": [ + "M = np.array([[[1,2], [3,4], [5,6]], \\\n", + " [[3,4], [5,6], [7,8]], \\\n", + " [[5,6], [7,8], [9,10]], \\\n", + " [[7,8], [9,10], [11,12]]])\n", + "print(M)\n", + "print()\n", "print(M.shape)" ] }, @@ -161,7 +212,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 9, "metadata": {}, "outputs": [ { @@ -170,7 +221,7 @@ "(numpy.ndarray, numpy.ndarray)" ] }, - "execution_count": 6, + "execution_count": 9, "metadata": {}, "output_type": "execute_result" } @@ -188,7 +239,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 10, "metadata": {}, "outputs": [ { @@ -197,7 +248,7 @@ "(4,)" ] }, - "execution_count": 7, + "execution_count": 10, "metadata": {}, "output_type": "execute_result" } @@ -208,16 +259,16 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "(3, 2)" + "(4, 3, 2)" ] }, - "execution_count": 8, + "execution_count": 11, "metadata": {}, "output_type": "execute_result" } @@ -235,16 +286,16 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "6" + "24" ] }, - "execution_count": 9, + "execution_count": 12, "metadata": {}, "output_type": "execute_result" } @@ -262,16 +313,16 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "(3, 2)" + "(4, 3, 2)" ] }, - "execution_count": 10, + "execution_count": 13, "metadata": {}, "output_type": "execute_result" } @@ -282,16 +333,16 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "6" + "24" ] }, - "execution_count": 11, + "execution_count": 14, "metadata": {}, "output_type": "execute_result" } @@ -318,7 +369,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 15, "metadata": {}, "outputs": [ { @@ -327,7 +378,7 @@ "dtype('int64')" ] }, - "execution_count": 12, + "execution_count": 15, "metadata": {}, "output_type": "execute_result" } @@ -345,7 +396,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 17, "metadata": {}, "outputs": [ { @@ -353,15 +404,15 @@ "evalue": "invalid literal for int() with base 10: 'hello'", "output_type": "error", "traceback": [ - "\u001b[0;31m-----------------------------------------------------------\u001b[0m", - "\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)", - "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mM\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m\"hello\"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mM\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m\"hello\"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[0;31mValueError\u001b[0m: invalid literal for int() with base 10: 'hello'" ] } ], "source": [ - "M[0,0] = \"hello\"" + "M[0,0,0] = \"hello\"" ] }, { @@ -373,7 +424,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 18, "metadata": {}, "outputs": [ { @@ -383,7 +434,7 @@ " [3.+0.j, 4.+0.j]])" ] }, - "execution_count": 14, + "execution_count": 18, "metadata": {}, "output_type": "execute_result" } @@ -426,7 +477,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 19, "metadata": {}, "outputs": [ { @@ -449,7 +500,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 20, "metadata": {}, "outputs": [ { @@ -462,7 +513,7 @@ " 6.00000000e-01, 7.00000000e-01, 8.00000000e-01, 9.00000000e-01])" ] }, - "execution_count": 17, + "execution_count": 20, "metadata": {}, "output_type": "execute_result" } @@ -482,7 +533,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 21, "metadata": {}, "outputs": [ { @@ -491,7 +542,7 @@ "array([ 0. , 2.5, 5. , 7.5, 10. ])" ] }, - "execution_count": 20, + "execution_count": 21, "metadata": {}, "output_type": "execute_result" } @@ -503,7 +554,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 23, "metadata": {}, "outputs": [ { @@ -514,13 +565,13 @@ " 7.25095809e+03, 2.20264658e+04])" ] }, - "execution_count": 21, + "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "np.logspace(0, 10, 10, base=e)" + "np.logspace(0, 10, 10, base=np.e)" ] }, { @@ -532,29 +583,29 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 24, "metadata": {}, "outputs": [], "source": [ - "x, y = np.mgrid[0:5, 0:5] # 和MATLAB中的meshgrid类似" + "y, x = np.mgrid[0:5, 0:5] # 和MATLAB中的meshgrid类似" ] }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 25, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "array([[0, 0, 0, 0, 0],\n", - " [1, 1, 1, 1, 1],\n", - " [2, 2, 2, 2, 2],\n", - " [3, 3, 3, 3, 3],\n", - " [4, 4, 4, 4, 4]])" + "array([[0, 1, 2, 3, 4],\n", + " [0, 1, 2, 3, 4],\n", + " [0, 1, 2, 3, 4],\n", + " [0, 1, 2, 3, 4],\n", + " [0, 1, 2, 3, 4]])" ] }, - "execution_count": 23, + "execution_count": 25, "metadata": {}, "output_type": "execute_result" } @@ -565,20 +616,20 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 26, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "array([[0, 1, 2, 3, 4],\n", - " [0, 1, 2, 3, 4],\n", - " [0, 1, 2, 3, 4],\n", - " [0, 1, 2, 3, 4],\n", - " [0, 1, 2, 3, 4]])" + "array([[0, 0, 0, 0, 0],\n", + " [1, 1, 1, 1, 1],\n", + " [2, 2, 2, 2, 2],\n", + " [3, 3, 3, 3, 3],\n", + " [4, 4, 4, 4, 4]])" ] }, - "execution_count": 24, + "execution_count": 26, "metadata": {}, "output_type": "execute_result" } @@ -596,7 +647,7 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 27, "metadata": {}, "outputs": [], "source": [ @@ -605,45 +656,64 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 29, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "array([[0.77849722, 0.80418995, 0.05675561, 0.70158519, 0.25432473],\n", - " [0.26593179, 0.68124455, 0.75827058, 0.54821965, 0.65368682],\n", - " [0.10501453, 0.61381473, 0.32029867, 0.05271199, 0.14810179],\n", - " [0.81571699, 0.311358 , 0.00545839, 0.81465233, 0.55005373],\n", - " [0.64861977, 0.50134439, 0.11211157, 0.97227545, 0.52994903]])" + "array([[[0.05939386, 0.11090236],\n", + " [0.79171356, 0.9035595 ],\n", + " [0.91073118, 0.44563208],\n", + " [0.04466834, 0.5628772 ]],\n", + "\n", + " [[0.4416194 , 0.91226087],\n", + " [0.168705 , 0.00683321],\n", + " [0.41202402, 0.29339536],\n", + " [0.96726694, 0.95870147]],\n", + "\n", + " [[0.70866367, 0.34569454],\n", + " [0.49093219, 0.41306501],\n", + " [0.01983635, 0.20873294],\n", + " [0.20396734, 0.40334421]],\n", + "\n", + " [[0.50604792, 0.06472671],\n", + " [0.31110672, 0.24701568],\n", + " [0.24144453, 0.90806792],\n", + " [0.04381394, 0.84682658]],\n", + "\n", + " [[0.61750894, 0.92342968],\n", + " [0.55962797, 0.20718725],\n", + " [0.54104153, 0.88491054],\n", + " [0.80989667, 0.47680582]]])" ] }, - "execution_count": 26, + "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 均匀随机数在[0,1)区间\n", - "random.rand(5,5)" + "random.rand(5,4,2)" ] }, { "cell_type": "code", - "execution_count": 27, + "execution_count": 30, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "array([[-0.09235676, -0.71023602, 0.61363172, 0.49120177, 1.00102961],\n", - " [ 0.70097434, 1.98685481, -0.48047899, -0.83134067, 1.17453105],\n", - " [ 0.50057823, -0.23609257, 1.08942973, 0.03857935, -2.00169139],\n", - " [-0.09077163, 1.08568903, 0.53531071, 0.30819683, 0.40767628],\n", - " [-0.24485242, -0.15219474, 0.29362566, -0.37050405, 0.17776159]])" + "array([[ 0.11502391, -0.92395205, 0.68163698, -1.79088946, 0.14831216],\n", + " [ 0.78671373, -0.56667653, 0.7015141 , -0.06435951, -1.19476965],\n", + " [ 0.87780154, -0.46150288, -0.34295011, -0.37943472, 0.40605553],\n", + " [ 1.71869392, 1.89791292, 1.27828548, 0.09929399, 0.91991364],\n", + " [-0.2730765 , -0.39200219, -0.03646926, -1.9063281 , 1.1373957 ]])" ] }, - "execution_count": 27, + "execution_count": 30, "metadata": {}, "output_type": "execute_result" } @@ -662,7 +732,7 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 31, "metadata": {}, "outputs": [ { @@ -673,7 +743,7 @@ " [0, 0, 3]])" ] }, - "execution_count": 28, + "execution_count": 31, "metadata": {}, "output_type": "execute_result" } @@ -685,26 +755,26 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": 33, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "array([[0, 1, 0, 0],\n", - " [0, 0, 2, 0],\n", - " [0, 0, 0, 3],\n", - " [0, 0, 0, 0]])" + "array([[0, 0, 0, 0],\n", + " [1, 0, 0, 0],\n", + " [0, 2, 0, 0],\n", + " [0, 0, 3, 0]])" ] }, - "execution_count": 29, + "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 从主对角线偏移的对角线\n", - "np.diag([1,2,3], k=1) " + "np.diag([1,2,3], k=-1) " ] }, { @@ -716,7 +786,7 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": 34, "metadata": {}, "outputs": [ { @@ -727,7 +797,7 @@ " [0., 0., 0.]])" ] }, - "execution_count": 30, + "execution_count": 34, "metadata": {}, "output_type": "execute_result" } @@ -738,7 +808,7 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": 35, "metadata": {}, "outputs": [ { @@ -749,7 +819,7 @@ " [1., 1., 1.]])" ] }, - "execution_count": 31, + "execution_count": 35, "metadata": {}, "output_type": "execute_result" } @@ -781,7 +851,7 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": 36, "metadata": {}, "outputs": [ { @@ -807,7 +877,7 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": 38, "metadata": {}, "outputs": [], "source": [ @@ -817,7 +887,7 @@ }, { "cell_type": "code", - "execution_count": 34, + "execution_count": 39, "metadata": {}, "outputs": [ { @@ -826,7 +896,7 @@ "(77431, 7)" ] }, - "execution_count": 34, + "execution_count": 39, "metadata": {}, "output_type": "execute_result" } @@ -837,7 +907,7 @@ }, { "cell_type": "code", - "execution_count": 35, + "execution_count": 40, "metadata": {}, "outputs": [ { @@ -874,18 +944,18 @@ }, { "cell_type": "code", - "execution_count": 36, + "execution_count": 41, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "array([[0.14040248, 0.96924573, 0.53434945],\n", - " [0.77573698, 0.21286524, 0.68518057],\n", - " [0.32862765, 0.70297393, 0.39513101]])" + "array([[0.23335391, 0.0986599 , 0.0572248 ],\n", + " [0.69544933, 0.53988449, 0.70582772],\n", + " [0.74875206, 0.09427575, 0.7859238 ]])" ] }, - "execution_count": 36, + "execution_count": 41, "metadata": {}, "output_type": "execute_result" } @@ -898,7 +968,7 @@ }, { "cell_type": "code", - "execution_count": 37, + "execution_count": 42, "metadata": {}, "outputs": [], "source": [ @@ -907,16 +977,16 @@ }, { "cell_type": "code", - "execution_count": 38, + "execution_count": 43, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "1.404024772095778806e-01 9.692457261060815066e-01 5.343494544483793351e-01\r\n", - "7.757369846310477879e-01 2.128652371287943490e-01 6.851805738917894351e-01\r\n", - "3.286276500132384593e-01 7.029739262669426614e-01 3.951310081778761640e-01\r\n" + "2.333539099227897040e-01 9.865990104831434682e-02 5.722480315676647944e-02\r\n", + "6.954493301173710895e-01 5.398844914884662893e-01 7.058277231806755481e-01\r\n", + "7.487520572646998440e-01 9.427574847574227146e-02 7.859238035716934467e-01\r\n" ] } ], @@ -926,16 +996,16 @@ }, { "cell_type": "code", - "execution_count": 39, + "execution_count": 44, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "0.14040 0.96925 0.53435\r\n", - "0.77574 0.21287 0.68518\r\n", - "0.32863 0.70297 0.39513\r\n" + "0.23335 0.09866 0.05722\r\n", + "0.69545 0.53988 0.70583\r\n", + "0.74875 0.09428 0.78592\r\n" ] } ], @@ -961,7 +1031,7 @@ }, { "cell_type": "code", - "execution_count": 40, + "execution_count": 45, "metadata": {}, "outputs": [ { @@ -980,18 +1050,18 @@ }, { "cell_type": "code", - "execution_count": 41, + "execution_count": 46, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "array([[0.14040248, 0.96924573, 0.53434945],\n", - " [0.77573698, 0.21286524, 0.68518057],\n", - " [0.32862765, 0.70297393, 0.39513101]])" + "array([[0.23335391, 0.0986599 , 0.0572248 ],\n", + " [0.69544933, 0.53988449, 0.70582772],\n", + " [0.74875206, 0.09427575, 0.7859238 ]])" ] }, - "execution_count": 41, + "execution_count": 46, "metadata": {}, "output_type": "execute_result" } @@ -1009,7 +1079,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 47, "metadata": {}, "outputs": [ { @@ -1030,7 +1100,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 48, "metadata": {}, "outputs": [ { @@ -1039,7 +1109,7 @@ "48" ] }, - "execution_count": 5, + "execution_count": 48, "metadata": {}, "output_type": "execute_result" } @@ -1050,7 +1120,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 49, "metadata": {}, "outputs": [ { @@ -1059,7 +1129,7 @@ "2" ] }, - "execution_count": 6, + "execution_count": 49, "metadata": {}, "output_type": "execute_result" } @@ -1091,7 +1161,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 50, "metadata": {}, "outputs": [ { @@ -1100,7 +1170,7 @@ "1" ] }, - "execution_count": 7, + "execution_count": 50, "metadata": {}, "output_type": "execute_result" } @@ -1113,7 +1183,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 51, "metadata": {}, "outputs": [ { @@ -1143,7 +1213,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 52, "metadata": {}, "outputs": [ { @@ -1154,7 +1224,7 @@ " [5, 6]])" ] }, - "execution_count": 9, + "execution_count": 52, "metadata": {}, "output_type": "execute_result" } @@ -1165,7 +1235,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 53, "metadata": {}, "outputs": [ { @@ -1174,7 +1244,7 @@ "array([3, 4])" ] }, - "execution_count": 10, + "execution_count": 53, "metadata": {}, "output_type": "execute_result" } @@ -1192,7 +1262,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 54, "metadata": {}, "outputs": [ { @@ -1201,7 +1271,7 @@ "array([3, 4])" ] }, - "execution_count": 11, + "execution_count": 54, "metadata": {}, "output_type": "execute_result" } @@ -1212,7 +1282,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 55, "metadata": {}, "outputs": [ { @@ -1221,7 +1291,7 @@ "array([2, 4, 6])" ] }, - "execution_count": 12, + "execution_count": 55, "metadata": {}, "output_type": "execute_result" } @@ -1239,7 +1309,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 56, "metadata": {}, "outputs": [], "source": [ @@ -1248,7 +1318,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 57, "metadata": {}, "outputs": [ { @@ -1259,7 +1329,7 @@ " [5, 6]])" ] }, - "execution_count": 14, + "execution_count": 57, "metadata": {}, "output_type": "execute_result" } @@ -1270,7 +1340,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 58, "metadata": {}, "outputs": [], "source": [ @@ -1281,18 +1351,18 @@ }, { "cell_type": "code", - "execution_count": 51, + "execution_count": 59, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "array([[ 1. , 0.96924573, -1. ],\n", - " [ 0. , 0. , -1. ],\n", - " [ 0.32862765, 0.70297393, -1. ]])" + "array([[ 1, -1],\n", + " [ 0, -1],\n", + " [ 5, -1]])" ] }, - "execution_count": 51, + "execution_count": 59, "metadata": {}, "output_type": "execute_result" } @@ -1317,7 +1387,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 60, "metadata": {}, "outputs": [ { @@ -1326,7 +1396,7 @@ "array([1, 2, 3, 4, 5])" ] }, - "execution_count": 17, + "execution_count": 60, "metadata": {}, "output_type": "execute_result" } @@ -1338,7 +1408,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 61, "metadata": {}, "outputs": [ { @@ -1347,7 +1417,7 @@ "array([2, 3])" ] }, - "execution_count": 18, + "execution_count": 61, "metadata": {}, "output_type": "execute_result" } @@ -1365,7 +1435,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 62, "metadata": {}, "outputs": [ { @@ -1374,7 +1444,7 @@ "array([ 1, -2, -3, 4, 5])" ] }, - "execution_count": 19, + "execution_count": 62, "metadata": {}, "output_type": "execute_result" } @@ -1396,7 +1466,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 63, "metadata": {}, "outputs": [ { @@ -1405,7 +1475,7 @@ "array([ 1, -2, -3, 4, 5])" ] }, - "execution_count": 20, + "execution_count": 63, "metadata": {}, "output_type": "execute_result" } @@ -1416,7 +1486,7 @@ }, { "cell_type": "code", - "execution_count": 57, + "execution_count": 64, "metadata": {}, "outputs": [ { @@ -1425,7 +1495,7 @@ "array([ 1, -2, -3, 4, 5])" ] }, - "execution_count": 57, + "execution_count": 64, "metadata": {}, "output_type": "execute_result" } @@ -1436,7 +1506,7 @@ }, { "cell_type": "code", - "execution_count": 58, + "execution_count": 65, "metadata": {}, "outputs": [ { @@ -1445,7 +1515,7 @@ "array([ 1, -3, 5])" ] }, - "execution_count": 58, + "execution_count": 65, "metadata": {}, "output_type": "execute_result" } @@ -1456,7 +1526,7 @@ }, { "cell_type": "code", - "execution_count": 59, + "execution_count": 66, "metadata": {}, "outputs": [ { @@ -1465,7 +1535,7 @@ "array([ 1, -2, -3])" ] }, - "execution_count": 59, + "execution_count": 66, "metadata": {}, "output_type": "execute_result" } @@ -1476,7 +1546,7 @@ }, { "cell_type": "code", - "execution_count": 60, + "execution_count": 67, "metadata": {}, "outputs": [ { @@ -1485,7 +1555,7 @@ "array([4, 5])" ] }, - "execution_count": 60, + "execution_count": 67, "metadata": {}, "output_type": "execute_result" } @@ -1503,7 +1573,7 @@ }, { "cell_type": "code", - "execution_count": 61, + "execution_count": 68, "metadata": {}, "outputs": [], "source": [ @@ -1512,7 +1582,7 @@ }, { "cell_type": "code", - "execution_count": 62, + "execution_count": 69, "metadata": {}, "outputs": [ { @@ -1521,7 +1591,7 @@ "5" ] }, - "execution_count": 62, + "execution_count": 69, "metadata": {}, "output_type": "execute_result" } @@ -1532,7 +1602,7 @@ }, { "cell_type": "code", - "execution_count": 63, + "execution_count": 70, "metadata": {}, "outputs": [ { @@ -1541,7 +1611,7 @@ "array([3, 4, 5])" ] }, - "execution_count": 63, + "execution_count": 70, "metadata": {}, "output_type": "execute_result" } @@ -1559,7 +1629,7 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 71, "metadata": {}, "outputs": [ { @@ -1572,7 +1642,7 @@ " [40, 41, 42, 43, 44]])" ] }, - "execution_count": 24, + "execution_count": 71, "metadata": {}, "output_type": "execute_result" } @@ -1585,7 +1655,7 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 72, "metadata": {}, "outputs": [ { @@ -1596,7 +1666,7 @@ " [31, 32, 33]])" ] }, - "execution_count": 25, + "execution_count": 72, "metadata": {}, "output_type": "execute_result" } @@ -1645,7 +1715,7 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 74, "metadata": {}, "outputs": [ { @@ -1673,7 +1743,7 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": 75, "metadata": {}, "outputs": [ { @@ -1682,7 +1752,7 @@ "array([11, 21, 34])" ] }, - "execution_count": 27, + "execution_count": 75, "metadata": {}, "output_type": "execute_result" } @@ -1701,7 +1771,7 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 77, "metadata": {}, "outputs": [ { @@ -1710,19 +1780,19 @@ "array([0, 1, 2, 3, 4])" ] }, - "execution_count": 28, + "execution_count": 77, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "B = array([n for n in range(5)])\n", + "B = np.array([n for n in range(5)])\n", "B" ] }, { "cell_type": "code", - "execution_count": 29, + "execution_count": 79, "metadata": {}, "outputs": [ { @@ -1731,19 +1801,19 @@ "array([0, 2])" ] }, - "execution_count": 29, + "execution_count": 79, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "row_mask = array([True, False, True, False, False])\n", + "row_mask = np.array([True, False, True, False, False])\n", "B[row_mask]" ] }, { "cell_type": "code", - "execution_count": 72, + "execution_count": 81, "metadata": {}, "outputs": [ { @@ -1752,14 +1822,14 @@ "array([0, 2])" ] }, - "execution_count": 72, + "execution_count": 81, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 相同的事情\n", - "row_mask = array([1,0,1,0,0], dtype=bool)\n", + "row_mask = np.array([1,0,1,0,0], dtype=bool)\n", "B[row_mask]" ] }, @@ -1772,7 +1842,7 @@ }, { "cell_type": "code", - "execution_count": 73, + "execution_count": 82, "metadata": {}, "outputs": [ { @@ -1782,7 +1852,7 @@ " 6.5, 7. , 7.5, 8. , 8.5, 9. , 9.5])" ] }, - "execution_count": 73, + "execution_count": 82, "metadata": {}, "output_type": "execute_result" } @@ -1794,7 +1864,7 @@ }, { "cell_type": "code", - "execution_count": 74, + "execution_count": 84, "metadata": {}, "outputs": [ { @@ -1805,7 +1875,7 @@ " False, False])" ] }, - "execution_count": 74, + "execution_count": 84, "metadata": {}, "output_type": "execute_result" } @@ -1818,7 +1888,7 @@ }, { "cell_type": "code", - "execution_count": 72, + "execution_count": 85, "metadata": {}, "outputs": [ { @@ -1827,7 +1897,7 @@ "array([5.5, 6. , 6.5, 7. ])" ] }, - "execution_count": 72, + "execution_count": 85, "metadata": {}, "output_type": "execute_result" } @@ -1838,7 +1908,7 @@ }, { "cell_type": "code", - "execution_count": 75, + "execution_count": 86, "metadata": {}, "outputs": [ { @@ -1847,7 +1917,7 @@ "array([3.5, 4. , 4.5, 5. , 5.5])" ] }, - "execution_count": 75, + "execution_count": 86, "metadata": {}, "output_type": "execute_result" } @@ -1879,7 +1949,7 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": 88, "metadata": {}, "outputs": [ { @@ -1888,7 +1958,7 @@ "(array([11, 12, 13, 14]),)" ] }, - "execution_count": 32, + "execution_count": 88, "metadata": {}, "output_type": "execute_result" } @@ -1904,7 +1974,7 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": 89, "metadata": {}, "outputs": [ { @@ -1913,7 +1983,7 @@ "array([5.5, 6. , 6.5, 7. ])" ] }, - "execution_count": 33, + "execution_count": 89, "metadata": {}, "output_type": "execute_result" } @@ -1938,7 +2008,7 @@ }, { "cell_type": "code", - "execution_count": 34, + "execution_count": 90, "metadata": {}, "outputs": [ { @@ -1947,7 +2017,7 @@ "array([ 0, 11, 22, 33, 44])" ] }, - "execution_count": 34, + "execution_count": 90, "metadata": {}, "output_type": "execute_result" } @@ -1958,7 +2028,7 @@ }, { "cell_type": "code", - "execution_count": 35, + "execution_count": 91, "metadata": {}, "outputs": [ { @@ -1967,7 +2037,7 @@ "array([10, 21, 32, 43])" ] }, - "execution_count": 35, + "execution_count": 91, "metadata": {}, "output_type": "execute_result" } @@ -1992,7 +2062,7 @@ }, { "cell_type": "code", - "execution_count": 36, + "execution_count": 92, "metadata": {}, "outputs": [ { @@ -2001,7 +2071,7 @@ "array([-3, -2, -1, 0, 1, 2])" ] }, - "execution_count": 36, + "execution_count": 92, "metadata": {}, "output_type": "execute_result" } @@ -2013,7 +2083,7 @@ }, { "cell_type": "code", - "execution_count": 37, + "execution_count": 93, "metadata": {}, "outputs": [ { @@ -2022,7 +2092,7 @@ "array([-2, 0, 2])" ] }, - "execution_count": 37, + "execution_count": 93, "metadata": {}, "output_type": "execute_result" } @@ -2061,7 +2131,7 @@ }, { "cell_type": "code", - "execution_count": 39, + "execution_count": 94, "metadata": {}, "outputs": [ { @@ -2070,7 +2140,7 @@ "array([-2, 0, 2])" ] }, - "execution_count": 39, + "execution_count": 94, "metadata": {}, "output_type": "execute_result" } @@ -2095,7 +2165,7 @@ }, { "cell_type": "code", - "execution_count": 84, + "execution_count": 95, "metadata": {}, "outputs": [ { @@ -2104,7 +2174,7 @@ "array([ 5, -2, 5, -2])" ] }, - "execution_count": 84, + "execution_count": 95, "metadata": {}, "output_type": "execute_result" } @@ -2146,7 +2216,7 @@ }, { "cell_type": "code", - "execution_count": 40, + "execution_count": 96, "metadata": {}, "outputs": [], "source": [ @@ -2157,7 +2227,7 @@ }, { "cell_type": "code", - "execution_count": 41, + "execution_count": 97, "metadata": {}, "outputs": [ { @@ -2166,7 +2236,7 @@ "array([0, 2, 4, 6, 8])" ] }, - "execution_count": 41, + "execution_count": 97, "metadata": {}, "output_type": "execute_result" } @@ -2197,7 +2267,7 @@ }, { "cell_type": "code", - "execution_count": 43, + "execution_count": 98, "metadata": {}, "outputs": [ { @@ -2215,7 +2285,7 @@ " [42, 43, 44, 45, 46]]))" ] }, - "execution_count": 43, + "execution_count": 98, "metadata": {}, "output_type": "execute_result" } @@ -2242,17 +2312,17 @@ }, { "cell_type": "code", - "execution_count": 44, + "execution_count": 99, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "array([[0.01114895, 0.05665904, 0.29848178],\n", - " [0.05093977, 0.00040534, 0.14069349]])" + "array([[0.4704086 , 0.04100762, 0.31167633],\n", + " [0.66134738, 0.47887988, 0.09973749]])" ] }, - "execution_count": 44, + "execution_count": 99, "metadata": {}, "output_type": "execute_result" } @@ -2265,21 +2335,22 @@ }, { "cell_type": "code", - "execution_count": 45, + "execution_count": 106, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "array([ 0, 1, 4, 9, 16])" + "array([1., 4.])" ] }, - "execution_count": 45, + "execution_count": 106, "metadata": {}, "output_type": "execute_result" } ], "source": [ + "v1 = np.array([1.0, 2.0])\n", "v1 * v1" ] }, @@ -2292,16 +2363,16 @@ }, { "cell_type": "code", - "execution_count": 46, + "execution_count": 107, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "((2, 3), (5,))" + "((2, 3), (2,))" ] }, - "execution_count": 46, + "execution_count": 107, "metadata": {}, "output_type": "execute_result" } @@ -2312,18 +2383,18 @@ }, { "cell_type": "code", - "execution_count": 47, + "execution_count": 108, "metadata": {}, "outputs": [ { "ename": "ValueError", - "evalue": "operands could not be broadcast together with shapes (2,3) (5,) ", + "evalue": "operands could not be broadcast together with shapes (2,3) (2,) ", "output_type": "error", "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)", - "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mA\u001b[0m \u001b[0;34m*\u001b[0m \u001b[0mv1\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", - "\u001b[0;31mValueError\u001b[0m: operands could not be broadcast together with shapes (2,3) (5,) " + "\u001b[0;31m-----------------------------------------------------------\u001b[0m", + "\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mA\u001b[0m \u001b[0;34m*\u001b[0m \u001b[0mv1\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[0;31mValueError\u001b[0m: operands could not be broadcast together with shapes (2,3) (2,) " ] } ], @@ -2347,43 +2418,47 @@ }, { "cell_type": "code", - "execution_count": 48, + "execution_count": 124, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "array([[1.903065 , 1.67919746, 2.3622027 , 1.88412044, 1.11105008],\n", - " [1.41054459, 1.8120306 , 1.88727633, 1.43014072, 0.86699677],\n", - " [1.66542157, 1.50549264, 1.92165524, 1.68084913, 0.96953227],\n", - " [2.60415277, 2.45432125, 3.10136235, 2.57384453, 1.3456306 ],\n", - " [1.2318307 , 1.12068957, 1.38086198, 1.18571816, 0.5442449 ]])" + "array([[0.93919112, 1.70487505, 1.76705439, 1.3495362 , 1.46609022],\n", + " [0.8343938 , 1.88658078, 1.31805554, 1.24245149, 0.96131716],\n", + " [0.79755253, 1.70825859, 1.44585397, 1.04582713, 1.1244295 ],\n", + " [0.11333111, 0.60861172, 0.48009346, 0.70933735, 0.57239177],\n", + " [0.58048796, 1.28344711, 1.36267101, 1.10752867, 1.27728192]])" ] }, - "execution_count": 48, + "execution_count": 124, "metadata": {}, "output_type": "execute_result" } ], "source": [ "A = np.random.rand(5, 5)\n", - "v = np.random.rand(5, 1)\n", + "v1 = np.random.rand(5, 1)\n", "\n", "np.dot(A, A)" ] }, { "cell_type": "code", - "execution_count": 49, + "execution_count": 125, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "array([5.14498999, 4.21899366, 6.02247961, 7.06795814, 2.91510261])" + "array([[1.05508837],\n", + " [1.01103735],\n", + " [0.88771095],\n", + " [0.34107892],\n", + " [0.78814586]])" ] }, - "execution_count": 49, + "execution_count": 125, "metadata": {}, "output_type": "execute_result" } @@ -2394,22 +2469,22 @@ }, { "cell_type": "code", - "execution_count": 50, + "execution_count": 126, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "30" + "array([[1.08640806]])" ] }, - "execution_count": 50, + "execution_count": 126, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "np.dot(v1, v1)" + "np.dot(v1.T, v1)" ] }, { @@ -2421,7 +2496,7 @@ }, { "cell_type": "code", - "execution_count": 51, + "execution_count": 127, "metadata": {}, "outputs": [], "source": [ @@ -2431,20 +2506,16 @@ }, { "cell_type": "code", - "execution_count": 52, + "execution_count": 128, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "matrix([[0],\n", - " [1],\n", - " [2],\n", - " [3],\n", - " [4]])" + "matrix([[0.65312574, 0.36553623, 0.01310058, 0.18549019, 0.70117034]])" ] }, - "execution_count": 52, + "execution_count": 128, "metadata": {}, "output_type": "execute_result" } @@ -2455,20 +2526,20 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 129, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "matrix([[0.72376121, 1.02741179, 1.84320475, 1.4644025 , 0.93766737],\n", - " [0.93371216, 1.36026092, 1.81889819, 1.83440464, 1.04760436],\n", - " [1.09260054, 1.80363181, 2.27237106, 2.28907943, 1.42251772],\n", - " [0.53394728, 1.08528537, 1.22967423, 1.23649788, 0.90293134],\n", - " [0.71121961, 1.11261141, 1.74864104, 1.46510406, 0.95440664]])" + "matrix([[0.93919112, 1.70487505, 1.76705439, 1.3495362 , 1.46609022],\n", + " [0.8343938 , 1.88658078, 1.31805554, 1.24245149, 0.96131716],\n", + " [0.79755253, 1.70825859, 1.44585397, 1.04582713, 1.1244295 ],\n", + " [0.11333111, 0.60861172, 0.48009346, 0.70933735, 0.57239177],\n", + " [0.58048796, 1.28344711, 1.36267101, 1.10752867, 1.27728192]])" ] }, - "execution_count": 15, + "execution_count": 129, "metadata": {}, "output_type": "execute_result" } @@ -2479,47 +2550,47 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 131, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "matrix([[5.346923 ],\n", - " [6.32008278],\n", - " [7.66667311],\n", - " [3.19229347],\n", - " [4.84861051]])" + "matrix([[1.05508837],\n", + " [1.01103735],\n", + " [0.88771095],\n", + " [0.34107892],\n", + " [0.78814586]])" ] }, - "execution_count": 16, + "execution_count": 131, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "M * v" + "M * v.T" ] }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 133, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "matrix([[30]])" + "matrix([[1.08640806]])" ] }, - "execution_count": 18, + "execution_count": 133, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 內积\n", - "v.T * v" + "v * v.T" ] }, { @@ -2556,7 +2627,7 @@ }, { "cell_type": "code", - "execution_count": 125, + "execution_count": 134, "metadata": {}, "outputs": [], "source": [ @@ -2565,16 +2636,16 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 135, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "((5, 5), (5, 1))" + "((5, 5), (6, 1))" ] }, - "execution_count": 20, + "execution_count": 135, "metadata": {}, "output_type": "execute_result" } @@ -2585,22 +2656,21 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 136, "metadata": {}, "outputs": [ { - "data": { - "text/plain": [ - "matrix([[5.346923 ],\n", - " [6.32008278],\n", - " [7.66667311],\n", - " [3.19229347],\n", - " [4.84861051]])" - ] - }, - "execution_count": 21, - "metadata": {}, - "output_type": "execute_result" + "ename": "ValueError", + "evalue": "shapes (5,5) and (6,1) not aligned: 5 (dim 1) != 6 (dim 0)", + "output_type": "error", + "traceback": [ + "\u001b[0;31m-----------------------------------------------------------\u001b[0m", + "\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mM\u001b[0m \u001b[0;34m*\u001b[0m \u001b[0mv\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[0;32m~/virtualenv/dl/lib/python3.6/site-packages/numpy/matrixlib/defmatrix.py\u001b[0m in \u001b[0;36m__mul__\u001b[0;34m(self, other)\u001b[0m\n\u001b[1;32m 218\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0misinstance\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mother\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mN\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mndarray\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlist\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtuple\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 219\u001b[0m \u001b[0;31m# This promotes 1-D vectors to row vectors\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 220\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mN\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdot\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0masmatrix\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mother\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 221\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0misscalar\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mother\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mor\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0mhasattr\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mother\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m'__rmul__'\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 222\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mN\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdot\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mother\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m<__array_function__ internals>\u001b[0m in \u001b[0;36mdot\u001b[0;34m(*args, **kwargs)\u001b[0m\n", + "\u001b[0;31mValueError\u001b[0m: shapes (5,5) and (6,1) not aligned: 5 (dim 1) != 6 (dim 0)" + ] } ], "source": [ @@ -2632,20 +2702,20 @@ }, { "cell_type": "code", - "execution_count": 53, + "execution_count": 137, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "[[0.45130455 0.64330743 0.28059702 0.37347175]\n", - " [0.88485087 0.9022088 0.6700072 0.10678579]\n", - " [0.98276964 0.05115262 0.29053376 0.40809875]]\n", - "[[0.45130455 0.88485087 0.98276964]\n", - " [0.64330743 0.9022088 0.05115262]\n", - " [0.28059702 0.6700072 0.29053376]\n", - " [0.37347175 0.10678579 0.40809875]]\n" + "[[0.59227725 0.17647736 0.32760242 0.94853282]\n", + " [0.47433311 0.96295875 0.53835066 0.65341328]\n", + " [0.31043303 0.91920326 0.11855559 0.96115268]]\n", + "[[0.59227725 0.47433311 0.31043303]\n", + " [0.17647736 0.96295875 0.91920326]\n", + " [0.32760242 0.53835066 0.11855559]\n", + " [0.94853282 0.65341328 0.96115268]]\n" ] } ], @@ -2657,7 +2727,7 @@ }, { "cell_type": "code", - "execution_count": 54, + "execution_count": 138, "metadata": {}, "outputs": [ { @@ -2667,7 +2737,7 @@ " [0.+3.j, 0.+4.j]])" ] }, - "execution_count": 54, + "execution_count": 138, "metadata": {}, "output_type": "execute_result" } @@ -2679,7 +2749,7 @@ }, { "cell_type": "code", - "execution_count": 55, + "execution_count": 139, "metadata": {}, "outputs": [ { @@ -2689,7 +2759,7 @@ " [0.-3.j, 0.-4.j]])" ] }, - "execution_count": 55, + "execution_count": 139, "metadata": {}, "output_type": "execute_result" } @@ -2707,7 +2777,7 @@ }, { "cell_type": "code", - "execution_count": 56, + "execution_count": 140, "metadata": {}, "outputs": [ { @@ -2717,7 +2787,7 @@ " [0.-2.j, 0.-4.j]])" ] }, - "execution_count": 56, + "execution_count": 140, "metadata": {}, "output_type": "execute_result" } @@ -2735,7 +2805,7 @@ }, { "cell_type": "code", - "execution_count": 57, + "execution_count": 141, "metadata": {}, "outputs": [ { @@ -2745,7 +2815,7 @@ " [0., 0.]])" ] }, - "execution_count": 57, + "execution_count": 141, "metadata": {}, "output_type": "execute_result" } @@ -2756,7 +2826,7 @@ }, { "cell_type": "code", - "execution_count": 58, + "execution_count": 142, "metadata": {}, "outputs": [ { @@ -2766,7 +2836,7 @@ " [3., 4.]])" ] }, - "execution_count": 58, + "execution_count": 142, "metadata": {}, "output_type": "execute_result" } @@ -2784,7 +2854,7 @@ }, { "cell_type": "code", - "execution_count": 59, + "execution_count": 143, "metadata": {}, "outputs": [ { @@ -2794,7 +2864,7 @@ " [1.24904577, 1.32581766]])" ] }, - "execution_count": 59, + "execution_count": 143, "metadata": {}, "output_type": "execute_result" } @@ -2805,7 +2875,7 @@ }, { "cell_type": "code", - "execution_count": 60, + "execution_count": 144, "metadata": {}, "outputs": [ { @@ -2815,7 +2885,7 @@ " [3., 4.]])" ] }, - "execution_count": 60, + "execution_count": 144, "metadata": {}, "output_type": "execute_result" } @@ -2840,7 +2910,7 @@ }, { "cell_type": "code", - "execution_count": 61, + "execution_count": 145, "metadata": {}, "outputs": [ { @@ -2850,7 +2920,7 @@ " [0.-1.5j, 0.+0.5j]])" ] }, - "execution_count": 61, + "execution_count": 145, "metadata": {}, "output_type": "execute_result" } @@ -2861,7 +2931,7 @@ }, { "cell_type": "code", - "execution_count": 62, + "execution_count": 146, "metadata": {}, "outputs": [ { @@ -2871,7 +2941,7 @@ " [1.11022302e-16+0.j, 1.00000000e+00+0.j]])" ] }, - "execution_count": 62, + "execution_count": 146, "metadata": {}, "output_type": "execute_result" } @@ -2889,7 +2959,7 @@ }, { "cell_type": "code", - "execution_count": 63, + "execution_count": 147, "metadata": {}, "outputs": [ { @@ -2898,7 +2968,7 @@ "(2.0000000000000004+0j)" ] }, - "execution_count": 63, + "execution_count": 147, "metadata": {}, "output_type": "execute_result" } @@ -2909,7 +2979,7 @@ }, { "cell_type": "code", - "execution_count": 64, + "execution_count": 148, "metadata": {}, "outputs": [ { @@ -2918,7 +2988,7 @@ "(0.49999999999999967+0j)" ] }, - "execution_count": 64, + "execution_count": 148, "metadata": {}, "output_type": "execute_result" } @@ -2945,7 +3015,7 @@ }, { "cell_type": "code", - "execution_count": 65, + "execution_count": 149, "metadata": {}, "outputs": [ { @@ -2954,7 +3024,7 @@ "(77431, 7)" ] }, - "execution_count": 65, + "execution_count": 149, "metadata": {}, "output_type": "execute_result" } @@ -2976,7 +3046,7 @@ }, { "cell_type": "code", - "execution_count": 66, + "execution_count": 150, "metadata": {}, "outputs": [ { @@ -2992,7 +3062,7 @@ "6.197109684751585" ] }, - "execution_count": 66, + "execution_count": 150, "metadata": {}, "output_type": "execute_result" } @@ -3005,16 +3075,16 @@ }, { "cell_type": "code", - "execution_count": 67, + "execution_count": 151, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "0.536617668205844" + "0.49494514118786737" ] }, - "execution_count": 67, + "execution_count": 151, "metadata": {}, "output_type": "execute_result" } @@ -3040,7 +3110,7 @@ }, { "cell_type": "code", - "execution_count": 68, + "execution_count": 152, "metadata": {}, "outputs": [ { @@ -3049,7 +3119,7 @@ "(8.282271621340573, 68.59602320966341)" ] }, - "execution_count": 68, + "execution_count": 152, "metadata": {}, "output_type": "execute_result" } @@ -3067,7 +3137,7 @@ }, { "cell_type": "code", - "execution_count": 69, + "execution_count": 153, "metadata": {}, "outputs": [ { @@ -3076,7 +3146,7 @@ "-25.8" ] }, - "execution_count": 69, + "execution_count": 153, "metadata": {}, "output_type": "execute_result" } @@ -3088,7 +3158,7 @@ }, { "cell_type": "code", - "execution_count": 70, + "execution_count": 154, "metadata": {}, "outputs": [ { @@ -3097,7 +3167,7 @@ "28.3" ] }, - "execution_count": 70, + "execution_count": 154, "metadata": {}, "output_type": "execute_result" } @@ -3116,7 +3186,7 @@ }, { "cell_type": "code", - "execution_count": 44, + "execution_count": 156, "metadata": {}, "outputs": [ { @@ -3125,7 +3195,7 @@ "array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])" ] }, - "execution_count": 44, + "execution_count": 156, "metadata": {}, "output_type": "execute_result" } @@ -3137,7 +3207,7 @@ }, { "cell_type": "code", - "execution_count": 45, + "execution_count": 157, "metadata": {}, "outputs": [ { @@ -3146,7 +3216,7 @@ "45" ] }, - "execution_count": 45, + "execution_count": 157, "metadata": {}, "output_type": "execute_result" } @@ -3158,7 +3228,7 @@ }, { "cell_type": "code", - "execution_count": 46, + "execution_count": 158, "metadata": {}, "outputs": [ { @@ -3167,7 +3237,7 @@ "3628800" ] }, - "execution_count": 46, + "execution_count": 158, "metadata": {}, "output_type": "execute_result" } @@ -3179,7 +3249,7 @@ }, { "cell_type": "code", - "execution_count": 47, + "execution_count": 159, "metadata": {}, "outputs": [ { @@ -3188,7 +3258,7 @@ "array([ 0, 1, 3, 6, 10, 15, 21, 28, 36, 45])" ] }, - "execution_count": 47, + "execution_count": 159, "metadata": {}, "output_type": "execute_result" } @@ -3200,7 +3270,7 @@ }, { "cell_type": "code", - "execution_count": 48, + "execution_count": 160, "metadata": {}, "outputs": [ { @@ -3210,28 +3280,28 @@ " 40320, 362880, 3628800])" ] }, - "execution_count": 48, + "execution_count": 160, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "# 累计成绩\n", + "# 累计乘积\n", "np.cumprod(d+1)" ] }, { "cell_type": "code", - "execution_count": 49, + "execution_count": 161, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "1.5460218417057932" + "1.2869808487677687" ] }, - "execution_count": 49, + "execution_count": 161, "metadata": {}, "output_type": "execute_result" } @@ -3259,7 +3329,7 @@ }, { "cell_type": "code", - "execution_count": 50, + "execution_count": 162, "metadata": {}, "outputs": [ { @@ -3287,7 +3357,7 @@ }, { "cell_type": "code", - "execution_count": 51, + "execution_count": 163, "metadata": {}, "outputs": [ { @@ -3296,7 +3366,7 @@ "array([ 1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12.])" ] }, - "execution_count": 51, + "execution_count": 163, "metadata": {}, "output_type": "execute_result" } @@ -3307,7 +3377,7 @@ }, { "cell_type": "code", - "execution_count": 52, + "execution_count": 164, "metadata": {}, "outputs": [ { @@ -3325,7 +3395,7 @@ }, { "cell_type": "code", - "execution_count": 53, + "execution_count": 165, "metadata": {}, "outputs": [ { @@ -3352,7 +3422,7 @@ }, { "cell_type": "code", - "execution_count": 55, + "execution_count": 166, "metadata": {}, "outputs": [ { @@ -3397,19 +3467,19 @@ }, { "cell_type": "code", - "execution_count": 60, + "execution_count": 167, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "array([[0.46711096, 0.38705469, 0.62367441],\n", - " [0.50990001, 0.88175455, 0.04836426],\n", - " [0.31805034, 0.91664942, 0.47970972],\n", - " [0.85967069, 0.14985438, 0.17380319]])" + "array([[0.28760836, 0.74204101, 0.39567837],\n", + " [0.74805878, 0.405101 , 0.13400733],\n", + " [0.55124625, 0.98346507, 0.88726029],\n", + " [0.92808432, 0.75063001, 0.5832612 ]])" ] }, - "execution_count": 60, + "execution_count": 167, "metadata": {}, "output_type": "execute_result" } @@ -3423,16 +3493,16 @@ }, { "cell_type": "code", - "execution_count": 61, + "execution_count": 168, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "0.916649423466619" + "0.9834650747647675" ] }, - "execution_count": 61, + "execution_count": 168, "metadata": {}, "output_type": "execute_result" } @@ -3444,16 +3514,16 @@ }, { "cell_type": "code", - "execution_count": 62, + "execution_count": 169, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "array([0.85967069, 0.91664942, 0.62367441])" + "array([0.92808432, 0.98346507, 0.88726029])" ] }, - "execution_count": 62, + "execution_count": 169, "metadata": {}, "output_type": "execute_result" } @@ -3465,16 +3535,16 @@ }, { "cell_type": "code", - "execution_count": 63, + "execution_count": 170, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "array([0.62367441, 0.88175455, 0.91664942, 0.85967069])" + "array([0.74204101, 0.74805878, 0.98346507, 0.92808432])" ] }, - "execution_count": 63, + "execution_count": 170, "metadata": {}, "output_type": "execute_result" } @@ -3507,17 +3577,17 @@ }, { "cell_type": "code", - "execution_count": 64, + "execution_count": 171, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "[[0.20200219 0.38766948 0.49383531]\n", - " [0.88519418 0.96898662 0.39487907]\n", - " [0.09463889 0.99524018 0.86314414]\n", - " [0.73508854 0.14591709 0.73610788]]\n" + "[[0.98346378 0.63646196 0.08381973]\n", + " [0.21685601 0.27589121 0.0874428 ]\n", + " [0.96690659 0.95725769 0.52492868]\n", + " [0.98482663 0.90069241 0.42153789]]\n" ] } ], @@ -3530,7 +3600,7 @@ }, { "cell_type": "code", - "execution_count": 65, + "execution_count": 172, "metadata": {}, "outputs": [ { @@ -3548,18 +3618,18 @@ }, { "cell_type": "code", - "execution_count": 66, + "execution_count": 173, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "array([[0.20200219, 0.38766948, 0.49383531, 0.88519418, 0.96898662,\n", - " 0.39487907, 0.09463889, 0.99524018, 0.86314414, 0.73508854,\n", - " 0.14591709, 0.73610788]])" + "array([[0.98346378, 0.63646196, 0.08381973, 0.21685601, 0.27589121,\n", + " 0.0874428 , 0.96690659, 0.95725769, 0.52492868, 0.98482663,\n", + " 0.90069241, 0.42153789]])" ] }, - "execution_count": 66, + "execution_count": 173, "metadata": {}, "output_type": "execute_result" } @@ -3571,25 +3641,25 @@ }, { "cell_type": "code", - "execution_count": 68, + "execution_count": 174, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "[[0.20200219]\n", - " [0.38766948]\n", - " [0.49383531]\n", - " [0.88519418]\n", - " [0.96898662]\n", - " [0.39487907]\n", - " [0.09463889]\n", - " [0.99524018]\n", - " [0.86314414]\n", - " [0.73508854]\n", - " [0.14591709]\n", - " [0.73610788]]\n", + "[[0.98346378]\n", + " [0.63646196]\n", + " [0.08381973]\n", + " [0.21685601]\n", + " [0.27589121]\n", + " [0.0874428 ]\n", + " [0.96690659]\n", + " [0.95725769]\n", + " [0.52492868]\n", + " [0.98482663]\n", + " [0.90069241]\n", + " [0.42153789]]\n", "(12, 1)\n" ] } @@ -3602,18 +3672,18 @@ }, { "cell_type": "code", - "execution_count": 69, + "execution_count": 176, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[5. , 5. , 5. , 5. , 5. ,\n", - " 0.39487907, 0.09463889, 0.99524018, 0.86314414, 0.73508854,\n", - " 0.14591709, 0.73610788]])" + " 0.0874428 , 0.96690659, 0.95725769, 0.52492868, 0.98482663,\n", + " 0.90069241, 0.42153789]])" ] }, - "execution_count": 69, + "execution_count": 176, "metadata": {}, "output_type": "execute_result" } @@ -3626,19 +3696,19 @@ }, { "cell_type": "code", - "execution_count": 71, + "execution_count": 177, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[5. , 5. , 5. ],\n", - " [5. , 5. , 0.39487907],\n", - " [0.09463889, 0.99524018, 0.86314414],\n", - " [0.73508854, 0.14591709, 0.73610788]])" + " [5. , 5. , 0.0874428 ],\n", + " [0.96690659, 0.95725769, 0.52492868],\n", + " [0.98482663, 0.90069241, 0.42153789]])" ] }, - "execution_count": 71, + "execution_count": 177, "metadata": {}, "output_type": "execute_result" } @@ -3656,18 +3726,18 @@ }, { "cell_type": "code", - "execution_count": 72, + "execution_count": 178, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([5. , 5. , 5. , 5. , 5. ,\n", - " 0.39487907, 0.09463889, 0.99524018, 0.86314414, 0.73508854,\n", - " 0.14591709, 0.73610788])" + " 0.0874428 , 0.96690659, 0.95725769, 0.52492868, 0.98482663,\n", + " 0.90069241, 0.42153789])" ] }, - "execution_count": 72, + "execution_count": 178, "metadata": {}, "output_type": "execute_result" } @@ -3680,7 +3750,7 @@ }, { "cell_type": "code", - "execution_count": 73, + "execution_count": 179, "metadata": {}, "outputs": [ { @@ -3697,23 +3767,23 @@ }, { "cell_type": "code", - "execution_count": 74, + "execution_count": 180, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "[0.77426238 0.40929437 0.81432176 0.59972899 0.09676193 0.4449954\n", - " 0.01480282 0.26308856 0.58481209 0.74216626 0.22289527 0.46716741\n", - " 0.33195174 0.52399378 0.88372986 0.60158331 0.58945001 0.31668276\n", - " 0.11818297 0.27049194 0.11884623 0.29952595 0.32792733 0.43436396\n", - " 0.646646 0.05237262 0.93389673 0.34454685 0.93967772 0.75029801\n", - " 0.55267409 0.30308383 0.13671956 0.87033557 0.21616756 0.82525033\n", - " 0.63810353 0.71845323 0.85226858 0.01932045 0.18269591 0.62072905\n", - " 0.71238228 0.20326271 0.35548277 0.07583335 0.52520661 0.66373958\n", - " 0.50652788 0.97000506 0.36231248 0.76321265 0.87553314 0.39389339\n", - " 0.13004269 0.23257985 0.5075587 0.24471816 0.97082036 0.5918958 ]\n" + "[0.4076777 0.0032036 0.8637935 0.63928257 0.92394319 0.94463281\n", + " 0.75838245 0.77815663 0.59448528 0.05197006 0.4252758 0.51943058\n", + " 0.25521222 0.21153197 0.13903764 0.70652387 0.47792749 0.76336588\n", + " 0.35224639 0.85792682 0.37824866 0.08396315 0.6820255 0.48759341\n", + " 0.06410559 0.04382042 0.58880606 0.49957256 0.30892822 0.86214811\n", + " 0.29476108 0.58164927 0.18771192 0.62448138 0.27972963 0.64589686\n", + " 0.7414693 0.87782264 0.92350925 0.82749223 0.72188647 0.64283206\n", + " 0.57347573 0.53142496 0.92027185 0.39492156 0.3399361 0.05608057\n", + " 0.18456121 0.21670162 0.93057584 0.22099788 0.16258077 0.90794268\n", + " 0.5725359 0.67821311 0.59549661 0.7304167 0.93257325 0.95671415]\n" ] } ], @@ -3725,18 +3795,18 @@ }, { "cell_type": "code", - "execution_count": 75, + "execution_count": 181, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([10. , 10. , 10. , 10. , 10. ,\n", - " 0.39487907, 0.09463889, 0.99524018, 0.86314414, 0.73508854,\n", - " 0.14591709, 0.73610788])" + " 0.0874428 , 0.96690659, 0.95725769, 0.52492868, 0.98482663,\n", + " 0.90069241, 0.42153789])" ] }, - "execution_count": 75, + "execution_count": 181, "metadata": {}, "output_type": "execute_result" } @@ -3749,19 +3819,19 @@ }, { "cell_type": "code", - "execution_count": 76, + "execution_count": 182, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[5. , 5. , 5. ],\n", - " [5. , 5. , 0.39487907],\n", - " [0.09463889, 0.99524018, 0.86314414],\n", - " [0.73508854, 0.14591709, 0.73610788]])" + " [5. , 5. , 0.0874428 ],\n", + " [0.96690659, 0.95725769, 0.52492868],\n", + " [0.98482663, 0.90069241, 0.42153789]])" ] }, - "execution_count": 76, + "execution_count": 182, "metadata": {}, "output_type": "execute_result" } @@ -3786,7 +3856,7 @@ }, { "cell_type": "code", - "execution_count": 78, + "execution_count": 183, "metadata": {}, "outputs": [], "source": [ @@ -3795,7 +3865,7 @@ }, { "cell_type": "code", - "execution_count": 79, + "execution_count": 184, "metadata": {}, "outputs": [ { @@ -3814,25 +3884,29 @@ }, { "cell_type": "code", - "execution_count": 80, + "execution_count": 186, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "(3, 1)\n" + "(3, 1)\n", + "[[1]\n", + " [2]\n", + " [3]]\n" ] } ], "source": [ "v2 = v.reshape(3, 1)\n", - "print(v2.shape)" + "print(v2.shape)\n", + "print(v2)" ] }, { "cell_type": "code", - "execution_count": 81, + "execution_count": 188, "metadata": {}, "outputs": [ { @@ -3853,7 +3927,7 @@ }, { "cell_type": "code", - "execution_count": 82, + "execution_count": 189, "metadata": {}, "outputs": [ { @@ -3862,7 +3936,7 @@ "(3, 1)" ] }, - "execution_count": 82, + "execution_count": 189, "metadata": {}, "output_type": "execute_result" } @@ -3874,7 +3948,7 @@ }, { "cell_type": "code", - "execution_count": 83, + "execution_count": 190, "metadata": {}, "outputs": [ { @@ -3883,7 +3957,7 @@ "(1, 3)" ] }, - "execution_count": 83, + "execution_count": 190, "metadata": {}, "output_type": "execute_result" } @@ -3902,7 +3976,7 @@ }, { "cell_type": "code", - "execution_count": 85, + "execution_count": 191, "metadata": {}, "outputs": [ { @@ -3932,7 +4006,7 @@ }, { "cell_type": "code", - "execution_count": 86, + "execution_count": 192, "metadata": {}, "outputs": [ { @@ -3953,7 +4027,7 @@ }, { "cell_type": "code", - "execution_count": 87, + "execution_count": 193, "metadata": {}, "outputs": [ { @@ -4003,7 +4077,7 @@ }, { "cell_type": "code", - "execution_count": 89, + "execution_count": 194, "metadata": {}, "outputs": [ { @@ -4022,7 +4096,7 @@ }, { "cell_type": "code", - "execution_count": 90, + "execution_count": 195, "metadata": {}, "outputs": [ { @@ -4031,7 +4105,7 @@ "array([1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4])" ] }, - "execution_count": 90, + "execution_count": 195, "metadata": {}, "output_type": "execute_result" } @@ -4043,7 +4117,7 @@ }, { "cell_type": "code", - "execution_count": 91, + "execution_count": 196, "metadata": {}, "outputs": [ { @@ -4053,7 +4127,7 @@ " [3, 4, 3, 4, 3, 4]])" ] }, - "execution_count": 91, + "execution_count": 196, "metadata": {}, "output_type": "execute_result" } @@ -4065,7 +4139,7 @@ }, { "cell_type": "code", - "execution_count": 92, + "execution_count": 197, "metadata": {}, "outputs": [ { @@ -4075,7 +4149,7 @@ " [3, 4, 3, 4, 3, 4]])" ] }, - "execution_count": 92, + "execution_count": 197, "metadata": {}, "output_type": "execute_result" } @@ -4087,7 +4161,7 @@ }, { "cell_type": "code", - "execution_count": 93, + "execution_count": 198, "metadata": {}, "outputs": [ { @@ -4101,7 +4175,7 @@ " [3, 4]])" ] }, - "execution_count": 93, + "execution_count": 198, "metadata": {}, "output_type": "execute_result" } @@ -4119,7 +4193,7 @@ }, { "cell_type": "code", - "execution_count": 94, + "execution_count": 205, "metadata": {}, "outputs": [], "source": [ @@ -4128,7 +4202,7 @@ }, { "cell_type": "code", - "execution_count": 95, + "execution_count": 206, "metadata": {}, "outputs": [ { @@ -4139,7 +4213,7 @@ " [5, 6]])" ] }, - "execution_count": 95, + "execution_count": 206, "metadata": {}, "output_type": "execute_result" } @@ -4150,7 +4224,7 @@ }, { "cell_type": "code", - "execution_count": 96, + "execution_count": 207, "metadata": {}, "outputs": [ { @@ -4160,7 +4234,7 @@ " [3, 4, 6]])" ] }, - "execution_count": 96, + "execution_count": 207, "metadata": {}, "output_type": "execute_result" } @@ -4178,7 +4252,7 @@ }, { "cell_type": "code", - "execution_count": 97, + "execution_count": 208, "metadata": {}, "outputs": [ { @@ -4189,7 +4263,7 @@ " [5, 6]])" ] }, - "execution_count": 97, + "execution_count": 208, "metadata": {}, "output_type": "execute_result" } @@ -4200,7 +4274,7 @@ }, { "cell_type": "code", - "execution_count": 98, + "execution_count": 209, "metadata": {}, "outputs": [ { @@ -4210,7 +4284,7 @@ " [3, 4, 6]])" ] }, - "execution_count": 98, + "execution_count": 209, "metadata": {}, "output_type": "execute_result" } @@ -4235,7 +4309,7 @@ }, { "cell_type": "code", - "execution_count": 99, + "execution_count": 210, "metadata": {}, "outputs": [ { @@ -4245,7 +4319,7 @@ " [3, 4]])" ] }, - "execution_count": 99, + "execution_count": 210, "metadata": {}, "output_type": "execute_result" } @@ -4258,7 +4332,7 @@ }, { "cell_type": "code", - "execution_count": 100, + "execution_count": 211, "metadata": {}, "outputs": [], "source": [ @@ -4268,7 +4342,7 @@ }, { "cell_type": "code", - "execution_count": 101, + "execution_count": 212, "metadata": {}, "outputs": [ { @@ -4278,7 +4352,7 @@ " [ 3, 4]])" ] }, - "execution_count": 101, + "execution_count": 212, "metadata": {}, "output_type": "execute_result" } @@ -4292,7 +4366,7 @@ }, { "cell_type": "code", - "execution_count": 102, + "execution_count": 213, "metadata": {}, "outputs": [ { @@ -4302,7 +4376,7 @@ " [ 3, 4]])" ] }, - "execution_count": 102, + "execution_count": 213, "metadata": {}, "output_type": "execute_result" } @@ -4320,7 +4394,7 @@ }, { "cell_type": "code", - "execution_count": 103, + "execution_count": 214, "metadata": {}, "outputs": [], "source": [ @@ -4329,7 +4403,7 @@ }, { "cell_type": "code", - "execution_count": 104, + "execution_count": 215, "metadata": {}, "outputs": [ { @@ -4339,7 +4413,7 @@ " [ 3, 4]])" ] }, - "execution_count": 104, + "execution_count": 215, "metadata": {}, "output_type": "execute_result" } @@ -4353,7 +4427,7 @@ }, { "cell_type": "code", - "execution_count": 105, + "execution_count": 216, "metadata": {}, "outputs": [ { @@ -4363,7 +4437,7 @@ " [ 3, 4]])" ] }, - "execution_count": 105, + "execution_count": 216, "metadata": {}, "output_type": "execute_result" } @@ -4390,7 +4464,7 @@ }, { "cell_type": "code", - "execution_count": 106, + "execution_count": 217, "metadata": {}, "outputs": [ { @@ -4413,7 +4487,7 @@ }, { "cell_type": "code", - "execution_count": 107, + "execution_count": 218, "metadata": {}, "outputs": [ { @@ -4449,7 +4523,7 @@ }, { "cell_type": "code", - "execution_count": 108, + "execution_count": 219, "metadata": {}, "outputs": [ { @@ -4514,7 +4588,7 @@ }, { "cell_type": "code", - "execution_count": 122, + "execution_count": 220, "metadata": {}, "outputs": [], "source": [ @@ -4530,7 +4604,7 @@ }, { "cell_type": "code", - "execution_count": 123, + "execution_count": 221, "metadata": {}, "outputs": [ { @@ -4540,8 +4614,8 @@ "traceback": [ "\u001b[0;31m-----------------------------------------------------------\u001b[0m", "\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)", - "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mTheta\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0marray\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m-\u001b[0m\u001b[0;36m3\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m-\u001b[0m\u001b[0;36m2\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m-\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m2\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m3\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", - "\u001b[0;32m\u001b[0m in \u001b[0;36mTheta\u001b[0;34m(x)\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0mHeaviside阶跃函数的标量实现\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \"\"\"\n\u001b[0;32m----> 5\u001b[0;31m \u001b[0;32mif\u001b[0m \u001b[0mx\u001b[0m \u001b[0;34m>=\u001b[0m \u001b[0;36m0\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 6\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 7\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mTheta\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0marray\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m-\u001b[0m\u001b[0;36m3\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m-\u001b[0m\u001b[0;36m2\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m-\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m2\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m3\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[0;32m\u001b[0m in \u001b[0;36mTheta\u001b[0;34m(x)\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0mHeaviside阶跃函数的标量实现\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \"\"\"\n\u001b[0;32m----> 5\u001b[0;31m \u001b[0;32mif\u001b[0m \u001b[0mx\u001b[0m \u001b[0;34m>=\u001b[0m \u001b[0;36m0\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 6\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 7\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mValueError\u001b[0m: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()" ] } @@ -4561,7 +4635,7 @@ }, { "cell_type": "code", - "execution_count": 124, + "execution_count": 222, "metadata": {}, "outputs": [], "source": [ @@ -4570,7 +4644,7 @@ }, { "cell_type": "code", - "execution_count": 125, + "execution_count": 223, "metadata": {}, "outputs": [ { @@ -4579,7 +4653,7 @@ "array([0, 0, 0, 1, 1, 1, 1])" ] }, - "execution_count": 125, + "execution_count": 223, "metadata": {}, "output_type": "execute_result" } @@ -4597,20 +4671,20 @@ }, { "cell_type": "code", - "execution_count": 126, + "execution_count": 225, "metadata": {}, "outputs": [], "source": [ "def Theta(x):\n", " \"\"\"\n", - " Heaviside阶跃函数的矢量感知实现。\n", + " Heaviside阶跃函数的矢量感知实现。\n", " \"\"\"\n", " return 1 * (x >= 0)" ] }, { "cell_type": "code", - "execution_count": 127, + "execution_count": 226, "metadata": {}, "outputs": [ { @@ -4619,7 +4693,7 @@ "array([0, 0, 0, 1, 1, 1, 1])" ] }, - "execution_count": 127, + "execution_count": 226, "metadata": {}, "output_type": "execute_result" } @@ -4630,7 +4704,7 @@ }, { "cell_type": "code", - "execution_count": 221, + "execution_count": 227, "metadata": {}, "outputs": [ { @@ -4646,7 +4720,7 @@ "array([0, 0, 0, 1, 1, 1, 1])" ] }, - "execution_count": 221, + "execution_count": 227, "metadata": {}, "output_type": "execute_result" } @@ -4695,7 +4769,7 @@ }, { "cell_type": "code", - "execution_count": 129, + "execution_count": 228, "metadata": {}, "outputs": [ { @@ -4705,7 +4779,7 @@ " [3, 4]])" ] }, - "execution_count": 129, + "execution_count": 228, "metadata": {}, "output_type": "execute_result" } @@ -4717,7 +4791,7 @@ }, { "cell_type": "code", - "execution_count": 132, + "execution_count": 229, "metadata": {}, "outputs": [ { @@ -4726,7 +4800,7 @@ "True" ] }, - "execution_count": 132, + "execution_count": 229, "metadata": {}, "output_type": "execute_result" } @@ -4737,7 +4811,7 @@ }, { "cell_type": "code", - "execution_count": 133, + "execution_count": 230, "metadata": {}, "outputs": [ { @@ -4757,7 +4831,7 @@ }, { "cell_type": "code", - "execution_count": 134, + "execution_count": 231, "metadata": {}, "outputs": [ { @@ -4791,7 +4865,7 @@ }, { "cell_type": "code", - "execution_count": 142, + "execution_count": 232, "metadata": {}, "outputs": [ { @@ -4800,7 +4874,7 @@ "dtype('int64')" ] }, - "execution_count": 142, + "execution_count": 232, "metadata": {}, "output_type": "execute_result" } @@ -4811,17 +4885,17 @@ }, { "cell_type": "code", - "execution_count": 140, + "execution_count": 233, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "array([[10., 2.],\n", - " [ 3., 4.]])" + "array([[1., 2.],\n", + " [3., 4.]])" ] }, - "execution_count": 140, + "execution_count": 233, "metadata": {}, "output_type": "execute_result" } @@ -4834,7 +4908,7 @@ }, { "cell_type": "code", - "execution_count": 229, + "execution_count": 234, "metadata": {}, "outputs": [ { @@ -4843,7 +4917,7 @@ "dtype('float64')" ] }, - "execution_count": 229, + "execution_count": 234, "metadata": {}, "output_type": "execute_result" } @@ -4854,7 +4928,7 @@ }, { "cell_type": "code", - "execution_count": 230, + "execution_count": 235, "metadata": {}, "outputs": [ { @@ -4864,7 +4938,7 @@ " [ True, True]])" ] }, - "execution_count": 230, + "execution_count": 235, "metadata": {}, "output_type": "execute_result" } diff --git a/1_numpy_matplotlib_scipy_sympy/2-matplotlib_tutorial.ipynb b/1_numpy_matplotlib_scipy_sympy/2-matplotlib_tutorial.ipynb index 0af7c3f..d425e97 100644 --- a/1_numpy_matplotlib_scipy_sympy/2-matplotlib_tutorial.ipynb +++ b/1_numpy_matplotlib_scipy_sympy/2-matplotlib_tutorial.ipynb @@ -18,14 +18,14 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 9, "metadata": { "scrolled": true }, "outputs": [ { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "
" ] @@ -44,14 +44,15 @@ "\n", "import matplotlib.pyplot as plt\n", "\n", - "plt.plot([1,2,3,4], '-*')\n", + "plt.plot([1,2,3,4],[1,2,3,4], 'o-r')\n", "plt.ylabel('some numbers')\n", + "plt.xlabel('variable')\n", "plt.show()" ] }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 10, "metadata": { "lines_to_next_cell": 2 }, @@ -59,10 +60,10 @@ { "data": { "text/plain": [ - "[]" + "[]" ] }, - "execution_count": 2, + "execution_count": 10, "metadata": {}, "output_type": "execute_result" }, @@ -92,7 +93,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 11, "metadata": {}, "outputs": [ { @@ -117,7 +118,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 12, "metadata": {}, "outputs": [ { @@ -167,7 +168,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 14, "metadata": {}, "outputs": [ { @@ -211,7 +212,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 15, "metadata": {}, "outputs": [ { @@ -247,16 +248,16 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 18, + "execution_count": 17, "metadata": {}, "output_type": "execute_result" }, @@ -280,16 +281,16 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 19, + "execution_count": 18, "metadata": {}, "output_type": "execute_result" }, @@ -321,7 +322,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 19, "metadata": {}, "outputs": [ { @@ -411,7 +412,7 @@ " )" ] }, - "execution_count": 20, + "execution_count": 19, "metadata": {}, "output_type": "execute_result" }, diff --git a/1_numpy_matplotlib_scipy_sympy/3-ipython_notebook.ipynb b/1_numpy_matplotlib_scipy_sympy/3-ipython_notebook.ipynb index 841d053..dae7c68 100644 --- a/1_numpy_matplotlib_scipy_sympy/3-ipython_notebook.ipynb +++ b/1_numpy_matplotlib_scipy_sympy/3-ipython_notebook.ipynb @@ -30,7 +30,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 1, "metadata": {}, "outputs": [ { @@ -39,7 +39,7 @@ "4" ] }, - "execution_count": 4, + "execution_count": 1, "metadata": {}, "output_type": "execute_result" } @@ -50,7 +50,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 2, "metadata": {}, "outputs": [ { @@ -59,7 +59,7 @@ "12" ] }, - "execution_count": 5, + "execution_count": 2, "metadata": {}, "output_type": "execute_result" } @@ -97,7 +97,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 3, "metadata": {}, "outputs": [ { @@ -242,7 +242,7 @@ "Automagic is ON, % prefix IS NOT needed for line magics." ] }, - "execution_count": 7, + "execution_count": 3, "metadata": {}, "output_type": "execute_result" } @@ -271,7 +271,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 4, "metadata": {}, "outputs": [ { diff --git a/1_numpy_matplotlib_scipy_sympy/4-scipy_tutorial.ipynb b/1_numpy_matplotlib_scipy_sympy/4-scipy_tutorial.ipynb index c8542f6..cb97a91 100644 --- a/1_numpy_matplotlib_scipy_sympy/4-scipy_tutorial.ipynb +++ b/1_numpy_matplotlib_scipy_sympy/4-scipy_tutorial.ipynb @@ -18,7 +18,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 1, "metadata": {}, "outputs": [], "source": [ @@ -94,7 +94,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 2, "metadata": {}, "outputs": [], "source": [ @@ -108,7 +108,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 3, "metadata": {}, "outputs": [ { @@ -161,7 +161,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 4, "metadata": {}, "outputs": [ { @@ -170,7 +170,7 @@ "array([ 2.40482556, 5.52007811, 8.65372791, 11.79153444])" ] }, - "execution_count": 11, + "execution_count": 4, "metadata": {}, "output_type": "execute_result" } @@ -209,7 +209,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 5, "metadata": {}, "outputs": [], "source": [ @@ -227,7 +227,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 6, "metadata": {}, "outputs": [], "source": [ @@ -238,7 +238,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 7, "metadata": {}, "outputs": [ { @@ -267,7 +267,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 8, "metadata": {}, "outputs": [ { @@ -303,15 +303,18 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 9, "metadata": {}, "outputs": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - "numerical = 1.7724538509055159 1.4202636780944923e-08\n", - "analytical = 1.7724538509055159\n" + "ename": "NameError", + "evalue": "name 'Inf' is not defined", + "output_type": "error", + "traceback": [ + "\u001b[0;31m-----------------------------------------------------------\u001b[0m", + "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mval\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mabserr\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mquad\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;32mlambda\u001b[0m \u001b[0mx\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mexp\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m-\u001b[0m\u001b[0mx\u001b[0m \u001b[0;34m**\u001b[0m \u001b[0;36m2\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m-\u001b[0m\u001b[0mInf\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mInf\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"numerical =\"\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mval\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mabserr\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0manalytical\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msqrt\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpi\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mNameError\u001b[0m: name 'Inf' is not defined" ] } ], @@ -335,7 +338,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 10, "metadata": {}, "outputs": [ { @@ -389,7 +392,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 17, "metadata": {}, "outputs": [], "source": [ @@ -437,7 +440,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 11, "metadata": {}, "outputs": [ { @@ -449,7 +452,7 @@ "" ] }, - "execution_count": 22, + "execution_count": 11, "metadata": {}, "output_type": "execute_result" } @@ -485,7 +488,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 19, "metadata": {}, "outputs": [], "source": [ @@ -499,27 +502,27 @@ " \"\"\"\n", " x1, x2, x3, x4 = x[0], x[1], x[2], x[3]\n", " \n", - " dx1 = 6.0/(m*L**2) * (2 * x3 - 3 * cos(x1-x2) * x4)/(16 - 9 * cos(x1-x2)**2)\n", - " dx2 = 6.0/(m*L**2) * (8 * x4 - 3 * cos(x1-x2) * x3)/(16 - 9 * cos(x1-x2)**2)\n", - " dx3 = -0.5 * m * L**2 * ( dx1 * dx2 * sin(x1-x2) + 3 * (g/L) * sin(x1))\n", - " dx4 = -0.5 * m * L**2 * (-dx1 * dx2 * sin(x1-x2) + (g/L) * sin(x2))\n", + " dx1 = 6.0/(m*L**2) * (2 * x3 - 3 * np.cos(x1-x2) * x4)/(16 - 9 * np.cos(x1-x2)**2)\n", + " dx2 = 6.0/(m*L**2) * (8 * x4 - 3 * np.cos(x1-x2) * x3)/(16 - 9 * np.cos(x1-x2)**2)\n", + " dx3 = -0.5 * m * L**2 * ( dx1 * dx2 * np.sin(x1-x2) + 3 * (g/L) * np.sin(x1))\n", + " dx4 = -0.5 * m * L**2 * (-dx1 * dx2 * np.sin(x1-x2) + (g/L) * np.sin(x2))\n", " \n", " return [dx1, dx2, dx3, dx4]" ] }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 20, "metadata": {}, "outputs": [], "source": [ "# 选择一个初始状态\n", - "x0 = [pi/4, pi/2, 0, 0]" + "x0 = [np.pi/4, np.pi/2, 0, 0]" ] }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 21, "metadata": {}, "outputs": [], "source": [ @@ -529,24 +532,9 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 22, "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/home/bushuhui/virtualenv/dl/lib/python3.6/site-packages/ipykernel_launcher.py:11: DeprecationWarning: scipy.cos is deprecated and will be removed in SciPy 2.0.0, use numpy.cos instead\n", - " # This is added back by InteractiveShellApp.init_path()\n", - "/home/bushuhui/virtualenv/dl/lib/python3.6/site-packages/ipykernel_launcher.py:12: DeprecationWarning: scipy.cos is deprecated and will be removed in SciPy 2.0.0, use numpy.cos instead\n", - " if sys.path[0] == '':\n", - "/home/bushuhui/virtualenv/dl/lib/python3.6/site-packages/ipykernel_launcher.py:13: DeprecationWarning: scipy.sin is deprecated and will be removed in SciPy 2.0.0, use numpy.sin instead\n", - " del sys.path[0]\n", - "/home/bushuhui/virtualenv/dl/lib/python3.6/site-packages/ipykernel_launcher.py:14: DeprecationWarning: scipy.sin is deprecated and will be removed in SciPy 2.0.0, use numpy.sin instead\n", - " \n" - ] - } - ], + "outputs": [], "source": [ "# 解决常微分方程\n", "x = odeint(dx, x0, t)" @@ -554,24 +542,10 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": 24, "metadata": {}, "outputs": [ { - "name": "stderr", - "output_type": "stream", - "text": [ - "/home/bushuhui/virtualenv/dl/lib/python3.6/site-packages/ipykernel_launcher.py:8: DeprecationWarning: scipy.sin is deprecated and will be removed in SciPy 2.0.0, use numpy.sin instead\n", - " \n", - "/home/bushuhui/virtualenv/dl/lib/python3.6/site-packages/ipykernel_launcher.py:9: DeprecationWarning: scipy.cos is deprecated and will be removed in SciPy 2.0.0, use numpy.cos instead\n", - " if __name__ == '__main__':\n", - "/home/bushuhui/virtualenv/dl/lib/python3.6/site-packages/ipykernel_launcher.py:11: DeprecationWarning: scipy.sin is deprecated and will be removed in SciPy 2.0.0, use numpy.sin instead\n", - " # This is added back by InteractiveShellApp.init_path()\n", - "/home/bushuhui/virtualenv/dl/lib/python3.6/site-packages/ipykernel_launcher.py:12: DeprecationWarning: scipy.cos is deprecated and will be removed in SciPy 2.0.0, use numpy.cos instead\n", - " if sys.path[0] == '':\n" - ] - }, - { "data": { "image/png": "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\n", "text/plain": [ @@ -592,11 +566,11 @@ "axes[0].plot(t, x[:, 1], 'b', label=\"theta2\")\n", "\n", "\n", - "x1 = + L * sin(x[:, 0])\n", - "y1 = - L * cos(x[:, 0])\n", + "x1 = + L * np.sin(x[:, 0])\n", + "y1 = - L * np.cos(x[:, 0])\n", "\n", - "x2 = x1 + L * sin(x[:, 1])\n", - "y2 = y1 - L * cos(x[:, 1])\n", + "x2 = x1 + L * np.sin(x[:, 1])\n", + "y2 = y1 - L * np.cos(x[:, 1])\n", " \n", "axes[1].plot(x1, y1, 'r', label=\"pendulum1\")\n", "axes[1].plot(x2, y2, 'b', label=\"pendulum2\")\n", @@ -613,7 +587,7 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 25, "metadata": {}, "outputs": [], "source": [ @@ -623,12 +597,12 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": 27, "metadata": {}, "outputs": [ { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "
" ] @@ -637,8 +611,19 @@ "output_type": "display_data" }, { + "ename": "KeyboardInterrupt", + "evalue": "", + "output_type": "error", + "traceback": [ + "\u001b[0;31m-----------------------------------------------------------\u001b[0m", + "\u001b[0;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 18\u001b[0m \u001b[0mdisplay\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfig\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 19\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 20\u001b[0;31m \u001b[0mtime\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msleep\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m0.1\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[0;31mKeyboardInterrupt\u001b[0m: " + ] + }, + { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "
" ] @@ -654,11 +639,11 @@ "\n", "for t_idx, tt in enumerate(t[:200]):\n", "\n", - " x1 = + L * sin(x[t_idx, 0])\n", - " y1 = - L * cos(x[t_idx, 0])\n", + " x1 = + L * np.sin(x[t_idx, 0])\n", + " y1 = - L * np.cos(x[t_idx, 0])\n", "\n", - " x2 = x1 + L * sin(x[t_idx, 1])\n", - " y2 = y1 - L * cos(x[t_idx, 1])\n", + " x2 = x1 + L * np.sin(x[t_idx, 1])\n", + " y2 = y1 - L * np.cos(x[t_idx, 1])\n", " \n", " ax.cla() \n", " ax.plot([0, x1], [0, y1], 'r.-')\n", @@ -934,7 +919,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 28, "metadata": {}, "outputs": [], "source": [ @@ -944,7 +929,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 29, "metadata": {}, "outputs": [], "source": [ @@ -954,7 +939,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 30, "metadata": {}, "outputs": [ { @@ -963,7 +948,7 @@ "array([-0.33333333, 0.66666667])" ] }, - "execution_count": 3, + "execution_count": 30, "metadata": {}, "output_type": "execute_result" } @@ -976,7 +961,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 31, "metadata": {}, "outputs": [ { @@ -985,7 +970,7 @@ "array([0., 0.])" ] }, - "execution_count": 4, + "execution_count": 31, "metadata": {}, "output_type": "execute_result" } @@ -1090,7 +1075,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 32, "metadata": {}, "outputs": [], "source": [ @@ -1099,7 +1084,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 33, "metadata": {}, "outputs": [ { @@ -1108,7 +1093,7 @@ "array([-0.46410162+0.j, 6.46410162+0.j])" ] }, - "execution_count": 6, + "execution_count": 33, "metadata": {}, "output_type": "execute_result" } @@ -1119,7 +1104,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 34, "metadata": {}, "outputs": [], "source": [ @@ -1148,7 +1133,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 35, "metadata": {}, "outputs": [ { @@ -1158,7 +1143,7 @@ " [ 0.59069049, -0.9390708 ]])" ] }, - "execution_count": 9, + "execution_count": 35, "metadata": {}, "output_type": "execute_result" } @@ -1296,7 +1281,7 @@ }, { "cell_type": "code", - "execution_count": 38, + "execution_count": 36, "metadata": {}, "outputs": [], "source": [ @@ -1305,7 +1290,7 @@ }, { "cell_type": "code", - "execution_count": 40, + "execution_count": 37, "metadata": {}, "outputs": [ { @@ -1317,7 +1302,7 @@ " [1, 0, 0, 1]])" ] }, - "execution_count": 40, + "execution_count": 37, "metadata": {}, "output_type": "execute_result" } @@ -1329,7 +1314,7 @@ }, { "cell_type": "code", - "execution_count": 41, + "execution_count": 38, "metadata": {}, "outputs": [ { @@ -1339,7 +1324,7 @@ "\twith 6 stored elements in Compressed Sparse Row format>" ] }, - "execution_count": 41, + "execution_count": 38, "metadata": {}, "output_type": "execute_result" } @@ -1351,7 +1336,7 @@ }, { "cell_type": "code", - "execution_count": 42, + "execution_count": 39, "metadata": {}, "outputs": [ { @@ -1363,7 +1348,7 @@ " [1, 0, 0, 1]], dtype=int64)" ] }, - "execution_count": 42, + "execution_count": 39, "metadata": {}, "output_type": "execute_result" } @@ -1687,7 +1672,7 @@ }, { "cell_type": "code", - "execution_count": 50, + "execution_count": 40, "metadata": {}, "outputs": [], "source": [ @@ -1710,7 +1695,7 @@ }, { "cell_type": "code", - "execution_count": 51, + "execution_count": 41, "metadata": {}, "outputs": [], "source": [ @@ -1720,7 +1705,7 @@ }, { "cell_type": "code", - "execution_count": 52, + "execution_count": 42, "metadata": {}, "outputs": [ { @@ -1755,7 +1740,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 43, "metadata": {}, "outputs": [ { @@ -1775,7 +1760,7 @@ "array([-2.67298151])" ] }, - "execution_count": 20, + "execution_count": 43, "metadata": {}, "output_type": "execute_result" } @@ -1787,7 +1772,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 44, "metadata": {}, "outputs": [ { @@ -1807,7 +1792,7 @@ "array([0.46961745])" ] }, - "execution_count": 21, + "execution_count": 44, "metadata": {}, "output_type": "execute_result" } @@ -1879,7 +1864,7 @@ }, { "cell_type": "code", - "execution_count": 53, + "execution_count": 45, "metadata": {}, "outputs": [], "source": [ @@ -2082,7 +2067,7 @@ }, { "cell_type": "code", - "execution_count": 82, + "execution_count": 46, "metadata": {}, "outputs": [], "source": [ @@ -2091,7 +2076,7 @@ }, { "cell_type": "code", - "execution_count": 83, + "execution_count": 47, "metadata": {}, "outputs": [], "source": [ @@ -2102,22 +2087,24 @@ }, { "cell_type": "code", - "execution_count": 84, + "execution_count": 49, "metadata": {}, "outputs": [ { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ - "" + "
" ] }, - "metadata": {}, + "metadata": { + "needs_background": "light" + }, "output_type": "display_data" } ], "source": [ - "n = arange(0,15)\n", + "n = np.arange(0,15)\n", "\n", "fig, axes = plt.subplots(3,1, sharex=True)\n", "\n", @@ -2133,7 +2120,7 @@ }, { "cell_type": "code", - "execution_count": 85, + "execution_count": 50, "metadata": {}, "outputs": [], "source": [ @@ -2143,22 +2130,24 @@ }, { "cell_type": "code", - "execution_count": 86, + "execution_count": 52, "metadata": {}, "outputs": [ { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ - "" + "
" ] }, - "metadata": {}, + "metadata": { + "needs_background": "light" + }, "output_type": "display_data" } ], "source": [ - "x = linspace(-5,5,100)\n", + "x = np.linspace(-5,5,100)\n", "\n", "fig, axes = plt.subplots(3,1, sharex=True)\n", "\n", diff --git a/1_numpy_matplotlib_scipy_sympy/5-sympy_tutorial.ipynb b/1_numpy_matplotlib_scipy_sympy/5-sympy_tutorial.ipynb index 24c4ed2..fbc8df8 100644 --- a/1_numpy_matplotlib_scipy_sympy/5-sympy_tutorial.ipynb +++ b/1_numpy_matplotlib_scipy_sympy/5-sympy_tutorial.ipynb @@ -51,7 +51,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 2, "metadata": {}, "outputs": [], "source": [ @@ -67,7 +67,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 3, "metadata": {}, "outputs": [], "source": [ @@ -95,7 +95,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 4, "metadata": {}, "outputs": [], "source": [ @@ -104,7 +104,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 6, "metadata": {}, "outputs": [ { @@ -118,18 +118,18 @@ "(x + π) " ] }, - "execution_count": 15, + "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "(pi + x)**2" + "(sp.pi + x)**2" ] }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 7, "metadata": {}, "outputs": [], "source": [ @@ -139,7 +139,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 8, "metadata": {}, "outputs": [ { @@ -148,7 +148,7 @@ "sympy.core.symbol.Symbol" ] }, - "execution_count": 17, + "execution_count": 8, "metadata": {}, "output_type": "execute_result" } @@ -166,7 +166,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 9, "metadata": {}, "outputs": [], "source": [ @@ -175,7 +175,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 10, "metadata": {}, "outputs": [ { @@ -184,7 +184,7 @@ "False" ] }, - "execution_count": 19, + "execution_count": 10, "metadata": {}, "output_type": "execute_result" } @@ -195,7 +195,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 11, "metadata": {}, "outputs": [], "source": [ @@ -204,7 +204,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 12, "metadata": {}, "outputs": [ { @@ -217,7 +217,7 @@ "True" ] }, - "execution_count": 21, + "execution_count": 12, "metadata": {}, "output_type": "execute_result" } @@ -242,7 +242,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 13, "metadata": {}, "outputs": [ { @@ -255,7 +255,7 @@ "1 + ⅈ" ] }, - "execution_count": 23, + "execution_count": 13, "metadata": {}, "output_type": "execute_result" } @@ -266,31 +266,31 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 15, "metadata": {}, "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAOCAYAAAA1+Nx+AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAiElEQVQ4EWP8//8/A7VAQ0ODEdCs1UBsDGR/AJnLAiIoAUCDBID6ZwPxOyA2AWIlIIYDalgAcmkoyESgZWVACuQLOGCCs2jEGLWAYMDSPIhYoMlsL9ApoORGLAgF6jtHjGKQBaBkZkyMYnLU0DyIhr4FjNQo7IDxCCrgQIkEVBaB6HtADEoEpwEsISASVdEGngAAAABJRU5ErkJggg==\n", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAOCAYAAAASVl2WAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAXUlEQVQYGWP8//8/Aww0NDQYAdmrgdgYyP4AEmcBMgSA9GwgfgfEJkCsBMRwAFIAUhkKEgGyy4AUyBQ4YIKzcDBGFUAChmA4MIIiCxjEoAgCxQkoLkD0PSA+B8SnAeDgGGsGGU5UAAAAAElFTkSuQmCC\n", "text/latex": [ - "$\\displaystyle -1$" + "$\\displaystyle 1$" ], "text/plain": [ - "-1" + "1" ] }, - "execution_count": 24, + "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "sp.I**2" + "sp.I**4" ] }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 16, "metadata": {}, "outputs": [ { @@ -304,7 +304,7 @@ "(ⅈ⋅x + 1) " ] }, - "execution_count": 25, + "execution_count": 16, "metadata": {}, "output_type": "execute_result" } @@ -329,7 +329,7 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": 17, "metadata": {}, "outputs": [], "source": [ @@ -339,7 +339,7 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 18, "metadata": {}, "outputs": [ { @@ -352,7 +352,7 @@ "4/5" ] }, - "execution_count": 28, + "execution_count": 18, "metadata": {}, "output_type": "execute_result" } @@ -363,7 +363,7 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": 19, "metadata": {}, "outputs": [ { @@ -378,7 +378,7 @@ "20" ] }, - "execution_count": 29, + "execution_count": 19, "metadata": {}, "output_type": "execute_result" } @@ -389,7 +389,7 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": 20, "metadata": {}, "outputs": [ { @@ -404,7 +404,7 @@ "25" ] }, - "execution_count": 30, + "execution_count": 20, "metadata": {}, "output_type": "execute_result" } @@ -431,7 +431,7 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": 25, "metadata": {}, "outputs": [ { @@ -444,7 +444,7 @@ "3.1415926535897932384626433832795028841971693993751" ] }, - "execution_count": 31, + "execution_count": 25, "metadata": {}, "output_type": "execute_result" } @@ -455,7 +455,7 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": 26, "metadata": {}, "outputs": [], "source": [ @@ -464,7 +464,7 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": 27, "metadata": {}, "outputs": [ { @@ -478,7 +478,7 @@ "9.8696⋅(0.31831⋅x + 1) " ] }, - "execution_count": 33, + "execution_count": 27, "metadata": {}, "output_type": "execute_result" } @@ -496,7 +496,7 @@ }, { "cell_type": "code", - "execution_count": 34, + "execution_count": 28, "metadata": {}, "outputs": [ { @@ -510,7 +510,7 @@ "(1.5 + π) " ] }, - "execution_count": 34, + "execution_count": 28, "metadata": {}, "output_type": "execute_result" } @@ -521,7 +521,7 @@ }, { "cell_type": "code", - "execution_count": 35, + "execution_count": 29, "metadata": {}, "outputs": [ { @@ -534,7 +534,7 @@ "21.5443823618587" ] }, - "execution_count": 35, + "execution_count": 29, "metadata": {}, "output_type": "execute_result" } @@ -552,7 +552,7 @@ }, { "cell_type": "code", - "execution_count": 37, + "execution_count": 30, "metadata": {}, "outputs": [ { @@ -566,7 +566,7 @@ "(a + 2⋅π) " ] }, - "execution_count": 37, + "execution_count": 30, "metadata": {}, "output_type": "execute_result" } @@ -584,7 +584,7 @@ }, { "cell_type": "code", - "execution_count": 38, + "execution_count": 31, "metadata": {}, "outputs": [], "source": [ @@ -593,7 +593,7 @@ }, { "cell_type": "code", - "execution_count": 39, + "execution_count": 32, "metadata": {}, "outputs": [], "source": [ @@ -602,11 +602,11 @@ }, { "cell_type": "code", - "execution_count": 40, + "execution_count": 35, "metadata": {}, "outputs": [], "source": [ - "y_vec = np.array([N(((x + pi)**2).subs(x, xx)) for xx in x_vec])" + "y_vec = np.array([sp.N(((x + sp.pi)**2).subs(x, xx)) for xx in x_vec])" ] }, { @@ -642,11 +642,11 @@ }, { "cell_type": "code", - "execution_count": 43, + "execution_count": 36, "metadata": {}, "outputs": [], "source": [ - "f = sp.lambdify([x], (x + pi)**2, 'numpy') # 第一个参数是一个变量列表\n", + "f = sp.lambdify([x], (x + sp.pi)**2, 'numpy') # 第一个参数是一个变量列表\n", " # f将是以下函数的函数:本例中仅为x -> f(x)" ] }, @@ -734,7 +734,7 @@ }, { "cell_type": "code", - "execution_count": 49, + "execution_count": 37, "metadata": {}, "outputs": [ { @@ -747,7 +747,7 @@ "(x + 1)⋅(x + 2)⋅(x + 3)" ] }, - "execution_count": 49, + "execution_count": 37, "metadata": {}, "output_type": "execute_result" } @@ -758,7 +758,7 @@ }, { "cell_type": "code", - "execution_count": 50, + "execution_count": 38, "metadata": {}, "outputs": [ { @@ -772,7 +772,7 @@ "x + 6⋅x + 11⋅x + 6" ] }, - "execution_count": 50, + "execution_count": 38, "metadata": {}, "output_type": "execute_result" } @@ -790,7 +790,7 @@ }, { "cell_type": "code", - "execution_count": 51, + "execution_count": 39, "metadata": {}, "outputs": [ { @@ -803,7 +803,7 @@ "sin(a + b)" ] }, - "execution_count": 51, + "execution_count": 39, "metadata": {}, "output_type": "execute_result" } @@ -814,7 +814,7 @@ }, { "cell_type": "code", - "execution_count": 52, + "execution_count": 40, "metadata": {}, "outputs": [ { @@ -827,7 +827,7 @@ "sin(a)⋅cos(b) + sin(b)⋅cos(a)" ] }, - "execution_count": 52, + "execution_count": 40, "metadata": {}, "output_type": "execute_result" } @@ -852,7 +852,7 @@ }, { "cell_type": "code", - "execution_count": 53, + "execution_count": 41, "metadata": {}, "outputs": [ { @@ -865,7 +865,7 @@ "(x + 1)⋅(x + 2)⋅(x + 3)" ] }, - "execution_count": 53, + "execution_count": 41, "metadata": {}, "output_type": "execute_result" } @@ -892,7 +892,7 @@ }, { "cell_type": "code", - "execution_count": 54, + "execution_count": 42, "metadata": {}, "outputs": [ { @@ -905,7 +905,7 @@ "(x + 1)⋅(x + 2)⋅(x + 3)" ] }, - "execution_count": 54, + "execution_count": 42, "metadata": {}, "output_type": "execute_result" } @@ -917,7 +917,7 @@ }, { "cell_type": "code", - "execution_count": 55, + "execution_count": 44, "metadata": {}, "outputs": [ { @@ -930,19 +930,19 @@ "1" ] }, - "execution_count": 55, + "execution_count": 44, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# simplify 使用三角恒等式\n", - "sp.simplify(sin(a)**2 + cos(a)**2)" + "sp.simplify(sp.sin(a)**2 + sp.cos(a)**2)" ] }, { "cell_type": "code", - "execution_count": 56, + "execution_count": 45, "metadata": {}, "outputs": [ { @@ -957,13 +957,13 @@ "tan(x)" ] }, - "execution_count": 56, + "execution_count": 45, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "sp.simplify(cos(x)/sin(x))" + "sp.simplify(sp.cos(x)/sp.sin(x))" ] }, { @@ -982,7 +982,7 @@ }, { "cell_type": "code", - "execution_count": 57, + "execution_count": 46, "metadata": {}, "outputs": [], "source": [ @@ -991,7 +991,7 @@ }, { "cell_type": "code", - "execution_count": 58, + "execution_count": 47, "metadata": {}, "outputs": [ { @@ -1006,7 +1006,7 @@ "(a + 1)⋅(a + 2)" ] }, - "execution_count": 58, + "execution_count": 47, "metadata": {}, "output_type": "execute_result" } @@ -1017,7 +1017,7 @@ }, { "cell_type": "code", - "execution_count": 59, + "execution_count": 48, "metadata": {}, "outputs": [ { @@ -1032,7 +1032,7 @@ " a + 2 a + 1" ] }, - "execution_count": 59, + "execution_count": 48, "metadata": {}, "output_type": "execute_result" } @@ -1043,7 +1043,7 @@ }, { "cell_type": "code", - "execution_count": 60, + "execution_count": 49, "metadata": {}, "outputs": [], "source": [ @@ -1052,7 +1052,7 @@ }, { "cell_type": "code", - "execution_count": 61, + "execution_count": 50, "metadata": {}, "outputs": [ { @@ -1067,7 +1067,7 @@ "a + 3 a + 2" ] }, - "execution_count": 61, + "execution_count": 50, "metadata": {}, "output_type": "execute_result" } @@ -1078,7 +1078,7 @@ }, { "cell_type": "code", - "execution_count": 62, + "execution_count": 51, "metadata": {}, "outputs": [ { @@ -1093,7 +1093,7 @@ "(a + 2)⋅(a + 3)" ] }, - "execution_count": 62, + "execution_count": 51, "metadata": {}, "output_type": "execute_result" } @@ -1165,7 +1165,7 @@ }, { "cell_type": "code", - "execution_count": 64, + "execution_count": 54, "metadata": {}, "outputs": [ { @@ -1179,7 +1179,7 @@ "(x + π) " ] }, - "execution_count": 64, + "execution_count": 54, "metadata": {}, "output_type": "execute_result" } @@ -1190,7 +1190,7 @@ }, { "cell_type": "code", - "execution_count": 65, + "execution_count": 55, "metadata": {}, "outputs": [ { @@ -1204,7 +1204,7 @@ "4⋅(x + π) " ] }, - "execution_count": 65, + "execution_count": 55, "metadata": {}, "output_type": "execute_result" } @@ -1222,7 +1222,7 @@ }, { "cell_type": "code", - "execution_count": 66, + "execution_count": 56, "metadata": {}, "outputs": [ { @@ -1236,7 +1236,7 @@ "12⋅(x + π) " ] }, - "execution_count": 66, + "execution_count": 56, "metadata": {}, "output_type": "execute_result" } @@ -1247,7 +1247,7 @@ }, { "cell_type": "code", - "execution_count": 67, + "execution_count": 57, "metadata": {}, "outputs": [ { @@ -1261,7 +1261,7 @@ "12⋅(x + π) " ] }, - "execution_count": 67, + "execution_count": 57, "metadata": {}, "output_type": "execute_result" } @@ -1279,16 +1279,16 @@ }, { "cell_type": "code", - "execution_count": 68, + "execution_count": 59, "metadata": {}, "outputs": [], "source": [ - "x, y, z = symbols(\"x,y,z\")" + "x, y, z = sp.symbols(\"x,y,z\")" ] }, { "cell_type": "code", - "execution_count": 69, + "execution_count": 60, "metadata": {}, "outputs": [], "source": [ @@ -1342,7 +1342,7 @@ }, { "cell_type": "code", - "execution_count": 71, + "execution_count": 61, "metadata": {}, "outputs": [ { @@ -1355,7 +1355,7 @@ "sin(x⋅y) + cos(y⋅z)" ] }, - "execution_count": 71, + "execution_count": 61, "metadata": {}, "output_type": "execute_result" } @@ -1366,7 +1366,7 @@ }, { "cell_type": "code", - "execution_count": 72, + "execution_count": 62, "metadata": {}, "outputs": [ { @@ -1383,7 +1383,7 @@ " ⎝⎩ 0 otherwise⎠" ] }, - "execution_count": 72, + "execution_count": 62, "metadata": {}, "output_type": "execute_result" } @@ -1401,7 +1401,7 @@ }, { "cell_type": "code", - "execution_count": 73, + "execution_count": 63, "metadata": {}, "outputs": [ { @@ -1414,7 +1414,7 @@ "2⋅cos(y⋅z)" ] }, - "execution_count": 73, + "execution_count": 63, "metadata": {}, "output_type": "execute_result" } @@ -1432,7 +1432,7 @@ }, { "cell_type": "code", - "execution_count": 77, + "execution_count": 64, "metadata": {}, "outputs": [ { @@ -1447,7 +1447,7 @@ "⎝ℯ , (x, -∞, ∞)⎠" ] }, - "execution_count": 77, + "execution_count": 64, "metadata": {}, "output_type": "execute_result" } @@ -1479,16 +1479,16 @@ }, { "cell_type": "code", - "execution_count": 78, + "execution_count": 66, "metadata": {}, "outputs": [], "source": [ - "n = Symbol(\"n\")" + "n = sp.Symbol(\"n\")" ] }, { "cell_type": "code", - "execution_count": 80, + "execution_count": 67, "metadata": {}, "outputs": [ { @@ -1510,7 +1510,7 @@ "n = 1 " ] }, - "execution_count": 80, + "execution_count": 67, "metadata": {}, "output_type": "execute_result" } @@ -1521,7 +1521,7 @@ }, { "cell_type": "code", - "execution_count": 81, + "execution_count": 68, "metadata": {}, "outputs": [ { @@ -1534,7 +1534,7 @@ "1.54976773116654" ] }, - "execution_count": 81, + "execution_count": 68, "metadata": {}, "output_type": "execute_result" } @@ -1618,7 +1618,7 @@ }, { "cell_type": "code", - "execution_count": 84, + "execution_count": 69, "metadata": {}, "outputs": [ { @@ -1631,7 +1631,7 @@ "1" ] }, - "execution_count": 84, + "execution_count": 69, "metadata": {}, "output_type": "execute_result" } @@ -1806,7 +1806,7 @@ }, { "cell_type": "code", - "execution_count": 94, + "execution_count": 70, "metadata": {}, "outputs": [ { @@ -1822,7 +1822,7 @@ " 2 6 24 120 " ] }, - "execution_count": 94, + "execution_count": 70, "metadata": {}, "output_type": "execute_result" } @@ -1840,7 +1840,7 @@ }, { "cell_type": "code", - "execution_count": 95, + "execution_count": 71, "metadata": {}, "outputs": [ { @@ -1861,7 +1861,7 @@ " " ] }, - "execution_count": 95, + "execution_count": 71, "metadata": {}, "output_type": "execute_result" } @@ -1879,7 +1879,7 @@ }, { "cell_type": "code", - "execution_count": 96, + "execution_count": 72, "metadata": {}, "outputs": [ { @@ -1900,7 +1900,7 @@ " 5040 40320 362880 " ] }, - "execution_count": 96, + "execution_count": 72, "metadata": {}, "output_type": "execute_result" } @@ -2086,7 +2086,7 @@ }, { "cell_type": "code", - "execution_count": 103, + "execution_count": 73, "metadata": {}, "outputs": [], "source": [ @@ -2096,7 +2096,7 @@ }, { "cell_type": "code", - "execution_count": 104, + "execution_count": 74, "metadata": {}, "outputs": [ { @@ -2111,7 +2111,7 @@ "⎣m₂₁ m₂₂⎦" ] }, - "execution_count": 104, + "execution_count": 74, "metadata": {}, "output_type": "execute_result" } @@ -2123,7 +2123,7 @@ }, { "cell_type": "code", - "execution_count": 105, + "execution_count": 75, "metadata": {}, "outputs": [ { @@ -2138,7 +2138,7 @@ "⎣b₂⎦" ] }, - "execution_count": 105, + "execution_count": 75, "metadata": {}, "output_type": "execute_result" } @@ -2157,7 +2157,7 @@ }, { "cell_type": "code", - "execution_count": 106, + "execution_count": 76, "metadata": {}, "outputs": [ { @@ -2174,7 +2174,7 @@ "⎣m₁₁⋅m₂₁ + m₂₁⋅m₂₂ m₁₂⋅m₂₁ + m₂₂ ⎦" ] }, - "execution_count": 106, + "execution_count": 76, "metadata": {}, "output_type": "execute_result" } @@ -2185,7 +2185,7 @@ }, { "cell_type": "code", - "execution_count": 107, + "execution_count": 77, "metadata": {}, "outputs": [ { @@ -2200,7 +2200,7 @@ "⎣b₁⋅m₂₁ + b₂⋅m₂₂⎦" ] }, - "execution_count": 107, + "execution_count": 77, "metadata": {}, "output_type": "execute_result" } @@ -2286,7 +2286,7 @@ }, { "cell_type": "code", - "execution_count": 110, + "execution_count": 78, "metadata": {}, "outputs": [ { @@ -2299,7 +2299,7 @@ "[-1, 1]" ] }, - "execution_count": 110, + "execution_count": 78, "metadata": {}, "output_type": "execute_result" } @@ -2310,7 +2310,7 @@ }, { "cell_type": "code", - "execution_count": 111, + "execution_count": 79, "metadata": {}, "outputs": [ { @@ -2326,7 +2326,7 @@ "⎣ ╲╱ 2 2 ╲╱ 2 2 ╲╱ 2 2 ╲╱ 2 2 ⎦" ] }, - "execution_count": 111, + "execution_count": 79, "metadata": {}, "output_type": "execute_result" } diff --git a/1_numpy_matplotlib_scipy_sympy/random-matrix.csv b/1_numpy_matplotlib_scipy_sympy/random-matrix.csv index 2577af0..f28cc59 100644 --- a/1_numpy_matplotlib_scipy_sympy/random-matrix.csv +++ b/1_numpy_matplotlib_scipy_sympy/random-matrix.csv @@ -1,3 +1,3 @@ -0.14040 0.96925 0.53435 -0.77574 0.21287 0.68518 -0.32863 0.70297 0.39513 +0.23335 0.09866 0.05722 +0.69545 0.53988 0.70583 +0.74875 0.09428 0.78592 diff --git a/1_numpy_matplotlib_scipy_sympy/random-matrix.npy b/1_numpy_matplotlib_scipy_sympy/random-matrix.npy index 637693f..f796765 100644 Binary files a/1_numpy_matplotlib_scipy_sympy/random-matrix.npy and b/1_numpy_matplotlib_scipy_sympy/random-matrix.npy differ diff --git a/1_numpy_matplotlib_scipy_sympy/utils_git.ipynb b/1_numpy_matplotlib_scipy_sympy/utils_git.ipynb index 0389474..8cb542b 100644 --- a/1_numpy_matplotlib_scipy_sympy/utils_git.ipynb +++ b/1_numpy_matplotlib_scipy_sympy/utils_git.ipynb @@ -291,7 +291,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.5.2" + "version": "3.6.9" } }, "nbformat": 4, diff --git a/1_numpy_matplotlib_scipy_sympy/utils_git_advanced.ipynb b/1_numpy_matplotlib_scipy_sympy/utils_git_advanced.ipynb index 725570f..e8f6b58 100644 --- a/1_numpy_matplotlib_scipy_sympy/utils_git_advanced.ipynb +++ b/1_numpy_matplotlib_scipy_sympy/utils_git_advanced.ipynb @@ -421,7 +421,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.5.2" + "version": "3.6.9" } }, "nbformat": 4, diff --git a/References.md b/References.md index af2369e..58886db 100644 --- a/References.md +++ b/References.md @@ -19,4 +19,5 @@ - https://www.toutiao.com/a6821299115175969287/ - https://github.com/minivision-ai/photo2cartoon -* [Awesome Deep Learning Project Ideas](https://github.com/NirantK/awesome-project-ideas) \ No newline at end of file +* [Awesome Deep Learning Project Ideas](https://github.com/NirantK/awesome-project-ideas) +* [Machine Learning From Scratch](https://github.com/eriklindernoren/ML-From-Scratch) \ No newline at end of file