{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Part 1" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Exercise 1" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "a =\n", "\n", " 1.2000 5.4000 6.0000 1.5000 9.0000\n", "\n", "b =\n", "\n", " 5.2000 3.1416 1.2000 1.5000 2.0000\n", "\n" ] } ], "source": [ "a = [1.2 5.4 6 1.5 9]\n", "b = [5.2 pi 1.2 1.5 2]" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "ans =\n", "\n", " 1.0954 2.3238 2.4495 1.2247 3.0000\n", "\n" ] } ], "source": [ "sqrt(a)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "ans =\n", "\n", " 1.8221 14.8797 20.0855 2.1170 90.0171\n", "\n" ] } ], "source": [ "e.^(a/2)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "ans =\n", "\n", " 6.4000 8.5416 7.2000 3.0000 11.0000\n", "\n" ] } ], "source": [ "a + b" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "ans =\n", "\n", " 6.2400 16.9646 7.2000 2.2500 18.0000\n", "\n" ] } ], "source": [ "a.* b" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "v1 =\n", "\n", " Columns 1 through 6:\n", "\n", " 0.00000 0.50000 1.00000 1.50000 2.00000 2.50000\n", "\n", " Columns 7 through 12:\n", "\n", " 3.00000 3.50000 4.00000 4.50000 5.00000 5.50000\n", "\n", " Columns 13 through 18:\n", "\n", " 6.00000 6.50000 7.00000 7.50000 8.00000 8.50000\n", "\n", " Columns 19 through 24:\n", "\n", " 9.00000 9.50000 10.00000 10.50000 11.00000 11.50000\n", "\n", " Columns 25 through 30:\n", "\n", " 12.00000 12.50000 13.00000 13.50000 14.00000 14.50000\n", "\n", " Columns 31 through 36:\n", "\n", " 15.00000 15.50000 16.00000 16.50000 17.00000 17.50000\n", "\n", " Columns 37 through 42:\n", "\n", " 18.00000 18.50000 19.00000 19.50000 20.00000 20.50000\n", "\n", " Columns 43 through 48:\n", "\n", " 21.00000 21.50000 22.00000 22.50000 23.00000 23.50000\n", "\n", " Columns 49 through 54:\n", "\n", " 24.00000 24.50000 25.00000 25.50000 26.00000 26.50000\n", "\n", " Columns 55 through 60:\n", "\n", " 27.00000 27.50000 28.00000 28.50000 29.00000 29.50000\n", "\n", " Column 61:\n", "\n", " 30.00000\n", "\n" ] } ], "source": [ "v1 = 0 : 0.5 : 30" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "v =\n", "\n", " Columns 1 through 8:\n", "\n", " 1.0000 1.0101 1.0202 1.0303 1.0404 1.0505 1.0606 1.0707\n", "\n", " Columns 9 through 16:\n", "\n", " 1.0808 1.0909 1.1010 1.1111 1.1212 1.1313 1.1414 1.1515\n", "\n", " Columns 17 through 24:\n", "\n", " 1.1616 1.1717 1.1818 1.1919 1.2020 1.2121 1.2222 1.2323\n", "\n", " Columns 25 through 32:\n", "\n", " 1.2424 1.2525 1.2626 1.2727 1.2828 1.2929 1.3030 1.3131\n", "\n", " Columns 33 through 40:\n", "\n", " 1.3232 1.3333 1.3434 1.3535 1.3636 1.3737 1.3838 1.3939\n", "\n", " Columns 41 through 48:\n", "\n", " 1.4040 1.4141 1.4242 1.4343 1.4444 1.4545 1.4646 1.4747\n", "\n", " Columns 49 through 56:\n", "\n", " 1.4848 1.4949 1.5051 1.5152 1.5253 1.5354 1.5455 1.5556\n", "\n", " Columns 57 through 64:\n", "\n", " 1.5657 1.5758 1.5859 1.5960 1.6061 1.6162 1.6263 1.6364\n", "\n", " Columns 65 through 72:\n", "\n", " 1.6465 1.6566 1.6667 1.6768 1.6869 1.6970 1.7071 1.7172\n", "\n", " Columns 73 through 80:\n", "\n", " 1.7273 1.7374 1.7475 1.7576 1.7677 1.7778 1.7879 1.7980\n", "\n", " Columns 81 through 88:\n", "\n", " 1.8081 1.8182 1.8283 1.8384 1.8485 1.8586 1.8687 1.8788\n", "\n", " Columns 89 through 96:\n", "\n", " 1.8889 1.8990 1.9091 1.9192 1.9293 1.9394 1.9495 1.9596\n", "\n", " Columns 97 through 100:\n", "\n", " 1.9697 1.9798 1.9899 2.0000\n", "\n" ] } ], "source": [ "v = linspace(1, 2)" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "row1 =\n", "\n", " 10 12 14 16 18 20\n", "\n", "row2 =\n", "\n", " 20 18 16 14 12 10\n", "\n", "A =\n", "\n", " 10 12 14 16 18 20\n", " 20 18 16 14 12 10\n", "\n" ] } ], "source": [ "row1 = linspace(10, 20, 6)\n", "row2 = linspace(20, 10, 6)\n", "A = [row1; row2]" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "ans = 50.655\n" ] } ], "source": [ "dot(a, b)" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "A =\n", "\n", " 1.2000 5.4000 6.0000 1.5000 9.0000\n", " 5.2000 3.1416 1.2000 1.5000 2.0000\n", "\n" ] } ], "source": [ "A = [a; b]" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "y =\n", "\n", " 6.2400 16.9646 7.2000 2.2500 18.0000\n", " 27.0400 9.8696 1.4400 2.2500 4.0000\n", "\n" ] } ], "source": [ "y = A.* b" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "M =\n", "\n", "Diagonal Matrix\n", "\n", " 1.2000 0 0 0 0\n", " 0 5.4000 0 0 0\n", " 0 0 6.0000 0 0\n", " 0 0 0 1.5000 0\n", " 0 0 0 0 9.0000\n", "\n", "M1 =\n", "\n", " 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000\n", " 1.20000 0.00000 0.00000 0.00000 0.00000 0.00000\n", " 0.00000 5.40000 0.00000 0.00000 0.00000 0.00000\n", " 0.00000 0.00000 6.00000 0.00000 0.00000 0.00000\n", " 0.00000 0.00000 0.00000 1.50000 0.00000 0.00000\n", " 0.00000 0.00000 0.00000 0.00000 9.00000 0.00000\n", "\n", "M2 =\n", "\n", " 0.00000 1.20000 0.00000 0.00000 0.00000 0.00000\n", " 0.00000 0.00000 5.40000 0.00000 0.00000 0.00000\n", " 0.00000 0.00000 0.00000 6.00000 0.00000 0.00000\n", " 0.00000 0.00000 0.00000 0.00000 1.50000 0.00000\n", " 0.00000 0.00000 0.00000 0.00000 0.00000 9.00000\n", " 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000\n", "\n" ] } ], "source": [ "M = diag(a)\n", "M1 = diag(a, -1)\n", "M2 = diag(a, 1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Exercise 2" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "col =\n", "\n", " 3\n", " 3\n", " 3\n", "\n", "M =\n", "\n", " 2 2 2\n", " 2 2 2\n", " 2 2 2\n", "\n", "M =\n", "\n", " 2 2 2 3\n", " 2 2 2 3\n", " 2 2 2 3\n", "\n" ] } ], "source": [ "col = [3 3 3]'\n", "M = 2 * ones(3)\n", "M = [M, col]" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "B =\n", "\n", "Diagonal Matrix\n", "\n", " 2 0 0\n", " 0 2 0\n", " 0 0 2\n", "\n", "row =\n", "\n", " 1 2 3 4 5 6 7 8 9 10\n", "\n", "M =\n", "\n", " 1 2 3 4 5 6 7 8 9 10\n", " 1 2 3 4 5 6 7 8 9 10\n", " 1 2 3 4 5 6 7 8 9 10\n", "\n", "M =\n", "\n", " 2 0 0 1 2 3 4 5 6 7 8 9 10\n", " 0 2 0 1 2 3 4 5 6 7 8 9 10\n", " 0 0 2 1 2 3 4 5 6 7 8 9 10\n", "\n" ] } ], "source": [ "B = 2 * eye(3)\n", "row = [1 2 3 4 5 6 7 8 9 10]\n", "M = [row; row; row]\n", "M = [B, M]" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "a =\n", "\n", " 2 2 2 2 2\n", "\n", "b =\n", "\n", " -1 -1 -1 -1\n", "\n", "C =\n", "\n", "Diagonal Matrix\n", "\n", " 2 0 0 0 0\n", " 0 2 0 0 0\n", " 0 0 2 0 0\n", " 0 0 0 2 0\n", " 0 0 0 0 2\n", "\n", "D =\n", "\n", " 0 0 0 0 0\n", " -1 0 0 0 0\n", " 0 -1 0 0 0\n", " 0 0 -1 0 0\n", " 0 0 0 -1 0\n", "\n", "E =\n", "\n", " 0 -1 0 0 0\n", " 0 0 -1 0 0\n", " 0 0 0 -1 0\n", " 0 0 0 0 -1\n", " 0 0 0 0 0\n", "\n", "F =\n", "\n", " 2 -1 0 0 0\n", " -1 2 -1 0 0\n", " 0 -1 2 -1 0\n", " 0 0 -1 2 -1\n", " 0 0 0 -1 2\n", "\n" ] } ], "source": [ "a = [2 2 2 2 2]\n", "b = [-1 -1 -1 -1]\n", "C = diag(a)\n", "D = diag(b, -1)\n", "E = diag(b, 1)\n", "F = C + D + E" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "row =\n", "\n", " 2 2 3 3\n", "\n", "base =\n", "\n", " 0 0\n", " 0 0\n", "\n", "block =\n", "\n", "Diagonal Matrix\n", "\n", " 5 0\n", " 0 5\n", "\n", "D =\n", "\n", " 2 2 3 3\n", " 2 2 3 3\n", " 0 0 0 0\n", " 0 0 0 0\n", " 0 0 5 0\n", " 0 0 0 5\n", "\n" ] } ], "source": [ "row = [2 2 3 3]\n", "base = zeros(2)\n", "block = 5 * eye(2)\n", "D = [row; row; base base; base block]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Exercise 3" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "ans = 5151\n", "a = 5151\n" ] } ], "source": [ "n = 0 : 101;\n", "sum(n)\n", "\n", "a = 0;\n", "for(i = 0:101)\n", " a += i;\n", "endfor\n", "a" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Exercise 4" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [], "source": [ "function retval = transform(n)\n", " if (n > 1)\n", " if (mod(n, 2) == 0)\n", " retval = n./2;\n", " else\n", " retval = 3 .* n + 1;\n", " endif\n", " else\n", " error (\"expecting value > 1\");\n", " endif\n", "endfunction" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "ans = 2\n" ] } ], "source": [ "transform(4)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Exercise 5" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In mathematics, the Fibonacci numbers, commonly denoted $Fn$, form a sequence, called the Fibonacci sequence, such that each number is the sum of the two preceding ones, starting from $0$ and $1$. That is,\n", "\n", "$$ F_{0}=0, F_{1}=1 $$\n", "\n", "and \n", "\n", "$$ F_{n} = F_{n-1} + F_{n-2} $$ for $n > 1$. " ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [], "source": [ "function retval = fibonacci_rec(n)\n", " if(n == 0)\n", " retval = 0;\n", " elseif(n == 1)\n", " retval = 1;\n", " else\n", " retval = fibonacci_rec(n - 1) + fibonacci_rec(n - 2);\n", " end\n", "end" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [], "source": [ "function f_0 = fibonacci(n)\n", "f_1 = 1;\n", "f_2 = 0;\n", "i = 1;\n", " while i < n\n", " f_0 = (f_1) + (f_2);\n", " f_2 = f_1;\n", " f_1 = f_0;\n", " i = i + 1;\n", " end\n", "end" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "ans = 46368\n", "elapsed_time = 1.0456\n", "ans = 46368\n", "elapsed_time = 0.0019200\n" ] } ], "source": [ "tic()\n", "fibonacci_rec(24)\n", "elapsed_time = toc()\n", "tic()\n", "fibonacci(24)\n", "elapsed_time = toc()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Exercise 6" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "An algorithm for computing the midpoint" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [], "source": [ "beta = 10;\n", "t = 2;\n", "a = 0.96e-01;\n", "b = 0.99e-01;" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The first algorithm uses: $$a + \\frac{b-a}{2} $$" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "c = 0.19500\n" ] } ], "source": [ "c = a + b\n", "# a = vpa(a, 2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This means that the result obtained with this equation does not belong to the range $[0.096-0.099]$ and thus is incorrect. Another way of computing the midpoint is this: \n", "$$a + \\frac{b- a}{2} $$" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "d = 0.097500\n" ] } ], "source": [ "d = a + (b - a) / 2" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This time a correct result is obtained, considering the approximation of $fl_a$." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Exercise 7" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The Algorithm of Archimedes for computing $\\pi$. This algorithm provides approximations to $\\pi$ through the use of the succession $\\{A_i\\}_{i = 1,...,n}$. This succession computes the " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "L'algoritmo di Archimede per il calcolo di pigreco implementato dalla funzione `archimede(n)` soffre di instabilità numerica poiché il valore di pigreco diverge in modo progressivamente maggiore dal valore reale di pigreco a partire dal passo `n = 15`. \n", "\n", "In particolare si nota che il valore dell'errore relativo subisce un brusco aumento a partire dal passo `n = 16`." ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [], "source": [ "function A=archimede(n)\n", "b(1)=2;\n", "s(1)=1;\n", " for i=1:n\n", " A(i)=b(i)*s(i);\n", " s(i+1)=sqrt( (1-sqrt(1-s(i)^2) )/2 );\n", " b(i+1)=2*b(i);\n", " end\n", "end" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "La funzione `myarchimede(n)` rappresenta una variante dell'algoritmo di Archimede che riesce a porre rimedio all'instabilità di cui soffriva la precedente versione. Ciò è dovuto alla diversa strategia adottata per il calcolo del valore della cella i-esima del vettore `s`.\n", "\n", "L'espressione:\n", "\n", "$$\\sqrt{\\frac{1-\\sqrt{1-s^2_{t-1}}}{2}}$$\n", "\n", "si riformula in:\n", "\n", "$$\\frac{s_{i-1}}{\\sqrt{2 \\left( 1+\\sqrt{1-s^2_{i-1}} \\right)}}$$" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [], "source": [ "function A=myarchimede(n)\n", "b(1)=2;\n", "s(1)=1;\n", " for i=1:n\n", " A(i)=b(i)*s(i);\n", " s(i+1)=s(i)/sqrt( 2*(1+sqrt(1-s(i)^2)) );\n", " b(i+1)=2*b(i);\n", " end\n", "end" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjAAAAGkCAIAAACgjIjwAAAJMmlDQ1BkZWZhdWx0X3JnYi5pY2MAAEiJlZVnUJNZF8fv8zzphUASQodQQ5EqJYCUEFoo0quoQOidUEVsiLgCK4qINEWQRQEXXJUia0UUC4uCAhZ0gywCyrpxFVFBWXDfGZ33HT+8/5l7z2/+c+bec8/5cAEgiINlwct7YlK6wNvJjhkYFMwE3yiMn5bC8fR0A9/VuxEArcR7ut/P+a4IEZFp/OW4uLxy+SmCdACg7GXWzEpPWeGjy0wPj//CZ1dYsFzgMt9Y4eh/eexLzr8s+pLj681dfhUKABwp+hsO/4b/c++KVDiC9NioyGymT3JUelaYIJKZttIJHpfL9BQkR8UmRH5T8P+V/B2lR2anr0RucsomQWx0TDrzfw41MjA0BF9n8cbrS48hRv9/z2dFX73kegDYcwAg+7564ZUAdO4CQPrRV09tua+UfAA67vAzBJn/eqiVDQ0IgALoQAYoAlWgCXSBETADlsAWOAAX4AF8QRDYAPggBiQCAcgCuWAHKABFYB84CKpALWgATaAVnAad4Dy4Aq6D2+AuGAaPgRBMgpdABN6BBQiCsBAZokEykBKkDulARhAbsoYcIDfIGwqCQqFoKAnKgHKhnVARVApVQXVQE/QLdA66At2EBqGH0Dg0A/0NfYQRmATTYQVYA9aH2TAHdoV94fVwNJwK58D58F64Aq6HT8Id8BX4NjwMC+GX8BwCECLCQJQRXYSNcBEPJBiJQgTIVqQQKUfqkVakG+lD7iFCZBb5gMKgaCgmShdliXJG+aH4qFTUVlQxqgp1AtWB6kXdQ42jRKjPaDJaHq2DtkDz0IHoaHQWugBdjm5Et6OvoYfRk+h3GAyGgWFhzDDOmCBMHGYzphhzGNOGuYwZxExg5rBYrAxWB2uF9cCGYdOxBdhK7EnsJewQdhL7HkfEKeGMcI64YFwSLg9XjmvGXcQN4aZwC3hxvDreAu+Bj8BvwpfgG/Dd+Dv4SfwCQYLAIlgRfAlxhB2ECkIr4RphjPCGSCSqEM2JXsRY4nZiBfEU8QZxnPiBRCVpk7ikEFIGaS/pOOky6SHpDZlM1iDbkoPJ6eS95CbyVfJT8nsxmpieGE8sQmybWLVYh9iQ2CsKnqJO4VA2UHIo5ZQzlDuUWXG8uIY4VzxMfKt4tfg58VHxOQmahKGEh0SiRLFEs8RNiWkqlqpBdaBGUPOpx6hXqRM0hKZK49L4tJ20Bto12iQdQ2fRefQ4ehH9Z/oAXSRJlTSW9JfMlqyWvCApZCAMDQaPkcAoYZxmjDA+SilIcaQipfZItUoNSc1Ly0nbSkdKF0q3SQ9Lf5RhyjjIxMvsl+mUeSKLktWW9ZLNkj0ie012Vo4uZynHlyuUOy33SB6W15b3lt8sf0y+X35OQVHBSSFFoVLhqsKsIkPRVjFOsUzxouKMEk3JWilWqUzpktILpiSTw0xgVjB7mSJleWVn5QzlOuUB5QUVloqfSp5Km8oTVYIqWzVKtUy1R1WkpqTmrpar1qL2SB2vzlaPUT+k3qc+r8HSCNDYrdGpMc2SZvFYOawW1pgmWdNGM1WzXvO+FkaLrRWvdVjrrjasbaIdo12tfUcH1jHVidU5rDO4Cr3KfFXSqvpVo7okXY5upm6L7rgeQ89NL0+vU++Vvpp+sP5+/T79zwYmBgkGDQaPDamGLoZ5ht2GfxtpG/GNqo3uryavdly9bXXX6tfGOsaRxkeMH5jQTNxNdpv0mHwyNTMVmLaazpipmYWa1ZiNsulsT3Yx+4Y52tzOfJv5efMPFqYW6RanLf6y1LWMt2y2nF7DWhO5pmHNhJWKVZhVnZXQmmkdan3UWmijbBNmU2/zzFbVNsK20XaKo8WJ45zkvLIzsBPYtdvNcy24W7iX7RF7J/tC+wEHqoOfQ5XDU0cVx2jHFkeRk4nTZqfLzmhnV+f9zqM8BR6f18QTuZi5bHHpdSW5+rhWuT5z03YTuHW7w+4u7gfcx9aqr01a2+kBPHgeBzyeeLI8Uz1/9cJ4eXpVez33NvTO9e7zofls9Gn2eedr51vi+9hP0y/Dr8ef4h/i3+Q/H2AfUBogDNQP3BJ4O0g2KDaoKxgb7B/cGDy3zmHdwXWTISYhBSEj61nrs9ff3CC7IWHDhY2UjWEbz4SiQwNCm0MXwzzC6sPmwnnhNeEiPpd/iP8ywjaiLGIm0iqyNHIqyiqqNGo62ir6QPRMjE1MecxsLDe2KvZ1nHNcbdx8vEf88filhICEtkRcYmjiuSRqUnxSb7JicnbyYIpOSkGKMNUi9WCqSOAqaEyD0tandaXTlz/F/gzNjF0Z45nWmdWZ77P8s85kS2QnZfdv0t60Z9NUjmPOT5tRm/mbe3KVc3fkjm/hbKnbCm0N39qzTXVb/rbJ7U7bT+wg7Ijf8VueQV5p3tudATu78xXyt+dP7HLa1VIgViAoGN1tubv2B9QPsT8M7Fm9p3LP58KIwltFBkXlRYvF/OJbPxr+WPHj0t6ovQMlpiVH9mH2Je0b2W+z/0SpRGlO6cQB9wMdZcyywrK3BzcevFluXF57iHAo45Cwwq2iq1Ktcl/lYlVM1XC1XXVbjXzNnpr5wxGHh47YHmmtVagtqv14NPbogzqnuo56jfryY5hjmceeN/g39P3E/qmpUbaxqPHT8aTjwhPeJ3qbzJqamuWbS1rgloyWmZMhJ+/+bP9zV6tua10bo63oFDiVcerFL6G/jJx2Pd1zhn2m9az62Zp2WnthB9SxqUPUGdMp7ArqGjzncq6n27K7/Ve9X4+fVz5ffUHyQslFwsX8i0uXci7NXU65PHsl+spEz8aex1cDr97v9eoduOZ67cZ1x+tX+zh9l25Y3Th/0+LmuVvsW523TW939Jv0t/9m8lv7gOlAxx2zO113ze92D64ZvDhkM3Tlnv296/d5928Prx0eHPEbeTAaMip8EPFg+mHCw9ePMh8tPN4+hh4rfCL+pPyp/NP637V+bxOaCi+M24/3P/N59niCP/Hyj7Q/Fifzn5Ofl08pTTVNG02fn3Gcufti3YvJlykvF2YL/pT4s+aV5quzf9n+1S8KFE2+Frxe+rv4jcyb42+N3/bMec49fZf4bmG+8L3M+xMf2B/6PgZ8nFrIWsQuVnzS+tT92fXz2FLi0tI/QiyQvpTNDAsAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAfdEVYdFNvZnR3YXJlAEdQTCBHaG9zdHNjcmlwdCA5LjUzLjNvnKwnAAAgAElEQVR4nO3dv3MiyR338eZ5nljcOqYJrYDJthygy1wXQGiChXJitkpsqgQuMlWuJbKbROGJRFVOPGwV5chc1e2FC4kvmwl0zuiLHJw1/AM8Qa9mR0ggZjQj5sf7VVtleiTEeA7x0be7p7u02WwEAADH9n+OfQIAAAhBIAEAUuL/xfizlFLr9brdbluW9bAJAMAesVVItm1Xq9V+vz8ejx82AQDYL7ZAchyn0WiUy+VHmwAA7BcukDzP01oHjziO43meEEJrHYyfrSYAAPuFC6TpdPqPf/zDb3a7Xdu23759u1gsarWa4zj+l7aaAADsF2JSQ6vVcl33/PzcNOfzuZRyNBpprYfD4Wg0Go/HlUqlVqsJITqdTrAJAMB+pVA3xiqlhBCDwcA8rlar7XZbCHF6enpzc2M69Pw5dVtNAAD2eNa0bymleVCv14UQ5XI5OG601Qw6PT39+eef/SarRQAAnhVI/gSH5XIZ9rmEEAAgKPq0b8uyVquVEEJrzUARAOCZoldIzWZzMpkopZbLZa/Xi/GcAAD7lUqlY5/CF3H1eIWb1PDQYrGQUvqDSQcykyCe87oAUGSl0nM/veMS45k8dy27s7OzWM4DAFBwrPYNAEgFAgkAkApxbj+RHDN8F+ykNMN5KelCBQA8X2YqpI0QYrPx/xFEAPCSPnz4cHV1lehLHGeeRthZdqVS6XMg3T+6fQQAiiHU3LZH54iH/fB//fq1EOKnn356zpnsl40K6V4apWn2PQBkwua+sE//6aefXr9+/c0333z48CGJ0zOyEUglEcihzYZMAoCX9N1337158+bNmzc//PBDcq+S2S47k0l02QEopIcdZTGu3fAwF169emW67H788cdff/311atXe84ksmxUSMIvku7+lbbKJgAots1uD7/65PcHffjw4d27dx8/fvz48eO3336bXK9dNgLp8zUKzrLzj5BJAJCkH3744c2bN+Zxor122eiyewLddwAK5uVn2cVyJvtl48bYJ5hrwSxwAHhMVm7dzEaX3UHovgOALIszkJRSw+HQcRz/yGQyifHnP81kErEEABkUWyDZtl2tVvv9/ng8FkJorVut1qdPn+L6+YdipgMAZFNsgeQ4TqPRKJfLpimlnM1mcf3w0CiVACBrDgokz/O01sEjjuN4nieEsG1bKaW11lr7aZQKgVKpVCqV/BuY7hz7/AAA9xw0y246nd7e3g4GA9PsdrtSStd1+/1+u902B2u1muM4lmUldabR3GXS5q65MRF1zHMCADzi6UBqtVqu656fn5vmfD6XUo5GI631cDj0tzDvdDrj8bhSqdRqtQTPN4K7EPo8KZwRJgBIpacDaTabKaX8pl8GSSmXy6V/XEr5/v17rXWwSLq+vo7zZJ/D5NBdJm3IJABImSg3xkopzYN6vR48Xi6XDx9GCo7ivNBNW8FMAgCkTJRA8ic4BCuksI5z5zD9dQCQVqGnfVuWtVqthBBa69QNF+3AuuAAkH6hK6RmszmZTJRSy+Wy1+slcU5JKAmxNb9uQ/cdAKRJxFVaF4uFlNIfTAor5tW+I2OZcADZFGWN7eC+2+F9+PDhf//737t370zz48eP33zzTcQz2XWCedh+4pkolQBkTegYCH7QRfrQMzvG/vTTT0KIDx8+fPfdd69fv/7rX/9axB1jE8RMBwD5tpVA4T/0fvrpp9evX3/zzTdmu9hvvvnm9evXv/nNb2I+TSqkz+i+A5Adj9QlMf5h/eCT8N27d2/evHn16tV33313dXX1xJlERSDdR/cdgCwIFwMPP9lCfta9evXKdNn9+OOPv/7666tXryKeyV502d1H9x2A3AuZRh8+fHj37t3Hjx8/fvz47bffml67JBBID7B1BYCc8T/WzL+QBc0PP/zw5s0b8/jNmzc//PBDAqcoBF12+9B9ByCtYuwoe6YYzyTK0kFFsdmYFfeCV7r0+SupeB8AQJ4QSHuZdcED8bNhaz8ASAZjSAcIDilRHAFAMgikAwR2QwcAJIRAOhiZBABJYgzpCaXguuBkEoDUyN+INoH0NH/rCuHPsmNGOICjyuVwdpyBpJRar9ftdtuyLM/zxuOxEOLs7KzZbMb4Ki9s67/6lwaZBACxim0MybbtarXa7/dNDk2n07Ozs9FoZNt2XC+RLnTfAUCsYgskx3EajUa5XDbNRqNhCqP1eh3XS6QOiwwBQHwOCiTP87TWwSOO43ieJ4SwbVsppbXWWvtpJISQUi4Wi263+/79+3jPOF2YEQ4AMTloDGk6nd7e3g4GA9PsdrtSStd1+/1+u902B2u1muM4lmWZ5nw+XywW19fXCZxz+phMYkgJAJ7h6UBqtVqu656fn5vmfD6XUo5GI631cDg8Ozszxzudzng8rlQqtVpNCPH99997ntftdoUQhYglv04ilgAgkqcDaTabKaX8pl8GSSmXy6V/XEr5/v17rbX56uXlZQJnm24miiiVACCSKNO+pZTmQb1eDx4vl8vBYaT9grd05WpCPd13ABBJlEDyJzgEK6SwchVCW+667/zI3QQf5/j/OAA8Q+hp35ZlrVYrIYTW2gwX4RGbjUke889/DADYJXSF1Gw2J5OJUmq5XPZ6vSTOKW/8dfACSxABALZE3Hp2sVhIKf3BpLCysYX585nBpOCQEsNLALBDxLXs/NneeBozwgHgAKz2/SL8GeEAgB3YoC9BJREIIdIIAPaiQkqWv5fSl2nfdN8BwGMIpAQFJ4xs5w+zGwDgPrrsjoQ1wgHgPgLpeMgkAAggkI6KLf4A4A6BdGxs8QcAQggCKS3IJACFRyClBt13AIqNQEoTuu8AFBj3IaXPZuNvX+jfqfS5ya1LAPKLCimV/P2TTM1EEAEogDgrJKXUer1ut9uWZXmeNx6P1+t1r9ezLCvGVykWf0GHzYa9lADkW2wVkm3b1Wq13++Px2MhxNXVVbvdvry8nEwmcb1E4TCkBKBIYgskx3EajUa5XDbNwWAgpZzP55VKJa6XKCgyCUAxHBRInudprYNHHMfxPE8IYdu2UkprrbX208i3Xq/X63Vc51oo97auIJMAFMBBgTSdTv/xj3/4zW63a9v227dvF4tFu902xVCtVnMcx/8epVS5XG6321tJhnDMnUn+BhbEEoD8enpSQ6vVcl33/PzcNOfzuZRyNBpprYfDob+XeafTGY/HlUqlVqsJISzLuri4qFQqUsrkzj7HHk6s+9xm3woAOfV0IM1mM6WU33Qcx8yak1Iul0v/uJTy/fv3Wmvz1WazaebaMcUuZqb7jkwCkDtRpn37RU+9Xg8eL5fLwWEkKeWe8qgU6H3iNptw/CElrhuAHIkSSP6wULBCCosQehZz9SiVAORI6GnflmWtVishhNbaDBfhaJh9ByBHQldIzWZzMpkopZbLZa/XS+KcEALddwDyohSt62yxWOwfItrv9PT05uYm2nPxOLrvAGRcxLXs/NneSAtm3wHIOFb7zhGGlABkGfsh5ctdJpUCeyl9blI8AUg3Ail3NptSqfR5LyX/GJUTgNSjyy6HPqcRIQQgUwik/DKZRCwByAi67HLNX9ABAA5Q2vFx8TKD0ARSDpXMoBGzGACE9zB7dqVU7AikfCoFJjKY/yGiAKQcgZRDW3/gfGmwyBCAw5RKEdfxeQ4mNRTJZsPsOwBPOkoaCQKpiMgkALsdK40EXXYFxRrhAB7wJy+82CyGLQRSUbHFH4CAIxZGvji77JRSw+HQcRz/iG3bwSZSh+47oPBKpVIa0kjEGEi2bVer1X6/Px6PzRGt9dXV1Xq9juslkAgyCSgwE0VpSCMRYyA5jtNoNMrlsn/k6uqq0WjE9fORIBYZAgopJYWR76BA8jxPax084jiO53lCCNu2lVJaa611MI2UUu12O95zRYLuZoT7TER9aQLIkfR00wUdNKlhOp3e3t4OBgPT7Ha7UkrXdfv9vp86tVrNcRzLskyzWq3O53PXddfrNdvLZsZm82Wjis1G3K3vQCABeZLCKDKeDqRWq+W67vn5uWnO53Mp5Wg00loPh0M/bDqdzng8rlQqtVpNCGGCSin19ddfJ3byiN/Wzn6MMAE5k9o0EkIcdGZKKSGEqZCUUtVq1eTN6enpzc2N/22mZ88vkvbYeiJSxJ8IHnwguGMJyDzT1ZHaNBLR7kOSUpoH9Xo9eLxcLgeHkfYL9gKl+QIVGncpARl03C0kniNKIPkTHJbLZeQXTv+lKaYvW1cEyqPtfjwA6Rb8gE1/YeQLPe3bsqzVaiWE0Fqb4SLk0P2/sDLwRgbwmDSPGD0UukJqNpuTyUQptVwue71eEueE4/qyf9LdY8F2SkDWZKgw8kUMz8ViIaX0B5PCYlJDJpFJQBY8jKKs1EkRF1fl1qIiYo1wIPWyWBj5WO0bYbBGOJBWfhRld3UVAgnhmVKJTAJSI9gpl9HySBBIiIhMAtIh0310WwgkRMWQEnBUeYoig0DCMzCkBBxJVibOhUIg4dnovgNeUP4KIx+BhDjcdd9tLTL0+R7bPP7mAInaM00ux79QBBJistmUSqWNuDekxE5KQGRbwZPLProtBBLiRvcdEKvi/F0XenFVYJfP5VFwT7/c/0UHJMwURgX5TaJCQgICmcTWFUBkReimC6JCQmxKQgRrIzruAIRChYQ4le72rfjSPOLZAFlmho6KM4Ak4g0kpdR6vW6325ZlOY4zHo+FELVabTAYxPgqSK2HfQuf2yzoAIRk1kgtVH+diDGQbNuuVquNRuPi4uL6+nq9XjebzXa7HdfPR4axoAMQUgHTSMQ4huQ4TqPRKJfLpum67mKxuLi4WCwWcb0Esi04+w7AbsVMI3FgheR53nq9Du4P6ziOlLJcLtu2vVqtOp2O1tpPIyFErVar1+tSyrdv385ms/hPHFnEIkMAdjsokKbT6e3trT8U1O12pZSu6/b7fb9TrlarOY5jWZZpaq3Nl05OThI4bWQWa4QDexW2PBKHBFKr1XJd9/z83DTn87mUcjQaaa2Hw6G/l3mn0xmPx5VKpVarCSFOTk4uLi78JvAFQ0oAHnNQFCulhBCmQlJKVatVU/2cnp7e3Nz43+Z5ntbaL5K2mkFbT0RBkUnAfUUuj0S0WXb+YFK9Xg8eL5fLwWGkreaW4OT6Iv8HKDS67wAERAkkrbV5sFwuI78wIQQh6L4Dvih4eSQiTPu2LGu1WgkhtNaMDyEem40olUqlkgj8M459ZsALIY1EhAqp2WxOJhOl1HK57PV6SZwTCqjkLxZ+h72UgKKJmMmLxUJKGbwzKRQmNWBbMH389yRdeSgGyiMj4tJB/mxvIDbkEFBsbD+BVNjeusIMIx3zjIAXQnnkI5CQJsFMYusKFABpFMR+SEgLk0WbwFazn5v8ugLFQCAhFXbupSQYUkJuUR5tocsOqce+FUAxEEjIgrtpDsc+DyA2lEcPEUjIiM2GUgnINwIJmUImIRcojx5FICFr6L5DxpFGuxBIyCC674A8IpCQWWQSMojyaA/uQ0KWmUzafF4Z3PyWl758kV97IEsIJGTcZiNKpY3/+G6tB0onpBDl0X5xBpJSar1et9tty7JM85dffmk0Gs1mM8ZXAbZt9d3RlYdUIo2eFNsYkm3b1Wq13++Px2PT/Oqrry4vLx3HieslgH2Cs+/4vUdMSo+J9lxzJMmTzbzYAslxnEajUS6XTXO1Wp2cnCilOp1OXC8BPMHEEL/ziNXmvmjPFfyZdICDAsnzPK118IjjOJ7nCSFs21ZKaa211n4aCSFc112tVp1OZzgcxnvGwD53M8IJJSBzDhpDmk6nt7e3g8HANLvdrpTSdd1+v99ut83BWq3mOI4ZPTLNTqcTeY9zIJSSv2/F3QASf4siXsE/ckL12pkHlEeHeDqQWq2W67rn5+emOZ/PpZSj0UhrPRwO/b3MO53OeDyuVCq1Wi3YJJPwMkomhAIfFeylhFh8vqng7r10+NwEZjGEddD1UkoJIUyFpJSqVqumMDo9Pb25ufG/zfTs+UXSVjNo64lAUvyyCQhvK4r8g5EDiYjaL8q0b7/oqdfrwePlcjk4jLTV3BKsefkvhKT40xx4jyEMP4pCTavb9XNwoCiB5E9wWC6XkV+YEMLLuVvQ4djngQzYqoqe80nFp1xYoad9W5a1Wq2EEFprM1wEZABrhOMpphiKMLcbcQldITWbzclkopRaLpe9Xi+JcwISQfcddmN0Jw0i/jdYLBZSysgz6JjUgGMikxDw6MwFHEXEtez82d5A9jCkVDCPzizY+IvE805IDVb7RiH5C7DyYVQMD6df00eXQgQSiupuSMn88ex/Mn1u8lGVUyydkGbsGIti22w2Jo3MInh8SuUak+hSjkAChBCBNcL5uMop+ujSj0ACvqwRfuzzQFJIo0xgDAm4w+y7XGMVn/QjkICAu72UCKXcoDbKEAIJRfdlLyW/Kbh5NidIo2whkFB0Wx9YXxpkUsaRRpnDpAZgB6Y5ZBlplEUEErAba4RnE2mUUQQSsBczwrOGNMouAgk4AJmUEaRRpsU5qUEptV6v2+22ZVlKKdd1zfF+v29ZVowvBBwBdymlHmmUdbEFkm3b1Wq10WhcXFxcX18PBgMhhOd54/GYNEJOsEZ4ipFGORBbl53jOI1Go1wuBw9eXV29e/curpcAjo8hpVQijfLhoEDyPE9rHTziOI7neUII27aVUlprrfVWGmmt1+t15F1lgfQik9KENMqNg7rsptPp7e2t6YUTQnS7XSml67r9fr/dbpuDtVrNcZxg79z333/vfxXImx2ZVGK58JdFGuXJ0xVSq9Uaj8d+cz6fSylHo9Hl5eXV1ZV/vNPpTCYTpVStVjNHPn36xOgR8sz/HLzbS+moZ1M47PqaP09XSLPZTCnlN/0ySEq5XC7941LK9+/fa639ELq+vo75ZIEUCs6+22w2dOUlYNdC3aRRzkSZZecPC9Xr9eDxcrm8NYy0R/AdxrsK2caM8OQFPyVMYcR2EvkTJZD8CQ7BCiksQgi5wjSHl0I3XY6FnvZtWdZqtRJCaK394SKgmEri3t7nxzyVYqAqyrfQFVKz2TSTF5bLZa/XS+KcgAwJbqdk/mdD910yqI1yL+J/4MViIaWMfI/R6enpzc1NtOcCGcCCDrEyhdHWhxX5lD8Rlw46OzuL9zyAXDEflJRKsaK/LvfYMRZIDLPv4kAlVBxsPwEkidl3z0MaFQqBBCSMbWejIo2KhkACksca4eGRRgVEIAEvhUw6GGlUTAQS8ILovjsAaVRYzLIDXtbdjPDPd9HeHf7cLPwHMWlUZFRIwDFsNhuTRndbV/AZLEijwiOQgHQo/CcxaQQCCTgehpTukEYQBBJwZMwIJ41wh0ACUqDAmUQawccsO+A4vuxbEUyj/K59xzbkeFKcFZJSajgcOo4jhPA8bzgcdrtd0wTwUOlui7+S/zjXpdLmvmOfDlIntkCybbtarfb7/fF4LISYTqdnZ2fX19e2bcf1EkCefPlc3vqMznUm+eipw0Oxddk5jtPv98vlsmlWKpXFYrFer09OTuJ6CaAoNhtTNuX1I5s0wqMOqpA8z9NaB484juN5nhDCtm2llNZaa+2nkXFycnJycrJer2M8XaAozAd2Hksl0gi7HFQhTafT29vbwWBgmt1uV0rpum6/32+32+ZgrVZzHMeyLNO0bfv6+to8iP+sgSLI47azpBH2eDqQWq2W67rn5+emOZ/PpZSj0UhrPRwO/b3MO53OeDyuVCq1Wk0I0W63Ly4u/CaAiHLUfWcm2rETOXY56K8VpZQQwlRISqlqtWoKo9PT05ubG//bTM+eXyRtNYO2ngjgCf4E8cyiNsKTokxqkFKaB/V6PXi8XC4Hh5G2mluCfyXxNgWekOXuO/PLzq85nhQlkPwJDsvlMvIL8+4EQrvrvtvxxTT+TlEY4XCh70OyLGu1WgkhtNaMDwEv7e7TfXO3gcUmrVEkSCOEFLpCajabk8lEKbVcLnu9XhLnBGCfzWZj1gj3P+tTOU2ANEJYEd8xi8VCSukPJoXFpAbgWUwaBWffpWx4iTRCBBFXavBnewM4GlMqpQ9phGhY7RvIsvQtfEcaITL2QwKyx9xf+rmx2aQnkUgjPAeBBGTS50wqlUSptNmKqGOdEmmE56HLDsieRz7376Y5HGtqA2mE56NCAvJgs9mU/Ex68VKJNEIsqJCAfElyFjjbkCNRBBKQE6ZIurftbAI5sZU9LN2NGNFlB+TH5467u0bSfXf01CFeBBKQX0kOKZFGiB2BBOTKvSJJCLHZJFEqkUZIAoEEFECsmUQaISEEEpA320XS3dFYuu9IIySHWXZADt2bcRc4KsRjCzqEDBhm1iEhcQaSUmq9XrfbbcuyPM8bj8dCCNOM8VUAPMvDGeGHTRCnNkLSYuuys227Wq32+32TQ+PxuN1u9/v9yWQS10sAONzjHXcisMhQGKQRXkBsgeQ4TqPRKJfLprler6WU5XJZax3XSwAIZWcmiXBDSqQRXsZBXXae55mA8Y84jmPyxrbt1WrV6XS01n4aCSF6vd7FxUW5XPY8L/6zBvB8u4aUgCM5KJCm0+nt7e1gMDDNbrcrpXRdt9/vt9ttc7BWqzmO4w8Xlcvly8vLcrl8cXGRxHkDOMQjsxtCripEeYQX83QgtVot13XPz89Ncz6fSylHo5HWejgc+nuZdzqd8XhcqVRqtZoQQmtt23alUmGzc+C4dmaS/1jc1UkPgoc0wkt6OpBms5lSym/6ZZCUcrlc+sellO/fv9dam6+enZ2ZLr5gRx+AtNg1IzxwnDTCC4sy7dvPmHq9HjxeLpeDw0j7oyg41sqbHkjU47clPfZ9fiaRRnh5UQLJnzgXrJDC4r0OpNFmY/5a5DcULy/0tG/LslarlRBCa22GiwCk374p4PeVhDAlUsJnBGwLXSE1m83JZKKUWi6XvV4viXMCkIRDOu7ufUMyW/wBu0TsJl4sFlLKyBMWTk9Pb25uoj0XQGT7A+mRr5JJeEER17JjMjeQRXuKpMeP+xPEiSUkj+0ngGJ5dDBpX+WUzBZ/wENsPwEUi0mjrUwKNSPc/JTPB4H4EEhA4QQ77kJsbnTw+g5ANHTZAcUV+u7XR9d3AGJCIAFFdOjaDVtMr91WqcTwEmJCIAEF9ay1GPwcIo0QHwIJwMEerY3ouENMmNQAFE6IiQwPbfXRhdxdCdiDQAKKJYZVU7dqIzIJMSGQAIT3cLod3Xd4NsaQAMSBBR3wbAQSgPiQSXgGAglArMgkRBVzIE0mE/+xUmo4HDqOE+9LAEg7k0nEEkKKLZC01q1W69OnT6Zp23a1Wu33++PxOK6XAJAZDCkhvNgCSUo5m838puM4jUajXC7H9fMBZA+ZhDAOCiTP87TWwSOO43ieJ4SwbVsptfVVIYTWmjQCQCbhcAfdhzSdTm9vbweDgWl2u10ppeu6/X6/3W4/+pRareY4jmVZsZ0pgIwK3qW0tcoDEPB0ILVaLdd1z8/PTXM+n0spR6OR1no4HO7ay7zT6YzH40qlUqvV4jxfAFnk758UDCHWd8B9TwfSbDZTSvlNv+6RUi6Xy61vvr6+Ng+klO/fv9daUyQB+IIQwm5Rlg6SUpoH9Xp9z7eVy+U9w0jB5R1jWFwLQMr5UeR337EIHu6LEkj+FIaHFdLhCCGgWPz4Yftz7BB62rdlWavVSgihtWZ8CEBERBEeCF0hNZvNyWSilFoul71eL4lzApBP7KWEvUrRus4Wi4WU0h9MCuv09PTm5ibacwHkCn13uBNxP6Rds70BIJxHZ4SjkFjtG0AKsKADCCQAacEa4YVHIAFIDdYILzYCCUDKkElFRSABSB8yqZAIJACpxJBS8RBIANKKIaWCiXgfEgC8EH9BB/ZSyjsCCUDqBbf4M7iRNo/osgOQeg83nKUrL48IJABZYOohcijXCCQAqfewNqLLLo8IJAAZsVUbUSrlTsyBNJlM9jQBICJ/Cri/7Szdd7kTWyBprVut1qdPnx5tAkAM/B3Q/SaZlCOxBZKUcjab7WoCQCJY0CFHDgokz/O01sEjjuN4nieEsG1bKbX1VQB4OXTf5cVBN8ZOp9Pb29vBYGCa3W5XSum6br/fb7fbSZ4eABzGX9ABmfV0hdRqtcbjsd+cz+dSytFodHl5eXV1leS5AUAY1EkZ93QgzWaz8/Nzv+k4jmVZQggp5XK53Prm6+vrPU0ASBZDSlkWZS07KaV5UK/XI79wKfCO2VBlA4iL+Tyh+y6DogSSP4XhYYV0OEIIQIIYUsqg0NO+LctarVZCCK11rVZL4JQAIA5b3XfmMb15KRa6Qmo2m5PJRCm1XC57vV4S5wQA8fC77wRbV2RAKVrX2WKxkFL6g0lhnZ6e3tzcRHsuAISzFUiCTEqpiBv0nZ2dxXseAJCgh1v8IX1Y7RtAMbCgQ+oRSACKhNl3KRaxyw4AMmOrMCKT0opAAlAAW/HDkFIq0WUHoJAYUkofAglAgZFJaUIgASg2Mik1CCQAhcca4elAIAEAQ0qpQCABwB0y6agIJAAIoPvueAgkALiP7rsj4cZYAHiMv6DD1ioPSEzMFdJkMjEPPM8bDofD4XA+n8f7EgDwQvxM8v9RNiUptkDSWrdarU+fPpnmdDo9OzsbjUa2bcf1EgBwBMEhJTIpSbEFkpRyNpv5zUaj0Ww2hRDr9TqulwCAI6A2eikHBZLneVrr4BHHcTzPE0LYtq2U2vqqEEJKuVgsut3u+/fv4zpXADgaMil5B01qmE6nt7e3g8HANLvdrpTSdd1+v99utx99ynw+XywW19fXcZ0oABxBcK8KMilhT1dIrVZrPB77zfl8LqUcjUaXl5dXV1e7nvX9999rrbvdbrfbjeVEAeA4/DuT/AkOxFIynq6QZrOZUspvOo5jWZYQQkq5XC63vtkviS4vL2M7RwA4rke3U2IKeNyi3IckpTQP6hg8U4YAAAh+SURBVPV65BcuBf7E2PDfFUC2kEkJiBJI/hSGhxXS4QghANnGtrNxCz3t27Ks1WolhNBa12q1BE4JADKCIaVYha6Qms3mZDJRSi2Xy16vl8Q5AUCW0H0Xk1K0rrPFYiGl9AeTwjo9Pb25uYn2XABII7rvni3i4qpnZ2fxngcAZJuJIkqlZ2D7CQCID0NKz0AgAUCsHm7xR0Qdhv2QACBufved32SE6QBUSACQJH8dPHrznkIgAUBiCKEwCCQASNLDISXswBgSACRsa0gJO1AhAUAy6K8LiQoJABITzCTunH0KgQQASXp0L6WHx0GXHQC8NKaA70AgAcAxkEkPEEgAcCTMCL8v5kCaTCbmged5w+Hw4uLCcZx4XwIA8oPuu4DYAklr3Wq1Pn36ZJpXV1ftdvvy8tKPKADA48gkIUSMgSSlnM1mfnMwGEgp5/N5pVKJ6yUAILfIpAMDyfM8rXXwiOM4nucJIWzbVkptfdW3Xq/X6/XzzxIA8q/wQ0oH3Yc0nU5vb28Hg4FpdrtdKaXruv1+v91uP/oUpdRgMGi32/P5PLaTBYB827p5duum2rx7OpBarZbruufn56Y5n8+llKPRSGs9HA537WVuWdbFxUWlUpFSxnm+AJB7D2+eLcb6Dk8H0mw2U0r5TcdxLMsSQkgpl8vl1jdfX1+bB81m07Isz/PMNwMAQvNzyERU3jMpytJBftFTr9f3f9ue8qgU6Cfd5P0qA0BoxVv7Lkog+VMYHlZIhyOEAOBpxaiNjNDTvi3LWq1WQgitda1WS+CUAKDwtpYJL8bUu9AVUrPZnEwmSqnlctnr9ZI4JwCAEA/29Mt7qVSK1nW2WCz2DxHtd3p6enNzE+25AFBcuc6kiPsh7ZrtDQBIUK6HlFjtGwAyJb9DSgQSAGRNThcZIpAAIIPyuG8FgQQAmZWvTCKQACDLctR9RyABQMblpfuOQAKAXMh+JhFIAJAXwUwy/XiZiqiIN8YCANLo0b2URDa2+KNCAoDc2VqbNSMIJADIowwOKRFIAJBTWcskAgkA8iWzeynFHEiTySTYtG3bcZx4XwIA8AT/bll/RkMWYim2QNJat1qtT58+BY9cXV2t1+u4XgIAcChzt6z5J7KRSbEFkpRyNpsFj1xdXTUajbh+PgDgWVKfSQcFkud5WuvgEcdxPM8TQti2rZTa+qoQQinVbrfjOksAQAzSvfDdQTfGTqfT29vbwWBgmt1uV0rpum6/39+VOtVqdT6fu667Xq/ZXhYA0sL04KVy29mnA6nVarmue35+bprz+VxKORqNtNbD4XBX2JigUkp9/fXXMZ4uACAGqdwK/elAms1mSim/6TiOZVlCCCnlcrnc+ubr6+tg0y+qAADpkr5MirKWnZTSPKjX65FfuBToxNyk6YoAQFE8XPjuqKIEkj+F4WGFdDhCCACOL01DSqGnfVuWtVqthBBa61qtlsApAQBeVjpmhIeukJrN5mQyUUotl8ter5fEOQEAXlpwSOlIK4WXonWdLRYLKaU/mBTW6enpzc1NtOcCAJJy1L2UIm7Qx61FAJBPwVLpZbvyWO0bAHDfkdYLJ5AAAA9s9dq9CAIJAHDn0Xoo5WNIAIB82sqkF5xoRyABAO470k2ydNkBAFKBQAIApAKBBABIBQIJAJAKBBIAIBUIJABAKhBIAIBUIJAAAKkQcyBNJhPzwHGcbrfb7XaVUvG+BAAgl2JbqUFrfXFxcXJyYnbtW6/XzWaz3W7H9fMBAPkWW4UkpZzNZn7Tdd3FYnFxcbFYLOJ6iWIqpWBf4Qzhch2OaxUKl+twka/VQRWS53nr9Tq4P6zjOFLKcrls2/Zqtep0Olu7x9ZqtXq9LqV8+/ZtMKgAAHjUQYE0nU5vb28Hg4FpdrtdKaXruv1+f1ennNbafOnk5CSucwUA5NjTgdRqtVzXPT8/N835fC6lHI1GWuvhcLhrL/OTk5OLi4tKpVKr1eI8XwBATpU2BywzbmbKmQpJKVWtVk31c3p6enNzs+tZnudprS3Levil09PT6KcMAEi9PemwS5RZdv5wUb1e3/Nt5XK5XC4/+qWff/452DwkFAurVDrojwYYXK7Dca1C4XIdLvK1ihJIWmvzYLlcRni6IIHC4FqFwuU6HNcqFC7X4SJfq9DTvi3LWq1WQgitNeNDAIC4hK6Qms3mZDJRSi2XS3MPLAAAzxexp2+xWEgpt+49AgAgsogrNZydnUVOI8dxPM+L9lzgUWZKp9/kPbbH1rXCfo7j8NY60Na1iuD//uUvf4npZA7S7Xa11pPJhALrEL/73e8Wi8U///nP//znP19//fWxTye9/v73v//73/82l4j32H7BayV4j+3med4f//jH//73v/7F4a21y8NrJaK9tTYv6F//+tef//znzWazWq3+9Kc/veRLZxFX6UB/+MMffvvb3/7tb3/b8B57SvBabbhKe11dXfkX6ve//z1vrT22rtUm6lWKbbXvQziOY+6TlVJGnjJeHFrrcrk8HA5PTk7evXu366YuzGYzf5cT3mP7Ba+V4D22V6PRMA9MHx1vrT22rpWI+tZ66Q36DrypFkIIz/MqlUqz2fzqq68uLi6OfTqZwXvscLzH9jD9covF4u3bt+/evRO8tXZ7eK2ivbVetEIScdxUWxzNZrPZbAohzs7O5vP5sU8nM3iPHY732H5KqV9++eXy8lJKqZTirbVH8FqJqG+tF62QuKk2lMlkwm5SYfEeC4X32B62bQc/YXlr7bF1rUTUt9aLVkjcVBtKvV6/uLhoNBqu67L37oF4j4XCe2wPM4m52+2a5vX1NW+tXR5eq2hvrSMsF8hNtaFwuSLgooXC5Toc1yqUsJeL9WsBAKnw0rPsAAB4FIEEAEgFAgkAkAoEEgAgFQgkAEAq/H+5hf6VI9E7TAAAAABJRU5ErkJggg==\n", "text/plain": [ "<IPython.core.display.Image object>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "n = 24;\n", "A=archimede(n);\n", "err=abs(A-pi)/pi; % formula per il calcolo dell'errore relativo di A\n", "\n", "Anew=myarchimede(n);\n", "errnew=abs(Anew-pi)/pi; % formula per il calcolo dell'errore relativo di A*\n", "\n", "figure(1)\n", "semilogy(1:n,err,'ks-',1:n,errnew,'ro-')\n", "legend('A','A*')\n", "box off" ] }, { "cell_type": "code", "execution_count": 29, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "ans =\n", "\n", " 2.0000 2.0000\n", " 2.8284 2.8284\n", " 3.0615 3.0615\n", " 3.1214 3.1214\n", " 3.1365 3.1365\n", " 3.1403 3.1403\n", " 3.1413 3.1413\n", " 3.1415 3.1415\n", " 3.1416 3.1416\n", " 3.1416 3.1416\n", " 3.1416 3.1416\n", " 3.1416 3.1416\n", " 3.1416 3.1416\n", " 3.1416 3.1416\n", " 3.1416 3.1416\n", " 3.1416 3.1416\n", " 3.1416 3.1416\n", " 3.1416 3.1416\n", " 3.1416 3.1416\n", " 3.1416 3.1416\n", " 3.1416 3.1416\n", " 3.1417 3.1416\n", " 3.1418 3.1416\n", " 3.1425 3.1416\n", "\n" ] } ], "source": [ "[A.' Anew.'] " ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "ans = 3.141592653589793\n" ] } ], "source": [ "format long\n", "pi" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Exercise 8" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "<IPython.core.display.Image object>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "k = 1/3; # 1/2, 1, 2\n", "x = -pi : pi;\n", "y = sin(k*x);\n", "\n", "figure(1)\n", "plot( x,sin(1/2*x),'ks-',\n", " x,sin(1/3*x),'ro-',\n", " x,sin(x), 'bs-',\n", " x,sin(2*x),'ks-')\n", "legend('1/2','1/3', '1', '2')\n", "box off" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Lo script grafica una funzione scelta\n", "dall\"utente tra le seguenti:\n", " \n", " 1) y = x^3-3x per -3 <= x <=3\n", " 2) y = 3x cos(2x) per 0 <= x <= 2pi\n", " 3) y = sin(x)/x per -8pi <= x <= 8pi\n", " \n" ] }, { "name": "stdin", "output_type": "stream", "text": [ "Scegliere una tra le funzioni indicate, digitandone il numero: 2\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjAAAAGkCAIAAACgjIjwAAAJMmlDQ1BkZWZhdWx0X3JnYi5pY2MAAEiJlZVnUJNZF8fv8zzphUASQodQQ5EqJYCUEFoo0quoQOidUEVsiLgCK4qINEWQRQEXXJUia0UUC4uCAhZ0gywCyrpxFVFBWXDfGZ33HT+8/5l7z2/+c+bec8/5cAEgiINlwct7YlK6wNvJjhkYFMwE3yiMn5bC8fR0A9/VuxEArcR7ut/P+a4IEZFp/OW4uLxy+SmCdACg7GXWzEpPWeGjy0wPj//CZ1dYsFzgMt9Y4eh/eexLzr8s+pLj681dfhUKABwp+hsO/4b/c++KVDiC9NioyGymT3JUelaYIJKZttIJHpfL9BQkR8UmRH5T8P+V/B2lR2anr0RucsomQWx0TDrzfw41MjA0BF9n8cbrS48hRv9/z2dFX73kegDYcwAg+7564ZUAdO4CQPrRV09tua+UfAA67vAzBJn/eqiVDQ0IgALoQAYoAlWgCXSBETADlsAWOAAX4AF8QRDYAPggBiQCAcgCuWAHKABFYB84CKpALWgATaAVnAad4Dy4Aq6D2+AuGAaPgRBMgpdABN6BBQiCsBAZokEykBKkDulARhAbsoYcIDfIGwqCQqFoKAnKgHKhnVARVApVQXVQE/QLdA66At2EBqGH0Dg0A/0NfYQRmATTYQVYA9aH2TAHdoV94fVwNJwK58D58F64Aq6HT8Id8BX4NjwMC+GX8BwCECLCQJQRXYSNcBEPJBiJQgTIVqQQKUfqkVakG+lD7iFCZBb5gMKgaCgmShdliXJG+aH4qFTUVlQxqgp1AtWB6kXdQ42jRKjPaDJaHq2DtkDz0IHoaHQWugBdjm5Et6OvoYfRk+h3GAyGgWFhzDDOmCBMHGYzphhzGNOGuYwZxExg5rBYrAxWB2uF9cCGYdOxBdhK7EnsJewQdhL7HkfEKeGMcI64YFwSLg9XjmvGXcQN4aZwC3hxvDreAu+Bj8BvwpfgG/Dd+Dv4SfwCQYLAIlgRfAlxhB2ECkIr4RphjPCGSCSqEM2JXsRY4nZiBfEU8QZxnPiBRCVpk7ikEFIGaS/pOOky6SHpDZlM1iDbkoPJ6eS95CbyVfJT8nsxmpieGE8sQmybWLVYh9iQ2CsKnqJO4VA2UHIo5ZQzlDuUWXG8uIY4VzxMfKt4tfg58VHxOQmahKGEh0SiRLFEs8RNiWkqlqpBdaBGUPOpx6hXqRM0hKZK49L4tJ20Bto12iQdQ2fRefQ4ehH9Z/oAXSRJlTSW9JfMlqyWvCApZCAMDQaPkcAoYZxmjDA+SilIcaQipfZItUoNSc1Ly0nbSkdKF0q3SQ9Lf5RhyjjIxMvsl+mUeSKLktWW9ZLNkj0ie012Vo4uZynHlyuUOy33SB6W15b3lt8sf0y+X35OQVHBSSFFoVLhqsKsIkPRVjFOsUzxouKMEk3JWilWqUzpktILpiSTw0xgVjB7mSJleWVn5QzlOuUB5QUVloqfSp5Km8oTVYIqWzVKtUy1R1WkpqTmrpar1qL2SB2vzlaPUT+k3qc+r8HSCNDYrdGpMc2SZvFYOawW1pgmWdNGM1WzXvO+FkaLrRWvdVjrrjasbaIdo12tfUcH1jHVidU5rDO4Cr3KfFXSqvpVo7okXY5upm6L7rgeQ89NL0+vU++Vvpp+sP5+/T79zwYmBgkGDQaPDamGLoZ5ht2GfxtpG/GNqo3uryavdly9bXXX6tfGOsaRxkeMH5jQTNxNdpv0mHwyNTMVmLaazpipmYWa1ZiNsulsT3Yx+4Y52tzOfJv5efMPFqYW6RanLf6y1LWMt2y2nF7DWhO5pmHNhJWKVZhVnZXQmmkdan3UWmijbBNmU2/zzFbVNsK20XaKo8WJ45zkvLIzsBPYtdvNcy24W7iX7RF7J/tC+wEHqoOfQ5XDU0cVx2jHFkeRk4nTZqfLzmhnV+f9zqM8BR6f18QTuZi5bHHpdSW5+rhWuT5z03YTuHW7w+4u7gfcx9aqr01a2+kBPHgeBzyeeLI8Uz1/9cJ4eXpVez33NvTO9e7zofls9Gn2eedr51vi+9hP0y/Dr8ef4h/i3+Q/H2AfUBogDNQP3BJ4O0g2KDaoKxgb7B/cGDy3zmHdwXWTISYhBSEj61nrs9ff3CC7IWHDhY2UjWEbz4SiQwNCm0MXwzzC6sPmwnnhNeEiPpd/iP8ywjaiLGIm0iqyNHIqyiqqNGo62ir6QPRMjE1MecxsLDe2KvZ1nHNcbdx8vEf88filhICEtkRcYmjiuSRqUnxSb7JicnbyYIpOSkGKMNUi9WCqSOAqaEyD0tandaXTlz/F/gzNjF0Z45nWmdWZ77P8s85kS2QnZfdv0t60Z9NUjmPOT5tRm/mbe3KVc3fkjm/hbKnbCm0N39qzTXVb/rbJ7U7bT+wg7Ijf8VueQV5p3tudATu78xXyt+dP7HLa1VIgViAoGN1tubv2B9QPsT8M7Fm9p3LP58KIwltFBkXlRYvF/OJbPxr+WPHj0t6ovQMlpiVH9mH2Je0b2W+z/0SpRGlO6cQB9wMdZcyywrK3BzcevFluXF57iHAo45Cwwq2iq1Ktcl/lYlVM1XC1XXVbjXzNnpr5wxGHh47YHmmtVagtqv14NPbogzqnuo56jfryY5hjmceeN/g39P3E/qmpUbaxqPHT8aTjwhPeJ3qbzJqamuWbS1rgloyWmZMhJ+/+bP9zV6tua10bo63oFDiVcerFL6G/jJx2Pd1zhn2m9az62Zp2WnthB9SxqUPUGdMp7ArqGjzncq6n27K7/Ve9X4+fVz5ffUHyQslFwsX8i0uXci7NXU65PHsl+spEz8aex1cDr97v9eoduOZ67cZ1x+tX+zh9l25Y3Th/0+LmuVvsW523TW939Jv0t/9m8lv7gOlAxx2zO113ze92D64ZvDhkM3Tlnv296/d5928Prx0eHPEbeTAaMip8EPFg+mHCw9ePMh8tPN4+hh4rfCL+pPyp/NP637V+bxOaCi+M24/3P/N59niCP/Hyj7Q/Fifzn5Ofl08pTTVNG02fn3Gcufti3YvJlykvF2YL/pT4s+aV5quzf9n+1S8KFE2+Frxe+rv4jcyb42+N3/bMec49fZf4bmG+8L3M+xMf2B/6PgZ8nFrIWsQuVnzS+tT92fXz2FLi0tI/QiyQvpTNDAsAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAfdEVYdFNvZnR3YXJlAEdQTCBHaG9zdHNjcmlwdCA5LjUzLjNvnKwnAAAdN0lEQVR4nO3dv28aW97H8cOjW8cmtSdSiHYpoApJAelusGSkbdZam3JtKcbduomDi8sWN40d0rg0FDdlgJXLJRJ0K4O0a6dZKHwle6VMpO1M+At4inPvLBfjX3jOzJkz75dcYH7MOYOH+cz3nGEcGY1GAgAAv/2f3x0AAEAIAgkAoAkCCQCgBQIJAKAFAgkAoAUCCQCgBQIJAKAFAgkAoAUCCQCgBQIJAdZut/3uAgDXEEgInsFgkM1mI5HI4uJiJBIpFou3fOHKyop8frvdjkQi98yzYrEYiUSmPuQs/5YNOR2buTOurJGjWCxGo9FoNHqfLgF39Z3fHQDuLJvNnp+fHxwcxGKxVqv17t07IcTe3t6NL/zb3/62sbGxubkZjUZbrVYqlVLf2VtxOjbzElKplFtrVKlU3r17t7u7K4TY2dl5+PAhsQRvUCEhYBqNxufPn/f29gqFQjab3dvb293dffLkifi1SpBH904VFYlEstnsYDCQe1VZtZycnCwuLp6cnIhfCx3naeLX+iASicRiMfmccfL50Wj0/Px84s5rqpzL/Rl/rdOx8UJHLlPeUygU5Gsrlcp4c5IQYmKNxvs/dQnX9Pns7Ew+WiwW5+fnW63Wff5ewB2MgEB58+aNEOL4+Hg0Gp2dnbVarVarJX+Vu87Hjx+/efNGHuDX6/V6vS6EODg4OD4+FkJsbGzIVwkhWq2WfPTNmzf1en1+fv7NmzfyoY2NjVar9fTp0/n5+fHWDw4Oxp8vP0ETbe3u7jrLd25c7o+zzKkdc9ZU3vOnP/1J9ke2KJ8pF/X06VNn3Z0Wx/s/dQmX+3z5rZYdm/oQoAJDdgiwg4MDOV738uVLZ/pkb29vZWVFCJHNZuv1uiwazs7OCoWCECIajcZiMae4kftcOdwXi8WEEHIHLcuInZ2d1dXVdrudzWad58/Pz8vnt1qtarUqbzx+/FguSgbA5aGzYrE40R/nIfnkiY5N2NzczGaz2Wz28+fPsqvRaDSbzc7PzzcajfFnyvgZ7798ycQSLvd5ok5qNBqFQmFjY4PxOniGITsEzLNnz4QQcre+t7c3Go02NjbGnxCNRuVD8pm3n5hJpVI3zsEMBgO5fKehCYVCYXV19fL9M/TneoVC4fPnz+12W+boPRc10edisbi6urqzs+OM7wEeIJAQMCsrK0+fPi0Wi5VKpd1uF4tFWaZMkBXAzs7OVTWH9PDhQyFEu90eDAaxWKxQKMjpKLkjluNy4yn17Nmz//znP41G4/z83ClNUqnUYDDY2dmRzY3PD921P9LJycn48i8rFovyPIjBYCA77zx0uf+/+93vLi/hmj7LkxqePn16cXEh3+cbOwy4w+8xQ+DOjo+P5VyIEGJ+fn53d/fly5ejsXmU0WgkR96EEC9fvhRCvHnzZjQaOTecZ15cXMgnCCEeP358dnY2+m3JNT7ZMxqNLi4unKad+ZiJOy8uLi7PIU3tj8O55+LiQk5NOc+8PKs0Go2cPkvjDV3u/9QlXO6z05mJilO+t4AHIiP+hTmC6eTkZDAYpFKpqUNnQgh54H+bM6HlopyJohsXLgfKJsbK2u12NBq9prlb9mcwGJycnFxe/p3c+OZIN/YZ8BKBBADQAnNIAAAtEEgAAC0QSAAALRBIAAAtEEgAAC0oCaRer2fb9vivw+FQRUMAAGO4fC274XC4vr6eSCRs204kEtvb22tra5Zl9fv9169fZzIZd5sDABjD5UCq1+vpdHp7e1sI8fLly2QyaVnW27dvbdsulUoEEgDgKi4H0tLSkrwhx+h6vV4ymRRCWJbV7XbdbQsAYBKX55Asy7Isq9PprK+vy6v9W5YlH0qn0+62BQAwifsnNZTL5Vqttr+/n8/nhRDO2Q1XVUjxeHzif18CAELI5SG7Wq329evX/f19+Wsymez1ekIIeY7DVa/ienoAAJcDSZ7wvba2Jn/98OFDtVotl8vdbnfimvYAAIzz4mrfnU5Hzi1NfTQej5+enqruAwBcg/mC+3ArR1yukKbibG8A+mPuYDYuZjmXDgIAaIFAAgBogUACAGiBQAIAaIFAAgC9VCqVYrHYbrflr86NCVfdf43BYHByciJfWywWK5XK1MUOBoO7LtkVBBIAaKRSqRwfHy8uLh4cHJycnDQajd3d3WKxOPG0q+6/3u7ubiwWa7fbBwcHi4uLx8fHlzMpFovt7u7eax1mRSABgKeKxaIsQfb29s7PzycejcViOzs72Ww2Foudn59ns9lUKvXw4cNKpSJLIvly5/7BYFAoFIrFogwn+au8RwhxcnIif5XBc35+Ho1Gz8/PZROrq6tnZ2cTS5btevyeSF58MfZ6fDEWgO8iEe92hjIbCoVCKpVqNBrO3j8ajaZSKXk7m80OBoN2ux2NRuU9g8FgZWUllUo9efKkUCjIL/+MRmJvby8ajcoE2tzcbDQaQgiZT0+ePDk7O1tcXMxms8VicXV1tV6v7+3tOQvMZrN7e3upVGp8yfLlq6urTmeu5+JbR4UEAJMiETd/JqysrLRarUajkc1mz8/PW7+SsztSu93OZrPj42nRaHRzc7Pdbss0Go2ETIFWqyVTZG9vLxaLtVqtlZUVIcTi4uLZ2dnq6uru7u7KysqzZ8/GZ4YqlYosm7LZ7PiSnSf4Mo1EIAHAJLm7d+tngix66vX65ubm+fn5ya/Ozs6EECsrK7Jmevbs2cXFxfgLDw4OUqmUTCNHLBaTSVapVE5OTlKplPxVJoqchapUKru7u//973/lSxqNxvHxcaPRcGogueQZzpJwlxeXDgIAjFtcXKzX67FYTE7wjD+0ubkpR/Pa7bYcf5PkiNzq6srLl9nBoOEM5W1ubhaLRZlDhUIhGo2urKzIvGm32/LOWCwWjUb/8Ic//OMf/xBC1Ot1OTslhJDTSJubm9lsVg7cyUkm+ajHmEMCAE/nkMTYNNLUR+XJ2ZcjYaI2uub5csRP3j4/Px8MBrIYcs5uuF6xWHSmmm7k4ltHIAGA1yc11Ov1RuN/Vc5tXJVGdyLHBq8KQqd78hy/W3eMQAIA93hcIc3AlUBSgbPsACBEtE0jdxFIAKC1kKSRIJAAQGfhSSNBIAEANMH3kABACFf/Fbd7Rpr2Sw0CCQCEnqfYRSKadkwRhuwAQEehmj2SCCQAgBYIJADQTgjLI0EgAQA0QSABgF7CWR4JAgkAoAkCCQCgBQIJADQS2vE6QSABADRBIAGALsJcHgkCCQCgCQIJAKAFAgkAtBDy8TpBIAEANEEgAQC0QCABgP8YrxMEEgBAEwQSAPiM8kgikAAAWiCQAABaIJAAwE+M1zmUBNJwOLRtW8WSAQCm+k7FQuv1+rdv37a3t4UQz58/TyQSQohEIiHvAQDgMvcDaXl5ud/vv3r1Sghh23Yikfjw4YPrrQCAARivG+f+kN3h4aFMIyGEbdtzc3OlUqlcLg+HQ9fbAgAYQ+1JDcPhcGFhIZfLzc/Pb21tKW0LABBoSuaQHLlcLpfLCSEymUyz2bzqaZFIxLk9onwFEA6M101QWyFVq9VOp3Pj00ZjlPYHAKAttRVSOp3e2tpaWlrq9/v5fF5pWwCAQIt4UJR0Oh3LsizLmvpoPB4/PT1V3QcA0A1DdhPUVkhSJpPxoBUACBDS6DIuHQQA0AKBBADQAoEEAF5jvG4qAgkAoAUCCQCgBQIJADzFeN1VCCQAgBYIJACAFggkAIAWCCQA8A4TSNcgkAAAWiCQAABaIJAAAFogkADAI0wgXY9AAgBogUACAGiBQAIALzBedyMCCQCgBQIJAKAFAgkAoAUCCQCUYwLpNggkAIAWCCQAgBYIJACAFggkAFCLCaRbIpAAAFogkAAAWiCQAABaIJAAQCEmkG6PQAIAaIFAAgBogUACAGiBQAIAVZhAuhMCCQCgBQIJAKAFAgkAoAUCCQCUYALprggkAIAWCCQAgBYIJACAFggkAIAWlATScDi0bdv5tdfrDYdDFQ0BgJ44o2EGSgKpXq9//PhR3l5bW6vVauvr651OR0VbAAAzuB9Iy8vL79+/l7ebzaZlWW/fvt3f369UKq63BQAwhvuBdHh4+OrVK3m71+slk0khhGVZ3W7X9bYAAMZQflKDZVnyRjqdVt0WAOiACaTZfKe6AefshmsqpEgk4twe8WcEgFBSWyElk8kvX74IIWzbTiQSVz1tNEZpfwAA2lJbIeVyuWq1Wi6Xu93uxsaG0rYAAIEW8aAo6XQ6lmU5k0kT4vH46emp6j4AgDeYQJqZ8jkkIUQmk/GgFUCpsYlOdjeAEl4EEhBcTg6NhxDhBKhAIAHTydSZmjeXw4lYAu6PQAIm3Slj5NOYNoDElnAfXO0b+A25Q7nrPmU0+s04HoAZEEjA/9zn8FZmErEEzIxAAn5x/8EWWVqRScBsCCRACFeH/skkYDYEEuD+RDSZFE6c0XBPBBLCjp0IoAkCCaGmLo0okoC7IpAQXqprIzIJuBMCCSHlzUgdmQTcHoGEMGLeCK5jo7o/AglQiyIJuCUCCaHj/ZEsmQTcBoGEcGFcBdAWgQR4gSLJbBzouIJAQoj4u9cgk4DrEUgIC45hAc0RSIB3KJKAaxBICAXKI0B/BBLMp1UaUSSZR6sNLNAIJACAFggkGE7Do1eKJGAqAgkAoAUCCSbTsDySKJKMoe02FkQEEozFngIIFgIJ8AdFEjCBQIKZKI+AwCGQAN9QJAHjCCQYiPII3mBLcxeBBPiJIglwEEgwDQetQEARSIDPKJIAiUCCUSiP4Bk2NtcRSDAHOwgg0AgkwH+M2gGCQIIxKI+AoCOQAC1QJAEEEgDcGRW5CgQSTGDG3oEiCSFHIAEAtPCd6gaeP3+eSCSEEIlEYnt7W3VzCCEzyiMAagPJtu1EIvHhwwelrQDGkKN25CvCSXkgzc3NlUqlBw8eFAqFubk5pc0hhNh9w3tsdYqonUMaDocLCwu5XG5+fn5ra0tpWwCAQIuMvAr65eXlw8PDy/fH4/Gff/7Z+dWz/sAAph6omrpexuAPpIjaCqlarXY6nRufNhqjtD8AAG2pnUNKp9NbW1tLS0v9fj+fzyttC2Fj8FEqpzYgnLwYsut0OpZlWZY19dF4PH56eqq6DzCP2btss9cu0PjTqKP8e0hCiEwm40ErCBV2CoB5uFIDoCMuI4QQIpAQPJRHgJEIJAC4LQ6GlCKQEDDh2SMwaoewIZAAAFogkBAk4SmPgBAikAB9MWqHUCGQEBiUR/AXW6BqBBKgNYokhAeBhGDg4BQwHoEEANACgQTojlE7hASBhABgvA6+YyP0AIEEANACgQTdcWQqGLVDOBBIAAAtEEjQGuUREB7TA2k4HHrcDwDXY9TORxwYeWN6IL1//355eblarZJM8BF7ASBUIqMrPvG9Xq/ZbH769CmZTGYymXw+r6gH8Xj89PRU0cIRaATSBN4Qv/DOe+PKQJKazWa1Wu33+wsLC0tLS9vb2673gEDCVOwCpuJt8QVvuzemD9l1Op1SqfT8+fNPnz7l8/l//vOfh4eHX79+rdVqHvcPABAS30299+joKJlMvn79em5uzrkzn89bluVVxwBAC5RHnrlhyM4DDNnhMnYB1+DN8RhvuGf4HhIAQAsEErTDASkQTgQSAFyJwyMvEUjQC5//G3HJBpiKQAIAaIFAgkYoj4AwI5CA4GHUDkYikKALyiPohm3SYwQSAEALBBK0wKHoXTFqB/MQSAAALRBI8B/lEQBBIAHBxaidUhwneW/6v58Iolt+MtnCAEBPAQ6kiQS6ZdKMv4pw0gHHoQCk4AWSkyiz7cXGX3XPRQEAXBSYQFIRHs6iSCa/UB7dk5xG4j2EGbw4qaHX6w2Hw9leG4n88jMa/fKjgrNw2RaAkCPmfaE8kNbW1mq12vr6eqfTuf2rvMmhy4glL/GZBzBO7ZBds9m0LOvt27e2bZdKpUwmc+NLZBL4u5+SrevQE+BGjNrBGGoDqdfrJZNJIYRlWd1u95pnajiL48SSPl0yCW8sgAnKT2qwLEveSKfTVz1H532T891DbXsIwF0675HMpjyQbNuWN66tkCJjFZJ2GwKlkut4M93FqB3MoPakhmQy+eXLFyGEbduJROKqp43GKO3PfXCyAwAopbZCyuVy1Wq1XC53u92NjQ2lbXmAUskVvIEApop4UJR0Oh3LspzJpAnxePz09FR1H9zFLvU+ePdU4F11EW+mX7y4UsNtzvYOFs50mBkfdUWYRnILb6OP+PcTM3K+QgsAcAWBdC9k0p1w7AngGgTSfZFJ0ASbIoKOQHIBO4LboDwCcD0CyR1kEmAADpv8RSC5hky6Bp9zADcikNxEJsFfbIEINALJZVxh6DLKIwC3QSC5j68ojSONEBRsq74jkFQhk+ALNjwEF4GkELsGDjkB3B6BpBaZBAC3RCApF9pMojzyS2g3OQQdgeQFdhCA5jh+0gGB5JGwZRIfbwB3RSB5JzyZRBoBmAGB5KnwZBL8xZaGICKQ4DLKIwCzIZC8xqEroBuOojRBIPnA4Ezig60PgzczmIpA8oeROwvSCMB9EEi+MTKTAGBmBJKfTMokyiMEFJuuPggkn5mRSXyk9WTG1oXwIJD8x14DAASBpIlAZxLlEQBXEEi6CGgmkUaaC+h2hXAikDQi9x0B2n2QRgg6tmGtEEh6GY04pAUQUgSSjgKRSRxaAnAXgaQpzTOJNAoQzbclwEEg6Uvb/QhpBDOwJeuGQNKahpnEZxiAIgSS7rTKJNIooLTaioCrEEgBwN4EQBh853cHcCtOJvlVoPjbOuA6yn0NEUiBIT88vnyK+OgC8ABDdgHj/fAdaWQGBn6hPwIpeLy8whBpBMAzBFIgeXOFIdIIgJcIpABTVyrJxZJGhmHUzsHmrSdOagg250wH4d4pcHxWAfhCeSA9f/48kUgIIRKJxPb2turmwsmtWOLcbgA+UhtItm0nEokPHz4obQXSeCyJu+TKDC8BANcpD6S5ublSqfTgwYNCoTA3N6e0OYixUBmfLZiaNORQCMlppJD/xXkHtKX2pIbhcLiwsJDL5ebn57e2tpS2hQnyTDznfLzLP86jAKADJRVSp9M5Ojp69OhRPp/P5XJCiEwm02w2r3p+ZOxgfsQOUgHeVAD6UxJImUwmk8kIIarVaiKRkLevQQgBnmHUDtpSO4eUTqe3traWlpb6/X4+n1faFgDciDDWWcSD6qTT6ViWZVnW1Efj8fjp6anqPgBwhHmnHOZ1158XX4y9ccgOgJcYtYOeuHQQAEALBBKAsKAu1ByBBADQAoEEhBFX/oaGCCQAgBYIJAChwASS/ggkIKQYtYNuCCQAgBYIJACAFggkILwYtYNWCCQA5uOMhkAgkAAAWiCQAABaIJCAUGMaCfogkAAYjgmkoCCQAABaIJCAsGPUDpogkACYjPG6ACGQAABaIJAAMGoHLRBIAAAtEEgAjMUEUrAQSACEYNQOGiCQAABaIJAAAFogkACYiQmkwCGQAPyCaST4i0ACAGiBQAJgIMbrgohAAvA/jNrBRwQSAEALBBIAQAsEEoDfMGDUjgmkgCKQAABaIJAAAFogkABMCvSoHeN1wUUgAQC0QCABALRAIAGYItCjdggoAgmAOZhACjQCCQCgBSWBNBwObdt2fu31esPhUEVDANRh1A4eUxJI9Xr948eP8vba2lqtVltfX+90OiraAgCJ8bqgcz+QlpeX379/L283m03Lst6+fbu/v1+pVFxvC4BSFEnwkvuBdHh4+OrVK3m71+slk0khhGVZ3W7X9bYAAMZQflKDZVnyRjqdVt0WgNBivM4A37mylE6nc3R09OjRo3w+P/GQc3bDNRVSZGxQYMQ2BehEjtrxuYQH3AmkTCaTyWQu359MJnu9nhDCtu1EInHVywkhAIA7gXSVXC5XrVbL5XK3293Y2FDaFoDQooYzQ8SD6qTT6ViW5UwmTYjH46enp6r7AOA+NN/ja9493JLaCkmaOpoHAMA4Lh0EINgoj4xBIAG4Gd+QhQcIJACAFggkALeiZ5HEeJ1JCCQAgBYIJAC3pWeRBGMQSACCivE6wxBIAAAtEEgA7kCfUTvKI/MQSAAALRBIAO5GnyIJhiGQAAQP43VGIpAAAFogkADcmb+jdpRHpiKQAABaIJAAzIJTG+A6AglAkDBeZzACCcCMKJLgLgIJQGBQHpmNQAIwO4okuIhAAhAMlEfGI5AA3AtFEtxCIAEIAMqjMCCQANwXRRJcQSABcIHSTKI8CgkCCQCgBQIJgDsUFUmUR+FBIAFwjeuZRBqFCoEEANACgQTATS4WSZRHYUMgAXCZK5lEGoUQgQTAfXwzCTMgkABoh/IonAgkAErMXCSRRqH1nd8dAGAsJ5NuGTB3ejLMQyABUEimy22KHgojEEgAlLu+VKIwgkQgAfCCUypd9RBAIAHwDtmDa3CWHQBACwQSAEALSgJpOBzatq1iyUERMfFL6qxUgBi5XqxUUMy8UkrmkOr1+rdv37a3t4UQz58/TyQSQohEIiHvAQDgMvcDaXl5ud/vv3r1Sghh23Yikfjw4YPrrQAADOP+kN3h4aFMIyGEbdtzc3OlUqlcLg+HQ9fbAgAYIzJScBpmuVwWQmxvbzebzV6v9+LFi36/f3R0NLVUisfjrncAAOCv09PTu77EnSG7TqdzdHT06NGjfD4/fn8ul8vlckKITCbTbDanvvbnn38e/1VFQHovElGS9P5ipQLEyPVipYJi5pVyJ5AymUwmk7l8f7VaTSQSUx9ymPfHEKxUcBi5UsLQ9WKlgmLmlVJ7pYZ0Or21tbW0tNTv9yeKJwAAxnlRLXY6HcuyLMtS3RAAILgMHL4EAASRz5cO6vV6Rp4ObuS1Knq9nnkr1el0jNwCbds2cr3MY9u2eR+rmflZIa2trVmW1e/3X79+ff2JD4FTrVada1UYYDgcrq+vJxIJ+U1nM9ZLrlQ6nf706dPr16/l6aBmGA6H2Wz2X//6l98dcZOR13wplUpCCNu2c7mcGbPstVrNOaG63+//9NNPyWTyDq8f+eTvf//7Dz/8MBqNvnz58uc//9mvbqjwxz/+8fe///27d+/87ohrKpWKszrff/+9v51xS6VSqVQqIxO3wB9++OH777//9u2b3x1xjXl/o9FodHR0JPeB3759+8tf/uJ3d1z273//e4Z9oG//D6nX68nktCyr2+361Q0VDg8P5VeDjbG0tCRvmDQKtLGxIW/0ej2TzripVquPHj2SF0nxuy+uca758uDBg0KhYMaqye9u1mo1IcT+/r7f3XHZ+/fvZ1gpP+eQnL1AOp32sRu4kTxJstPprK+vFwoFv7vjpnK5/P79+7uNKmis1+v1ej0na40xHA4XFhZyudz8/PzW1pbf3XHNx48fhRBfvnxZW1vzuy9uqtVqL168mOG4wc//GOtM5RlWIRmpXC5//fp1f3/fpGJCCLG9vV0oFLLZrBkj+NVqdWFhoVwu27ZdKpUKhYIZf6/bXPMliJaWluSGt7y87Hdf3FSr1X766acZXuhbhZRMJr98+SJ+vSK4X93AbdRqNfPSqFQqyV2bGeM/0sbGxosXL+TBaS6Xe/Dggd89cke1Wu10On73wmWPHj1ybps0GN7r9RKJxGwfK98qpFwuV61Wy+Vyt9s1b4TBMPKEb2dUwYz/J5LP57e2tnq9Xr/fN2Yc0hl7fPDggUlnrhp5zZd8Pr+8vFwul03aAoUQzWZz5jFwn78Yy0Uc4KPhcNjv99kCg8LI3YWRKzUzrtQAANCCz1dqAABAIpAAAFogkAAAWiCQAABaIJAAAFogkAAAWiCQAABaIJAAAFogkADlms1mtVoVQti2bdLFqgF3EUiAcrlcrtls9nq9UqlkzKXYANcRSIAXfvzxR/lv4E265ingLgIJ8IJJ/+QCUIRAArxQKpX29/e73W6v1/O7L4CmCCRAuXK5LAfrfvzxx7/+9a9+dwfQFP9+AgCgBSokAIAWCCQAgBb+H4emWh+oGEjtAAAAAElFTkSuQmCC\n", "text/plain": [ "<IPython.core.display.Image object>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "disp('Lo script grafica una funzione scelta');\n", "disp('dall\"utente tra le seguenti:');disp(' ');\n", "disp(' 1) y = x^3-3x per -3 <= x <=3');\n", "disp(' 2) y = 3x cos(2x) per 0 <= x <= 2pi');\n", "disp(' 3) y = sin(x)/x per -8pi <= x <= 8pi');disp(' ');\n", "scelta = input('Scegliere una tra le funzioni indicate, digitandone il numero: ');\n", "\n", "switch scelta\n", "\n", "case 1\n", " f=@(x) x.^3-3*x;\n", " x = [-3:0.05:3];\n", " y = f(x);\n", " plot(x,y,'r')\n", " box off\n", " xlabel('x'); ylabel('y');\n", " title('Grafico della funzione 1');\n", " legend('y=x^3-3*x');\n", "\n", "case 2\n", " f=@(x) 3*x.*cos(2*x);\n", " x = [0:pi/50:2*pi];\n", " y = f(x);\n", " plot(x,y,'b')\n", " box off\n", " xlabel('x'); ylabel('y');\n", " title('Grafico della funzione 2');\n", " legend('y=3*x*cos(2x)');\n", " \n", "case 3\n", " f=@(x) sin(x)./x;\n", " x = [-8*pi:pi/50:8*pi];\n", " y = f(x);\n", " plot(x,y,'m')\n", " box off\n", " xlabel('x'); ylabel('y');\n", " title('Grafico della funzione 3');\n", " legend('y=sin(x)/x'); \n", " \n", "end " ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "<IPython.core.display.Image object>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "Pa = [-6, -6, -7, 0, 7, 6, 6, -3, -3, 0, 0, -6;\n", "-7, 2, 1, 8, 1, 2, -7, -7, -2, -2, -7, -7];\n", "\n", "row1 = Pa(1,:);\n", "row2 = Pa(2,:);\n", "subplot(2,2,1)\n", "plot(row1, row2)\n", "box off\n", "\n", "alpha_vett=[pi/2, pi/3, pi]; \n", "\n", "for k=1:length(alpha_vett)\n", "alpha = alpha_vett(k);\n", "\n", "% rotazione in senso antiorario di angolo alpha\n", "% A=[cos(alpha) -sin(alpha); sin(alpha) cos(alpha)];\n", "\n", "% rotazione in senso orario di angolo alpha\n", "A=[cos(-alpha) -sin(-alpha); sin(-alpha) cos(-alpha)];\n", "\n", "subplot(2,2,k+1);\n", "Prot = A * Pa;\n", "plot(Prot(1,:),Prot(2,:)) \n", "box off\n", "end" ] } ], "metadata": { "kernelspec": { "display_name": "Octave", "language": "octave", "name": "octave" }, "language_info": { "file_extension": ".m", "help_links": [ { "text": "GNU Octave", "url": "https://www.gnu.org/software/octave/support.html" }, { "text": "Octave Kernel", "url": "https://github.com/Calysto/octave_kernel" }, { "text": "MetaKernel Magics", "url": "https://metakernel.readthedocs.io/en/latest/source/README.html" } ], "mimetype": "text/x-octave", "name": "octave", "version": "5.2.0" } }, "nbformat": 4, "nbformat_minor": 4 }