From 40ed58df742537a3335be2aedecb9199ff8668df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bogumi=C5=82=20Kami=C5=84ski?= Date: Thu, 10 Nov 2022 23:37:10 +0100 Subject: [PATCH] cleanup of lecture notebooks --- lectures/lecture03.ipynb | 2 +- lectures/lecture05.ipynb | 742 ++++++++++++++++++--------------------- lectures/lecture14.ipynb | 4 +- 3 files changed, 346 insertions(+), 402 deletions(-) diff --git a/lectures/lecture03.ipynb b/lectures/lecture03.ipynb index 3aaa119..e8def71 100644 --- a/lectures/lecture03.ipynb +++ b/lectures/lecture03.ipynb @@ -1163,7 +1163,7 @@ "id": "2b6b9648", "metadata": {}, "source": [ - "### Using the STATSBASE.JL package to compute Winsorized mean" + "### Using the StatsBase.jl package to compute Winsorized mean" ] }, { diff --git a/lectures/lecture05.ipynb b/lectures/lecture05.ipynb index 15c2905..0380534 100644 --- a/lectures/lecture05.ipynb +++ b/lectures/lecture05.ipynb @@ -1127,14 +1127,6 @@ "end" ] }, - { - "cell_type": "markdown", - "id": "3075fb4d", - "metadata": {}, - "source": [ - "If we wanted to use broadcasting, we could write:" - ] - }, { "cell_type": "code", "execution_count": 42, @@ -1164,28 +1156,45 @@ ] }, { - "cell_type": "markdown", - "id": "41810f94", + "cell_type": "code", + "execution_count": 43, + "id": "a732c23c", "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0.666542459508775" + ] + }, + "execution_count": 43, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "As you can see, we have changed formulas for `SS_res` and `SS_tot`. In both cases we\n", - "have used the dot (`.`) twice. For example, in `(y .- prediction) .^ 2` we are broadcasting\n", - "both subtraction and exponentiation." + "R²(aq[:, 1], aq[:, 2])" ] }, { - "cell_type": "markdown", - "id": "6cdb516d", + "cell_type": "code", + "execution_count": 44, + "id": "3961cbaf", "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0.666542459508775" + ] + }, + "execution_count": 44, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "#### Efficiency of broadcasting in Julia\n", - "**If Julia\n", - "encounters several broadcasting operations in a single expression, it\n", - "performs it in one pass without allocating any intermediate objects**. This is called **broadcast fusion** and improves the performance of\n", - "broadcasted operations. Broadcast fusion can be efficient because Julia compiles your program as a whole.\n", - "\n", - "If you would like to learn more how this feature of the Julia language works, I recommend\n", - "you start with [this blog post](https://julialang.org/blog/2018/05/extensible-broadcast-fusion/)." + "R2(aq[:, 1], aq[:, 2])" ] }, { @@ -1206,7 +1215,7 @@ }, { "cell_type": "code", - "execution_count": 43, + "execution_count": 45, "id": "773ff5c1", "metadata": {}, "outputs": [ @@ -1216,7 +1225,7 @@ "Any[]" ] }, - "execution_count": 43, + "execution_count": 45, "metadata": {}, "output_type": "execute_result" } @@ -1227,7 +1236,7 @@ }, { "cell_type": "code", - "execution_count": 44, + "execution_count": 46, "id": "595273ae", "metadata": {}, "outputs": [ @@ -1237,7 +1246,7 @@ "Dict{Any, Any}()" ] }, - "execution_count": 44, + "execution_count": 46, "metadata": {}, "output_type": "execute_result" } @@ -1246,18 +1255,9 @@ "Dict()" ] }, - { - "cell_type": "markdown", - "id": "6f255bc1", - "metadata": {}, - "source": [ - "We have created an empty vector and an empty dictionary. They can store any value, which is signaled by the `Any` parameter.\n", - "With vectors you can specify their element type by prefixing the opening square bracket with the type:" - ] - }, { "cell_type": "code", - "execution_count": 45, + "execution_count": 47, "id": "83d058cf", "metadata": {}, "outputs": [ @@ -1270,7 +1270,7 @@ " 3.0" ] }, - "execution_count": 45, + "execution_count": 47, "metadata": {}, "output_type": "execute_result" } @@ -1279,19 +1279,9 @@ "Float64[1, 2, 3]" ] }, - { - "cell_type": "markdown", - "id": "0a7c3861", - "metadata": {}, - "source": [ - "Although we have entered 1, 2, and 3 as integers they got converted to `Float64`\n", - "because we requested that the resulting vector should contain such values.\n", - "Similarly for dictionary we can write:" - ] - }, { "cell_type": "code", - "execution_count": 46, + "execution_count": 48, "id": "c1c48933", "metadata": {}, "outputs": [ @@ -1303,7 +1293,7 @@ " 0x01 => 1.0" ] }, - "execution_count": 46, + "execution_count": 48, "metadata": {}, "output_type": "execute_result" } @@ -1312,20 +1302,9 @@ "Dict{UInt8, Float64}(0 => 0, 1 => 1)" ] }, - { - "cell_type": "markdown", - "id": "d4b63afc", - "metadata": {}, - "source": [ - "As you can see, we have forced the conversion of both keys and values to `UInt8` and\n", - "`Float64` types respectively. Julia prints unsigned integers with\n", - "`0x` prefix, and the shown values are using hexadecimal representation. For example, let us\n", - "specify an explicit conversion from `Int` to `UInt32`:" - ] - }, { "cell_type": "code", - "execution_count": 47, + "execution_count": 49, "id": "c6cee589", "metadata": {}, "outputs": [ @@ -1335,7 +1314,7 @@ "0x000000c8" ] }, - "execution_count": 47, + "execution_count": 49, "metadata": {}, "output_type": "execute_result" } @@ -1344,17 +1323,9 @@ "UInt32(200)" ] }, - { - "cell_type": "markdown", - "id": "52d27bda", - "metadata": {}, - "source": [ - "As a last example below, I create a vector that can store any `Real` value:" - ] - }, { "cell_type": "code", - "execution_count": 48, + "execution_count": 50, "id": "8488fad0", "metadata": {}, "outputs": [ @@ -1367,7 +1338,7 @@ " 0x03" ] }, - "execution_count": 48, + "execution_count": 50, "metadata": {}, "output_type": "execute_result" } @@ -1376,18 +1347,9 @@ "Real[1, 1.0, 0x3]" ] }, - { - "cell_type": "markdown", - "id": "d419dd0f", - "metadata": {}, - "source": [ - "This time no conversion of stored values happened as `Int`, `Float64` and `UInt8`\n", - "types are subtypes of `Real`. To check this run:" - ] - }, { "cell_type": "code", - "execution_count": 49, + "execution_count": 51, "id": "ab8be134", "metadata": {}, "outputs": [ @@ -1400,7 +1362,7 @@ " UInt8" ] }, - "execution_count": 49, + "execution_count": 51, "metadata": {}, "output_type": "execute_result" } @@ -1409,18 +1371,9 @@ "typeof.(Real[1, 1.0, 0x3])" ] }, - { - "cell_type": "markdown", - "id": "005282f6", - "metadata": {}, - "source": [ - "Before we move forward let me introduce the `eltype` function. This function allows us to\n", - "extract the type of elements that some collection can store. Here are a few examples:" - ] - }, { "cell_type": "code", - "execution_count": 50, + "execution_count": 52, "id": "926c1da4", "metadata": {}, "outputs": [ @@ -1433,7 +1386,7 @@ " 3" ] }, - "execution_count": 50, + "execution_count": 52, "metadata": {}, "output_type": "execute_result" } @@ -1444,7 +1397,7 @@ }, { "cell_type": "code", - "execution_count": 51, + "execution_count": 53, "id": "c327318e", "metadata": {}, "outputs": [ @@ -1454,7 +1407,7 @@ "Any" ] }, - "execution_count": 51, + "execution_count": 53, "metadata": {}, "output_type": "execute_result" } @@ -1465,7 +1418,7 @@ }, { "cell_type": "code", - "execution_count": 52, + "execution_count": 54, "id": "ad158a51", "metadata": {}, "outputs": [ @@ -1478,7 +1431,7 @@ " 3.0" ] }, - "execution_count": 52, + "execution_count": 54, "metadata": {}, "output_type": "execute_result" } @@ -1489,7 +1442,7 @@ }, { "cell_type": "code", - "execution_count": 53, + "execution_count": 55, "id": "cda02a92", "metadata": {}, "outputs": [ @@ -1499,7 +1452,7 @@ "Float64" ] }, - "execution_count": 53, + "execution_count": 55, "metadata": {}, "output_type": "execute_result" } @@ -1510,7 +1463,7 @@ }, { "cell_type": "code", - "execution_count": 54, + "execution_count": 56, "id": "08d3eb43", "metadata": {}, "outputs": [ @@ -1523,7 +1476,7 @@ " 3" ] }, - "execution_count": 54, + "execution_count": 56, "metadata": {}, "output_type": "execute_result" } @@ -1534,7 +1487,7 @@ }, { "cell_type": "code", - "execution_count": 55, + "execution_count": 57, "id": "9b72a66f", "metadata": {}, "outputs": [ @@ -1544,7 +1497,7 @@ "Int64" ] }, - "execution_count": 55, + "execution_count": 57, "metadata": {}, "output_type": "execute_result" } @@ -1555,7 +1508,7 @@ }, { "cell_type": "code", - "execution_count": 56, + "execution_count": 58, "id": "e8e4e751", "metadata": {}, "outputs": [ @@ -1565,7 +1518,7 @@ "Dict{Any, Any}()" ] }, - "execution_count": 56, + "execution_count": 58, "metadata": {}, "output_type": "execute_result" } @@ -1576,7 +1529,7 @@ }, { "cell_type": "code", - "execution_count": 57, + "execution_count": 59, "id": "56c0e2ff", "metadata": {}, "outputs": [ @@ -1586,7 +1539,7 @@ "Pair{Any, Any}" ] }, - "execution_count": 57, + "execution_count": 59, "metadata": {}, "output_type": "execute_result" } @@ -1597,7 +1550,7 @@ }, { "cell_type": "code", - "execution_count": 58, + "execution_count": 60, "id": "3b65c129", "metadata": {}, "outputs": [ @@ -1609,7 +1562,7 @@ " 1 => 2" ] }, - "execution_count": 58, + "execution_count": 60, "metadata": {}, "output_type": "execute_result" } @@ -1620,7 +1573,7 @@ }, { "cell_type": "code", - "execution_count": 59, + "execution_count": 61, "id": "2a74b630", "metadata": {}, "outputs": [ @@ -1630,7 +1583,7 @@ "Pair{Int64, Int64}" ] }, - "execution_count": 59, + "execution_count": 61, "metadata": {}, "output_type": "execute_result" } @@ -1639,18 +1592,9 @@ "eltype(d2)" ] }, - { - "cell_type": "markdown", - "id": "a0aa5075", - "metadata": {}, - "source": [ - "For vectors we just get the type, while for dictionaries we get a `Pair` type since, as we\n", - "have already discussed, in Julia the key–value combination has a `Pair` type:" - ] - }, { "cell_type": "code", - "execution_count": 60, + "execution_count": 62, "id": "db2f9a84", "metadata": {}, "outputs": [ @@ -1660,7 +1604,7 @@ "1 => 2" ] }, - "execution_count": 60, + "execution_count": 62, "metadata": {}, "output_type": "execute_result" } @@ -1671,7 +1615,7 @@ }, { "cell_type": "code", - "execution_count": 61, + "execution_count": 63, "id": "a7743439", "metadata": {}, "outputs": [ @@ -1681,7 +1625,7 @@ "Pair{Int64, Int64}" ] }, - "execution_count": 61, + "execution_count": 63, "metadata": {}, "output_type": "execute_result" } @@ -1700,7 +1644,7 @@ }, { "cell_type": "code", - "execution_count": 62, + "execution_count": 64, "id": "ec4db4af", "metadata": {}, "outputs": [ @@ -1710,7 +1654,7 @@ "true" ] }, - "execution_count": 62, + "execution_count": 64, "metadata": {}, "output_type": "execute_result" } @@ -1721,7 +1665,7 @@ }, { "cell_type": "code", - "execution_count": 63, + "execution_count": 65, "id": "3bb6c690", "metadata": {}, "outputs": [ @@ -1731,7 +1675,7 @@ "false" ] }, - "execution_count": 63, + "execution_count": 65, "metadata": {}, "output_type": "execute_result" } @@ -1742,7 +1686,7 @@ }, { "cell_type": "code", - "execution_count": 64, + "execution_count": 66, "id": "a9097c2c", "metadata": {}, "outputs": [ @@ -1752,7 +1696,7 @@ "true" ] }, - "execution_count": 64, + "execution_count": 66, "metadata": {}, "output_type": "execute_result" } @@ -1771,7 +1715,7 @@ }, { "cell_type": "code", - "execution_count": 65, + "execution_count": 67, "id": "a5aa99a3", "metadata": {}, "outputs": [ @@ -1781,7 +1725,7 @@ "ourcov (generic function with 1 method)" ] }, - "execution_count": 65, + "execution_count": 67, "metadata": {}, "output_type": "execute_result" } @@ -1797,7 +1741,7 @@ }, { "cell_type": "code", - "execution_count": 66, + "execution_count": 68, "id": "7b20be6c", "metadata": {}, "outputs": [ @@ -1807,7 +1751,7 @@ "1.3333333333333333" ] }, - "execution_count": 66, + "execution_count": 68, "metadata": {}, "output_type": "execute_result" } @@ -1818,7 +1762,7 @@ }, { "cell_type": "code", - "execution_count": 67, + "execution_count": 69, "id": "9ec6ed54", "metadata": {}, "outputs": [ @@ -1828,7 +1772,7 @@ "1.3333333333333333" ] }, - "execution_count": 67, + "execution_count": 69, "metadata": {}, "output_type": "execute_result" } @@ -1839,20 +1783,20 @@ }, { "cell_type": "code", - "execution_count": 68, + "execution_count": 70, "id": "cd1b61d7", "metadata": {}, "outputs": [ { "ename": "LoadError", - "evalue": "MethodError: no method matching ourcov(::UnitRange{Int64}, ::Vector{Any})\n\u001b[0mClosest candidates are:\n\u001b[0m ourcov(::AbstractVector{<:Real}, \u001b[91m::AbstractVector{<:Real}\u001b[39m) at In[65]:2", + "evalue": "MethodError: no method matching ourcov(::UnitRange{Int64}, ::Vector{Any})\n\u001b[0mClosest candidates are:\n\u001b[0m ourcov(::AbstractVector{<:Real}, \u001b[91m::AbstractVector{<:Real}\u001b[39m) at In[67]:2", "output_type": "error", "traceback": [ - "MethodError: no method matching ourcov(::UnitRange{Int64}, ::Vector{Any})\n\u001b[0mClosest candidates are:\n\u001b[0m ourcov(::AbstractVector{<:Real}, \u001b[91m::AbstractVector{<:Real}\u001b[39m) at In[65]:2", + "MethodError: no method matching ourcov(::UnitRange{Int64}, ::Vector{Any})\n\u001b[0mClosest candidates are:\n\u001b[0m ourcov(::AbstractVector{<:Real}, \u001b[91m::AbstractVector{<:Real}\u001b[39m) at In[67]:2", "", "Stacktrace:", " [1] top-level scope", - " @ In[68]:1", + " @ In[70]:1", " [2] eval", " @ .\\boot.jl:373 [inlined]", " [3] include_string(mapexpr::typeof(REPL.softscope), mod::Module, code::String, filename::String)", @@ -1874,7 +1818,7 @@ }, { "cell_type": "code", - "execution_count": 69, + "execution_count": 71, "id": "56bd440c", "metadata": {}, "outputs": [ @@ -1887,7 +1831,7 @@ " 3" ] }, - "execution_count": 69, + "execution_count": 71, "metadata": {}, "output_type": "execute_result" } @@ -1898,7 +1842,7 @@ }, { "cell_type": "code", - "execution_count": 70, + "execution_count": 72, "id": "39895d09", "metadata": {}, "outputs": [ @@ -1911,7 +1855,7 @@ " 3" ] }, - "execution_count": 70, + "execution_count": 72, "metadata": {}, "output_type": "execute_result" } @@ -1922,7 +1866,7 @@ }, { "cell_type": "code", - "execution_count": 71, + "execution_count": 73, "id": "4dfbb644", "metadata": {}, "outputs": [ @@ -1934,7 +1878,7 @@ " 2.0" ] }, - "execution_count": 71, + "execution_count": 73, "metadata": {}, "output_type": "execute_result" } @@ -1945,7 +1889,7 @@ }, { "cell_type": "code", - "execution_count": 72, + "execution_count": 74, "id": "9350be2c", "metadata": {}, "outputs": [ @@ -1957,7 +1901,7 @@ " 2.0" ] }, - "execution_count": 72, + "execution_count": 74, "metadata": {}, "output_type": "execute_result" } @@ -1984,7 +1928,7 @@ }, { "cell_type": "code", - "execution_count": 73, + "execution_count": 75, "id": "a38d026f", "metadata": {}, "outputs": [ @@ -2020,7 +1964,7 @@ " -4.40253 -1.62642 -1.01099 -0.926064 0.0914986" ] }, - "execution_count": 73, + "execution_count": 75, "metadata": {}, "output_type": "execute_result" } @@ -2033,7 +1977,7 @@ }, { "cell_type": "code", - "execution_count": 74, + "execution_count": 76, "id": "9ac03dd5", "metadata": {}, "outputs": [ @@ -2069,7 +2013,7 @@ " 2.77582 1.53736 -0.805129 -0.315228 1.35773" ] }, - "execution_count": 74, + "execution_count": 76, "metadata": {}, "output_type": "execute_result" } @@ -2080,7 +2024,7 @@ }, { "cell_type": "code", - "execution_count": 75, + "execution_count": 77, "id": "51ce592f", "metadata": {}, "outputs": [ @@ -2116,7 +2060,7 @@ " 2.77582 1.53736 -0.805129 -0.315228 1.35773" ] }, - "execution_count": 75, + "execution_count": 77, "metadata": {}, "output_type": "execute_result" } @@ -2135,7 +2079,7 @@ }, { "cell_type": "code", - "execution_count": 76, + "execution_count": 78, "id": "88c2531f", "metadata": {}, "outputs": [ @@ -2145,7 +2089,7 @@ "PyObject " ] }, - "execution_count": 76, + "execution_count": 78, "metadata": {}, "output_type": "execute_result" } @@ -2157,7 +2101,7 @@ }, { "cell_type": "code", - "execution_count": 77, + "execution_count": 79, "id": "01010cd1", "metadata": {}, "outputs": [ @@ -2167,7 +2111,7 @@ "PyObject TSNE(init='random', learning_rate='auto', random_state=1234)" ] }, - "execution_count": 77, + "execution_count": 79, "metadata": {}, "output_type": "execute_result" } @@ -2179,7 +2123,7 @@ }, { "cell_type": "code", - "execution_count": 78, + "execution_count": 80, "id": "dc3f6d2d", "metadata": {}, "outputs": [ @@ -2215,7 +2159,7 @@ " 5.05417 13.2529" ] }, - "execution_count": 78, + "execution_count": 80, "metadata": {}, "output_type": "execute_result" } @@ -2234,7 +2178,7 @@ }, { "cell_type": "code", - "execution_count": 79, + "execution_count": 81, "id": "8ab58e53", "metadata": {}, "outputs": [ @@ -2244,320 +2188,320 @@ "\n", "\n", "\n", - " \n", + " \n", " \n", " \n", "\n", - "\n", "\n", - " \n", + " \n", " \n", " \n", "\n", - "\n", "\n", - " \n", + " \n", " \n", " \n", "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", "\n" ] }, - "execution_count": 79, + "execution_count": 81, "metadata": {}, "output_type": "execute_result" } diff --git a/lectures/lecture14.ipynb b/lectures/lecture14.ipynb index 582d83d..bf58dee 100644 --- a/lectures/lecture14.ipynb +++ b/lectures/lecture14.ipynb @@ -527,8 +527,8 @@ ], "source": [ "annotate!([(T, Y + 0.01, \"Y\"),\n", - "(T, K + 0.01, \"K\"),\n", - "(T, X[end] + 0.01, \"X\")])" + " (T, K + 0.01, \"K\"),\n", + " (T, X[end] + 0.01, \"X\")])" ] }, {