︠81c338ba-c107-4579-9898-1787b0283cebi︠ %md # Gráficos bidimensionais ︡963619be-a5b1-4aab-b1e0-4331ceb37ea3︡{"done":true,"md":"# Gráficos bidimensionais"} ︠72c99df8-b0d3-4530-bcc2-a4cfaf3796bdi︠ %md ## Pontos ︡3504e2a0-97eb-4f2a-bded-fa90b4c100ae︡{"done":true,"md":"## Pontos"} ︠e66059e7-c6ca-4c3b-863e-3d4d06daaf05i︠ %md Usamos o seguinte comando para criar o gráfico do ponto (1,2) no plano: ︡5e34f424-e006-4c1c-b00f-42ba11b7775d︡{"done":true,"md":"Usamos o seguinte comando para criar o gráfico do ponto (1,2) no plano:"} ︠68c88c42-9be5-47ce-ab52-b22dc76d95ads︠ point((1,2)) ︡313c8f42-7b95-40c7-a598-0a46b3dfc19f︡{"file":{"filename":"/home/user/.sage/temp/project-7c980726-6766-4f24-99ed-f67ff647a915/318/tmp_TQJBnG.svg","show":true,"text":null,"uuid":"84345dfc-a730-4d0e-ad2a-157b9968a6e6"},"once":false}︡{"done":true} ︠eb7b4257-2a6e-43ff-84c0-af241ced9875i︠ %md Podemos criar um ponto e armazená-lo em uma variável sem exibir o gráfico: ︡40c3d4f1-b674-441b-ba9c-24c1f6da3a24︡{"done":true,"md":"Podemos criar um ponto e armazená-lo em uma variável sem exibir o gráfico:"} ︠ed7d4922-e8f2-4195-b640-005ed26ed5a8s︠ P = point((1,2)) ︡dcfb23c4-a6cf-4140-bc0e-33edf405f5ee︡{"done":true} ︠65dc441f-b20a-4d8f-99ea-a6c3db685f57i︠ %md Para exibir o gráfico, usamos os comandos `P.show()` ou `show(P)`: ︡7e4ffb04-ba0d-42e7-b516-9c1072bbdd5a︡{"done":true,"md":"Para exibir o gráfico, usamos os comandos `P.show()` ou `show(P)`:"} ︠61d2ade6-3fe0-466a-9630-6e737cecfa4cs︠ P.show() ︡6bdab979-7da9-481b-bcda-78f735dca1db︡{"file":{"filename":"/home/user/.sage/temp/project-7c980726-6766-4f24-99ed-f67ff647a915/318/tmp_CUMTce.svg","show":true,"text":null,"uuid":"75e3d364-f14d-42fe-b332-22365a63405c"},"once":false}︡{"done":true} ︠594e173d-957b-4fbd-820b-98a6c3ebf93ei︠ %md ## Textos ︡86874522-d3e6-42f0-bda0-3e9d2e862ffa︡{"done":true,"md":"## Textos"} ︠4859b64a-a19b-48ce-89ff-4385d94a0b80i︠ %md Para adicionar texto a um gráfico, usamos o comando ︡daa16d1d-c58b-4a2b-82e3-8a3354400823︡{"done":true,"md":"Para adicionar texto a um gráfico, usamos o comando"} ︠7dc58670-6b0a-44a9-b847-7422b0a069bfs︠ text("Texto no ponto (2,1)", (2,1)) ︡c6b837ee-daaa-4557-9a50-ab6b05f452c7︡{"file":{"filename":"/home/user/.sage/temp/project-7c980726-6766-4f24-99ed-f67ff647a915/318/tmp_nrqofr.svg","show":true,"text":null,"uuid":"50cffc4a-4aaa-4213-9311-81e3b4597424"},"once":false}︡{"done":true} ︠5ea9a5da-e117-4435-b655-83db72075ac1i︠ %md ## Segmentos de retas ︡c027ba0a-9b8f-4d60-a8c3-4f77b476ca31︡{"done":true,"md":"## Segmentos de retas"} ︠18f1e36f-3a1c-4200-a750-37ab363e3664i︠ %md O comando a seguir cria o gráfico do segmento AB em que A = (1,1) e B = (3,2): ︡90072df3-9d4c-4334-844a-653138fdae7e︡{"done":true,"md":"O comando a seguir cria o gráfico do segmento AB em que A = (1,1) e B = (3,2):"} ︠d49c5d5f-0070-4d50-837b-e4d69f4d3239s︠ line([(1,1), (3,2)]) ︡0ab486a3-cd81-426a-bae3-7505414e4922︡{"file":{"filename":"/home/user/.sage/temp/project-7c980726-6766-4f24-99ed-f67ff647a915/318/tmp_fsJYEV.svg","show":true,"text":null,"uuid":"74d0cb9e-6e7b-4c49-a277-22e4908a6573"},"once":false}︡{"done":true} ︠043141c1-4ed8-4bf4-8d85-91cab99fd80ci︠ %md Alternativamente, vamos criar o gráfico do segmento AB em que A = (-2,-1) e B = (5,3) usando uma parametrização do segmento. Primeiramente, definimos a variável `t` (o parâmetro), depois as funções x(t) e y(t), e por fim criamos o gráfico usando o comando `parametric_plot()` (note que variamos t de 0 a 1): ︡b72fa4e0-e720-4a8b-9ab0-c71b39efea2e︡{"done":true,"md":"Alternativamente, vamos criar o gráfico do segmento AB em que A = (-2,-1) e B = (5,3) usando uma parametrização do segmento.\n\nPrimeiramente, definimos a variável `t` (o parâmetro), depois as funções x(t) e y(t), e por fim criamos o gráfico usando o comando `parametric_plot()` (note que variamos t de 0 a 1):"} ︠853865f3-cb51-43ea-8f03-18785a097345s︠ t = var('t') x(t) = (1-t)*(-2) + t*(5) y(t) = (1-t)*(-1) + t*(3) parametric_plot([x(t), y(t)], (t, 0, 1)) ︡e5bc46fd-56c9-4c55-82ba-b0c4f482f554︡{"file":{"filename":"/home/user/.sage/temp/project-7c980726-6766-4f24-99ed-f67ff647a915/318/tmp_2Y39zF.svg","show":true,"text":null,"uuid":"0fdd6f54-0f1b-4ece-a682-fdc23eac8e8f"},"once":false}︡{"done":true} ︠4f55c010-43e5-4096-ab64-58376d93b6dei︠ %md Para representar mais de um segmento no mesmo gráfico, procedemos da seguinte forma (opcionalmente, vamos especificar uma cor diferente para cada segmento): ︡0f968a08-5b61-45c5-845c-0ceb7284d632︡{"done":true,"md":"Para representar mais de um segmento no mesmo gráfico, procedemos da seguinte forma (opcionalmente, vamos especificar uma cor diferente para cada segmento):"} ︠c5c7db1e-ade3-4b4e-95bb-e008d86b69b7s︠ t = var('t') a = parametric_plot([(1-t)*(-2) + t*(5), (1-t)*(-1) + t*(3)], (t, 0, 1)) b = parametric_plot([(1-t)*(1) + t*(3), (1-t)*(3) + t*(-1)], (t, 0, 1), color='red') p = a + b p.show() ︡c1e1fcfd-d6a7-40ba-8b56-c22464bbed8a︡{"file":{"filename":"/home/user/.sage/temp/project-7c980726-6766-4f24-99ed-f67ff647a915/318/tmp_S2ZNhG.svg","show":true,"text":null,"uuid":"54363141-649b-490a-8b57-b7e3f759076f"},"once":false}︡{"done":true} ︠3b6b89a0-febc-4abd-8c21-82094c570374i︠ %md Podemos combinar os comandos acima e adicionar legendas aos eixos: ︡f9b78f0c-8680-4286-8658-ef55329c6507︡{"done":true,"md":"Podemos combinar os comandos acima e adicionar legendas aos eixos:"} ︠0f824145-7c73-498d-9447-2ef0c694fffas︠ t = var('t') a = parametric_plot([(1-t)*(-2) + t*(5), (1-t)*(3) + t*(-2)], (t, 0, 1), color='red') b = line([(-1,-1), (3,3)], color='green') c = point((3,1)) d = text("(3,1)", (3,1.3)) p = a + b + c + d p.show(axes_labels=['$x$', '$y$']) ︡8b4d989d-9e6b-4495-8db3-ae89d8599e59︡{"file":{"filename":"/home/user/.sage/temp/project-7c980726-6766-4f24-99ed-f67ff647a915/318/tmp_ukjDJI.svg","show":true,"text":null,"uuid":"a707d364-716e-4afe-9203-e004cf677f3e"},"once":false}︡{"done":true} ︠70e14e88-b660-45b0-bc39-d2963165f739i︠ %md Para alterar os intervalos de x e y exibidos no gráfico, podemos especificar os parâmetros `xmin`, `xmax`, `ymin` e `ymax`. Por exemplo, vamos modificar o gráfico anterior. ︡811122e5-90ce-4d26-ab15-8c530bf9f65b︡{"done":true,"md":"Para alterar os intervalos de x e y exibidos no gráfico, podemos especificar os parâmetros `xmin`, `xmax`, `ymin` e `ymax`.\nPor exemplo, vamos modificar o gráfico anterior."} ︠be2b2159-72de-4c2d-a9af-28d0a53a1223s︠ p.show(axes_labels=['$x$', '$y$'], xmin=-6, xmax=8, ymin=-4, ymax=5) ︡a0038b69-7bff-4318-a5c4-e855082196e6︡{"file":{"filename":"/home/user/.sage/temp/project-7c980726-6766-4f24-99ed-f67ff647a915/318/tmp_KvK7A_.svg","show":true,"text":null,"uuid":"6084ac9d-b7a6-4f28-9d4f-1f88b02fd7fa"},"once":false}︡{"done":true} ︠fba56e18-66b8-4114-81aa-2b2294af5b46i︠ %md ## Retas ︡1622b406-3d51-4f0d-bd51-db39b25ecace︡{"done":true,"md":"## Retas"} ︠2c613a93-114e-4d7e-a43c-ab4d4c2a8fb8i︠ %md ### Reta AB ︡5f7f7adf-621b-480d-b7ce-c75b893db225︡{"done":true,"md":"### Reta AB"} ︠188acd28-adb6-43a5-88cc-edd35b362098i︠ %md Em um gráfico bidimensional, retas são sempre finitas e portanto se confundem com segmentos. Para criar retas que passam por dois pontos dados, usamos os mesmos comandos que usamos para criar segmentos: `line()` e `parametric_plot()`. Para criar retas que preenchem todo o gráfico (ou seja, chegam à fronteira do gráfico), sugerimos usar uma parametrização e variar o parâmetro t em um intervalo suficientemente grande: ︡9da032a6-2a27-42a2-95c7-37cd67c0442c︡{"done":true,"md":"Em um gráfico bidimensional, retas são sempre finitas e portanto se confundem com segmentos.\nPara criar retas que passam por dois pontos dados, usamos os mesmos comandos que usamos para criar segmentos: `line()` e `parametric_plot()`.\n\nPara criar retas que preenchem todo o gráfico (ou seja, chegam à fronteira do gráfico), sugerimos usar uma parametrização e variar o parâmetro t em um intervalo suficientemente grande:"} ︠d29e1f4b-374c-436e-b7d3-5f808b2ce76ds︠ t = var('t') parametric_plot([(1-t)*(-2) + t*(4), (1-t)*(1) + t*(3)], (t, -3, 3), axes_labels=['$x$', '$y$']) ︡c50be568-1da9-4807-8a84-747daf5069bf︡{"file":{"filename":"/home/user/.sage/temp/project-7c980726-6766-4f24-99ed-f67ff647a915/318/tmp_5Kxkse.svg","show":true,"text":null,"uuid":"1aac4fb3-49cd-4ec4-a487-93894a7667b5"},"once":false}︡{"done":true} ︠5a7b143f-aafc-46a3-ba0e-82f4c4ebf58di︠ %md ### Reta y = ax + b ︡ee0252e8-1e3d-4afb-8af5-930e34e8ff76︡{"done":true,"md":"### Reta y = ax + b"} ︠b234c28c-aab0-463d-8ff3-b4dab832b9bdi︠ %md Para criar o gráfico de uma reta na forma y = ax + b, vamos fazer o gráfico de y como função de x. Primeiramente, definimos a variável x, depois a função y(x), e por fim fazemos o gráfico de y em função de x com o comando `plot()` (variando x em um intervalo): ︡8bcf84b0-671a-4a28-9e39-ced949907cef︡{"done":true,"md":"Para criar o gráfico de uma reta na forma y = ax + b, vamos fazer o gráfico de y como função de x.\n\nPrimeiramente, definimos a variável x, depois a função y(x), e por fim fazemos o gráfico de y em função de x com o comando `plot()` (variando x em um intervalo):"} ︠865fcd59-d274-443e-b126-180e780c5f53s︠ x = var('x') y(x) = 2*x + 1 plot(y(x), (x, -3, 3)) ︡e3c1f6be-fb32-4b25-b950-902ef267e029︡{"file":{"filename":"/home/user/.sage/temp/project-7c980726-6766-4f24-99ed-f67ff647a915/318/tmp_bZD97N.svg","show":true,"text":null,"uuid":"daefe3b4-141b-4729-958c-859f000649ca"},"once":false}︡{"done":true} ︠781311fb-6a67-4437-9bbd-5dde21bf4588i︠ %md Equivalentemente, podemos usar os seguintes comandos (observe a sintaxe alternativa no comando `plot()`): ︡fbff7f0c-efab-4f4a-a201-bdb47117b402︡{"done":true,"md":"Equivalentemente, podemos usar os seguintes comandos (observe a sintaxe alternativa no comando `plot()`):"} ︠2ab852cf-9082-4362-a013-94252d1ebe92s︠ x = var('x') a = 2 b = 1 y(x) = a*x + b p = plot(y, (-3, 3), color='purple', legend_label='$y = 2x + 1$') p.show(axes_labels=['$x$', '$y$']) ︡9599cfb6-e917-44bb-b50a-f8b0c0f96ed3︡{"file":{"filename":"/home/user/.sage/temp/project-7c980726-6766-4f24-99ed-f67ff647a915/318/tmp_Qi0tnW.svg","show":true,"text":null,"uuid":"73260cc7-7d2a-4077-a974-ac7a8f5b05ce"},"once":false}︡{"done":true} ︠618e4cbb-c02d-4006-93bf-006d15bf5521i︠ %md No parâmetro `axes_labels=['$x$', '$y$']`, o delimitador $ especifica que o código seja interpretado em LaTeX. Substitua esse comando por `axes_labels=['x', 'y']` e observe a diferença. ︡cfac762d-d33a-42e1-95dd-6515f59bf707︡{"done":true,"md":"No parâmetro `axes_labels=['$x$', '$y$']`, o delimitador $ especifica que o código seja interpretado em LaTeX.\nSubstitua esse comando por `axes_labels=['x', 'y']` e observe a diferença."} ︠0bcc8445-9662-4dad-9f3d-ba21d2e9ab25i︠ %md ### Reta ax + by = c ︡ea1963db-e310-4705-8828-ef2f7cb43507︡{"done":true,"md":"### Reta ax + by = c"} ︠881241f1-ef6c-49a6-8c35-a2f1db663b0fi︠ %md Para fazer o gráfico de uma reta na forma ax + by = c, vamos usar o comando `implicit_plot()`. Esse comando recebe uma função f(x,y) e faz o gráfico da curva f(x,y) = 0 na região especificada pelos intervalos de x e y. ︡e5717fd7-4425-42ee-abdd-015fbacaaf98︡{"done":true,"md":"Para fazer o gráfico de uma reta na forma ax + by = c, vamos usar o comando `implicit_plot()`.\n\nEsse comando recebe uma função f(x,y) e faz o gráfico da curva f(x,y) = 0 na região especificada pelos intervalos de x e y."} ︠777da773-583b-4361-a649-6fdbdf8aaaf4s︠ x, y = var('x y') implicit_plot(2*x + 3*y - 1, (x, -2, 2), (y, -2, 2)) ︡17006213-259a-4cd6-9a00-c07765f8db69︡{"file":{"filename":"/home/user/.sage/temp/project-7c980726-6766-4f24-99ed-f67ff647a915/318/tmp_ba0zyj.svg","show":true,"text":null,"uuid":"1d40f829-3529-4155-9621-88278bcf6b68"},"once":false}︡{"done":true} ︠9d2dc2c4-7c66-45cc-b8ac-8a876d0f5e69i︠ %md ## Circunferências ︡b29c9a14-c797-4dfb-8fc8-d761238bbbc7︡{"done":true,"md":"## Circunferências"} ︠f61fc17a-1c8c-421e-8666-7c03d9b51a6di︠ %md O comando a seguir cria o gráfico da circunferência de centro em (0,0) e raio 1: ︡2df93587-ad95-4737-9608-5f8680b5eb00︡{"done":true,"md":"O comando a seguir cria o gráfico da circunferência de centro em (0,0) e raio 1:"} ︠57371077-73b7-4274-a570-bd2181bda9efs︠ circle((0,0), 1) ︡c9d178d9-4817-4225-900e-bdb94bf2c389︡{"file":{"filename":"/home/user/.sage/temp/project-7c980726-6766-4f24-99ed-f67ff647a915/318/tmp_vYMwsN.svg","show":true,"text":null,"uuid":"87b7006c-ea30-42b4-838b-9da3120bc760"},"once":false}︡{"done":true} ︠7186a6a2-6ffd-4a7e-82eb-1536ca76d065i︠ %md Uma outra forma de fazer o gráfico dessa circunferência é usando o comando `implicit_plot()`: ︡93111a11-3bb2-406e-bf1e-109343b7502a︡{"done":true,"md":"Uma outra forma de fazer o gráfico dessa circunferência é usando o comando `implicit_plot()`:"} ︠063cddac-656f-4244-a71b-a35fab30c6ccs︠ x, y = var('x y') f(x,y) = x^2 + y^2 - 1 implicit_plot(f(x,y), (x, -1, 1), (y, -1, 1)) ︡5447de31-f852-4f31-9971-75f8323923b7︡{"file":{"filename":"/home/user/.sage/temp/project-7c980726-6766-4f24-99ed-f67ff647a915/318/tmp_pSaoh1.svg","show":true,"text":null,"uuid":"c33460f4-aa37-4058-8baf-679da3614813"},"once":false}︡{"done":true} ︠4f2c9dbc-e6db-4a5b-a23c-4500e1616da5i︠ %md A seguir, um exemplo combinando os comandos acima: ︡92d2fdbf-610b-44fd-acf9-508f3ed6c101︡{"done":true,"md":"A seguir, um exemplo combinando os comandos acima:"} ︠b737c90f-d299-4c7b-8142-255d926f06cfs︠ x, y = var('x y') a = implicit_plot(x^2 + y^2 - 1, (x, -1, 1), (y, -1, 1), color='green') b = circle((1,1), 2, color='red') c = point((1,1)) d = text("(1,1)", (1,1.3)) p = a + b + c + d p.show(axes_labels=['$x$', '$y$']) ︡070f3598-60fe-491e-8ded-242dac945562︡{"file":{"filename":"/home/user/.sage/temp/project-7c980726-6766-4f24-99ed-f67ff647a915/318/tmp_VsPTu_.svg","show":true,"text":null,"uuid":"7dc201b3-041f-461b-bb8b-4f191f772a2c"},"once":false}︡{"done":true} ︠39f61b33-ed76-463a-818c-5d72b9fa0865i︠ %md Mais um exemplo: ︡c7c568e7-b0dd-4f31-919e-c8393d7ee54d︡{"done":true,"md":"Mais um exemplo:"} ︠16c9ed6d-ab6f-4a53-9be1-a878e1401232s︠ a = point((1,1)) b = text("(1,1)", (1,1.2)) c = circle((1,1), 2, color='red', legend_label='$(x-1)^2+(y-1)^2=4$') d = line([(-2,3), (5,0)], color='green', legend_label='$\mathrm{reta} \ \mathrm{por} \ (-2,3) \ \mathrm{e} \ (5,0)$') p = a + b + c + d p.show(axes_labels=['$x$', '$y$']) ︡53e27500-a378-431b-9f25-b01b937e0f96︡{"file":{"filename":"/home/user/.sage/temp/project-7c980726-6766-4f24-99ed-f67ff647a915/318/tmp_I7mxZS.svg","show":true,"text":null,"uuid":"7deb1ada-8e07-49f7-bc91-93ce59c8b015"},"once":false}︡{"done":true} ︠d7478c40-b983-40ff-b39a-22aba1eb255ai︠ %md Para salvar a figura em um arquivo, usamos o comando ︡c96deb67-c596-485d-a702-02bd66c62161︡{"done":true,"md":"Para salvar a figura em um arquivo, usamos o comando"} ︠d56bc370-662e-498b-a5fa-d72301d30826s︠ p.save('figura.png') ︡95e643d6-c6ec-4103-8b03-e271c37f9b6b︡{"done":true} ︠c79bc9f2-4202-44f7-96dc-f68d51691113i︠ %md ## Gráficos de funções ︡bd3b08d9-eb9f-4e19-b8d5-730f674009ff︡{"done":true,"md":"## Gráficos de funções"} ︠7b360a23-04fa-4bc4-b662-e98a5b8ebc31i︠ %md Para criar um gráfico da função $\sin(x)$ com $x$ variando de $-\pi/2$ a $\pi/2$, vamos usar o comando `plot()`: ︡43ce5e2c-b17e-4c02-b0b1-b0f998a4c1ba︡{"done":true,"md":"Para criar um gráfico da função $\\sin(x)$ com $x$ variando de $-\\pi/2$ a $\\pi/2$, vamos usar o comando `plot()`:"} ︠70bcf9f8-98ed-49de-a738-6d52e63904bds︠ x = var('x') f(x) = sin(x) plot(f(x), (x, -pi/2, pi/2), axes_labels=['$x$', '$\sin(x)$']) ︡c6027afa-b867-4525-9ecb-1ef90df70c52︡{"file":{"filename":"/home/user/.sage/temp/project-7c980726-6766-4f24-99ed-f67ff647a915/318/tmp_33C1HW.svg","show":true,"text":null,"uuid":"e087004e-43a0-42dc-9b20-bff030757540"},"once":false}︡{"done":true} ︠1c65d323-b7b4-4f64-a527-e7e033f88bbci︠ %md Podemos criar os gráficos de duas funções nos mesmos eixos adicionando os gráficos de cada uma delas: ︡7846a1c9-c829-40d2-b3d3-3b00c4b93569︡{"done":true,"md":"Podemos criar os gráficos de duas funções nos mesmos eixos adicionando os gráficos de cada uma delas:"} ︠25cd79b7-fa28-438e-970c-429420c39e77s︠ x = var('x') f(x) = sin(x) g(x) = cos(x) a = plot(f(x), (x, -pi/2, pi/2), color='black') b = plot(g(x), (x, -pi/2, pi/2), color='red') p = a + b p.show() ︡8a42e649-54e3-49e0-9d06-aa5298ee2279︡{"file":{"filename":"/home/user/.sage/temp/project-7c980726-6766-4f24-99ed-f67ff647a915/318/tmp_cvr82r.svg","show":true,"text":null,"uuid":"4c33fd4e-a571-498c-ba36-f74d1e3077c6"},"once":false}︡{"done":true} ︠2fc68d37-8064-4e83-87d3-cbb821d98812i︠ %md A seguir, um outro exemplo, usando mais opções. Observe a especificação do parâmetro `aspect_ratio = 1` e compare o gráfico abaixo com o gráfico acima. ︡352f7bf5-d629-4bfd-bef1-5c03d591c9a5︡{"done":true,"md":"A seguir, um outro exemplo, usando mais opções.\nObserve a especificação do parâmetro `aspect_ratio = 1` e compare o gráfico abaixo com o gráfico acima."} ︠9f232aba-0303-49c4-9c73-ef96d07f1fb8s︠ x = var('x') f(x) = sin(x) g(x) = cos(x) a = plot(f(x), (x, -pi/2, pi/2), color='black', linestyle='--', thickness=3, legend_label='$\sin(x)$') b = plot(g(x), (x, -pi/2, pi/2), color='red', legend_label='$\cos(x)$') p = a + b p.show(axes_labels=['$x$', '$y$'], aspect_ratio=1) ︡4d505c32-64a6-48a2-bbf8-8e6019047604︡{"file":{"filename":"/home/user/.sage/temp/project-7c980726-6766-4f24-99ed-f67ff647a915/318/tmp_Yo2Tps.svg","show":true,"text":null,"uuid":"9b496e04-b7d6-4882-afd3-1e8deb25989b"},"once":false}︡{"done":true} ︠cbc2363d-4e05-43bc-9fa3-c2ecb4c8daeci︠ %md Às vezes, o gráfico obtido não é exatamente o que esperávamos. Veja o seguinte exemplo: ︡9f8d7815-9381-4060-94c4-43b307733399︡{"done":true,"md":"Às vezes, o gráfico obtido não é exatamente o que esperávamos.\nVeja o seguinte exemplo:"} ︠9ed6cf76-aa8d-4458-959a-4fc40d411ff5s︠ x = var('x') f(x) = (x^3 + x^2 + x)/(x^2 - x - 2) p = plot(f(x), (x, -5, 5)) p.show() ︡5dae6192-cfef-483d-9c04-5856952166af︡{"file":{"filename":"/home/user/.sage/temp/project-7c980726-6766-4f24-99ed-f67ff647a915/318/tmp_4f0e7v.svg","show":true,"text":null,"uuid":"63916d84-794f-42d7-ba9a-f2e75235338d"},"once":false}︡{"done":true} ︠6dd55037-3ac5-4b55-8808-d1f0701f577ai︠ %md As assíntotas verticais dessa função racional fazem a função `plot()` ajustar o `aspect_ratio` do gráfico e com isso exibir valores muito grandes de f(x) para x próximo de -1 e 2. Isso torna difícil visualizar os detalhes do gráfico. Para contornar esse problema, vamos ajustar os limites verticais e horizontais do gráfico: ︡f24c0346-3f2d-4ed9-ad03-b16af2e6034d︡{"done":true,"md":"As assíntotas verticais dessa função racional fazem a função `plot()` ajustar o `aspect_ratio` do gráfico e com isso exibir valores muito grandes de f(x) para x próximo de -1 e 2.\nIsso torna difícil visualizar os detalhes do gráfico.\n\nPara contornar esse problema, vamos ajustar os limites verticais e horizontais do gráfico:"} ︠e88ab185-c234-4fca-bd26-39c654f6c98as︠ p.show(xmin=-2, xmax=4, ymin=-20, ymax=20) ︡7adfec73-00f9-4d3b-8361-c24c294a879d︡{"file":{"filename":"/home/user/.sage/temp/project-7c980726-6766-4f24-99ed-f67ff647a915/318/tmp_g38QjK.svg","show":true,"text":null,"uuid":"a2f46b28-f3d0-4368-8de3-5c15dcf12598"},"once":false}︡{"done":true} ︠008c03f1-6769-4225-9f73-3d90acff5af7i︠ %md Para ler a documentação sobre uma função do sagemath, usamos o comando `help()`. Por exemplo, o seguinte comando exibe a documentação da função `line()`: ︡231cba70-0aa5-4998-a1d2-250127f26954︡{"done":true,"md":"Para ler a documentação sobre uma função do sagemath, usamos o comando `help()`.\nPor exemplo, o seguinte comando exibe a documentação da função `line()`:"} ︠35e7b492-ab04-4b78-90dd-b217aa010f97s︠ help(line) ︡9b4171a6-442b-46c3-88fe-9e94915d40d2︡{"stdout":"Help on function line in module sage.plot.line:\n\nline(points, **kwds)\n Returns either a 2-dimensional or 3-dimensional line depending\n on value of points.\n \n INPUT:\n \n - ``points`` - either a single point (as a tuple), a list of\n points, a single complex number, or a list of complex numbers.\n \n For information regarding additional arguments, see either line2d?\n or line3d?.\n \n EXAMPLES::\n \n sage: line([(0,0), (1,1)])\n Graphics object consisting of 1 graphics primitive\n \n ::\n \n sage: line([(0,0,1), (1,1,1)])\n Graphics3d Object\n\n"}︡{"done":true} ︠bc983e99-e100-4f6d-bb04-5eb90084922ci︠ %md Alternativamente, pare ler essa documentação poderíamos usar o comando `line?` ︡41787f4c-eb10-4582-87a4-a0ef65fd2582︡{"done":true,"md":"Alternativamente, pare ler essa documentação poderíamos usar o comando `line?`"} ︠0164cd07-94fe-4921-80e3-8e7ef87ff74ai︠ %md Para traduzir a documentação, copie a saída do comando `help()` (usando o mouse e o CTRL-C) e cole em http://translate.google.com. ︡124ba3ea-7737-4f19-a51c-e9ff28e2f397︡{"done":true,"md":"Para traduzir a documentação, copie a saída do comando `help()` (usando o mouse e o CTRL-C) e cole em http://translate.google.com."} ︠15e18dae-d6c6-4016-b385-09e974a095b7︠