{"id":3154,"date":"2020-08-12T10:58:06","date_gmt":"2020-08-12T08:58:06","guid":{"rendered":"https:\/\/www.mathweb.fr\/euclide\/?p=3154"},"modified":"2023-04-16T16:20:19","modified_gmt":"2023-04-16T14:20:19","slug":"methode-de-la-secante-en-python","status":"publish","type":"page","link":"https:\/\/www.mathweb.fr\/euclide\/methode-de-la-secante-en-python\/","title":{"rendered":"M\u00e9thode de la s\u00e9cante en Python"},"content":{"rendered":"\n<p>La m\u00e9thode de la s\u00e9cante, que nous allons impl\u00e9menter en Python, est une m\u00e9thode algorithmique de r\u00e9solution d&#8217;\u00e9quation.<\/p>\n\n\n\n<p>Elle est fortement inspir\u00e9e de la <a href=\"https:\/\/www.mathweb.fr\/euclide\/methode-de-newton\/\" target=\"_blank\" rel=\"noreferrer noopener\">m\u00e9thode de Newton<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Principe math\u00e9matique de la m\u00e9thode de la s\u00e9cante (avant impl\u00e9mentation en Python)<\/h2>\n\n\n\n<p>Nous avons pu voir \u00e0 travers la m\u00e9thode de Newton que la suite d\u00e9finie par:$$x_{n+1}=x_n-\\frac{f(x_n)}{f'(x_n)}$$ convergeait vers la solution de l&#8217;\u00e9quation <em>f<\/em>(<em>x<\/em>) = 0.<\/p>\n\n\n\n<p>Le principal inconv\u00e9nient de cette m\u00e9thode est le fait que l&#8217;on ne connait pas n\u00e9cessairement la d\u00e9riv\u00e9e de la fonction <em>f<\/em>. Aussi, nous allons remplacer \\(f'(x_n)\\) par \\(\\displaystyle\\frac{f(x_n)-f(x_{n-1})}{x_n-x_{n-1}}\\), qui est une bonne approximation pour \\(x_n\\) et \\(x_{n-1}\\) tr\u00e8s proches.<\/p>\n\n\n\n<p>La relation de r\u00e9currence devient donc:$$x_{n+1}=x_n-\\frac{(x_n-x_{n-1})f(x_n)}{f(x_n)-f(x_{n-1})}.$$<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"579\" height=\"492\" src=\"https:\/\/www.mathweb.fr\/euclide\/wp-content\/uploads\/2020\/08\/methode-secante-03.png\" alt=\"m\u00e9thode de la s\u00e9cante en python\" class=\"wp-image-3157\" srcset=\"https:\/\/www.mathweb.fr\/euclide\/wp-content\/uploads\/2020\/08\/methode-secante-03.png 579w, https:\/\/www.mathweb.fr\/euclide\/wp-content\/uploads\/2020\/08\/methode-secante-03-300x255.png 300w\" sizes=\"auto, (max-width: 579px) 100vw, 579px\" \/><figcaption>Interpr\u00e9tation de la m\u00e9thode de la s\u00e9cante<\/figcaption><\/figure><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Impl\u00e9mentation en Python<\/h2>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"dracula\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">def secante(a,b,p):\n    while True:\n        x = b - ( b - a ) * f(b) \/ ( f(b) - f(a) )\n        if abs(x - b) &lt;= 10**(-p):\n            return x\n        else:\n            a, b = b, x<\/pre>\n\n\n\n<p>Il n&#8217;y a rien de bien compliqu\u00e9 ici: la fonction admet 3 arguments (<em>a<\/em> et <em>b<\/em> repr\u00e9sentent respectivement le premier et le deuxi\u00e8me terme de la suite, et <em>p<\/em> la pr\u00e9cision souhait\u00e9e).<\/p>\n\n\n\n<p>On calcule ensuite le terme suivant (\u2192 ligne 3) et on regarde la diff\u00e9rence entre cette derni\u00e8re valeur et celle du terme pr\u00e9c\u00e9dent. Si elle est inf\u00e9rieure \u00e0 \\(10^{-p}\\), on retourne la derni\u00e8re valeur calcul\u00e9e (et la boucle s&#8217;arr\u00eate), sinon <em>a<\/em> et <em>b<\/em> deviennent <em>b<\/em> et <em>x<\/em>.<\/p>\n\n\n\n<p>En d&#8217;autres termes, <em>a<\/em> repr\u00e9sente \\(x_{n-1}\\), <em>b<\/em> repr\u00e9sente \\(x_n\\) et <em>x<\/em> repr\u00e9sente \\(x_{n+1}\\).<\/p>\n\n\n\n<p>Bien entendu, il ne faut pas oublier de d\u00e9finir la fonction <em>f<\/em>. Par exemple, pour \\(f(x)=0,2(x-10)^2+3x-20\\):<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"dracula\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">def f(x):\n    return 0.2 * (x-10)**2 + 3*x - 20\n<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">&gt;&gt;&gt; secante(8,7,10)\n5.000000000000002<\/pre>\n\n\n\n<p>La valeur exacte de la solution la plus proche de 7 \u00e9tant 5, on obtient un assez bon r\u00e9sultat.<\/p>\n\n\n\n<p>N&#8217;oubliez pas que si vous avez des difficult\u00e9s en math\u00e9matiques, <a href=\"https:\/\/courspasquet.fr\" target=\"_blank\" rel=\"noreferrer noopener\">je peux vous aider par webcam<\/a> !<\/p>\n","protected":false},"excerpt":{"rendered":"<p>La m\u00e9thode de la s\u00e9cante, que nous allons impl\u00e9menter en Python, est une m\u00e9thode algorithmique de r\u00e9solution d&#8217;\u00e9quation. Elle est fortement inspir\u00e9e de la m\u00e9thode de Newton. Principe math\u00e9matique de la m\u00e9thode de la s\u00e9cante (avant impl\u00e9mentation en Python) Nous avons pu voir \u00e0 travers la m\u00e9thode de Newton que [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"open","ping_status":"open","template":"","meta":{"footnotes":""},"class_list":["post-3154","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>M\u00e9thode de la s\u00e9cante en Python - Mathweb.fr - Impl\u00e9mentation en Python<\/title>\n<meta name=\"description\" content=\"La m\u00e9thode de la s\u00e9cante, que nous allons impl\u00e9menter en Python, est une m\u00e9thode algorithmique de r\u00e9solution d&#039;\u00e9quation. Regardons \u00e7a!\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.mathweb.fr\/euclide\/methode-de-la-secante-en-python\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"M\u00e9thode de la s\u00e9cante en Python - Mathweb.fr - Impl\u00e9mentation en Python\" \/>\n<meta property=\"og:description\" content=\"La m\u00e9thode de la s\u00e9cante, que nous allons impl\u00e9menter en Python, est une m\u00e9thode algorithmique de r\u00e9solution d&#039;\u00e9quation. Regardons \u00e7a!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.mathweb.fr\/euclide\/methode-de-la-secante-en-python\/\" \/>\n<meta property=\"og:site_name\" content=\"Mathweb.fr\" \/>\n<meta property=\"article:modified_time\" content=\"2023-04-16T14:20:19+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.mathweb.fr\/euclide\/wp-content\/uploads\/2020\/08\/methode-secante-03.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data1\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/methode-de-la-secante-en-python\\\/\",\"url\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/methode-de-la-secante-en-python\\\/\",\"name\":\"M\u00e9thode de la s\u00e9cante en Python - Mathweb.fr - Impl\u00e9mentation en Python\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/methode-de-la-secante-en-python\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/methode-de-la-secante-en-python\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/wp-content\\\/uploads\\\/2020\\\/08\\\/methode-secante-03.png\",\"datePublished\":\"2020-08-12T08:58:06+00:00\",\"dateModified\":\"2023-04-16T14:20:19+00:00\",\"description\":\"La m\u00e9thode de la s\u00e9cante, que nous allons impl\u00e9menter en Python, est une m\u00e9thode algorithmique de r\u00e9solution d'\u00e9quation. Regardons \u00e7a!\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/methode-de-la-secante-en-python\\\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/methode-de-la-secante-en-python\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/methode-de-la-secante-en-python\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/wp-content\\\/uploads\\\/2020\\\/08\\\/methode-secante-03.png\",\"contentUrl\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/wp-content\\\/uploads\\\/2020\\\/08\\\/methode-secante-03.png\",\"width\":579,\"height\":492},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/methode-de-la-secante-en-python\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"M\u00e9thode de la s\u00e9cante en Python\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/#website\",\"url\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/\",\"name\":\"Mathweb.fr\",\"description\":\"Math\u00e9matiques, LaTeX et Python\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/#\\\/schema\\\/person\\\/e4d3bb07968238378f0d5052a70dcd69\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/#\\\/schema\\\/person\\\/e4d3bb07968238378f0d5052a70dcd69\",\"name\":\"St\u00e9phane Pasquet\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/cropped-logo-mathweb.webp\",\"url\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/cropped-logo-mathweb.webp\",\"contentUrl\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/cropped-logo-mathweb.webp\",\"width\":74,\"height\":77,\"caption\":\"St\u00e9phane Pasquet\"},\"logo\":{\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/cropped-logo-mathweb.webp\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"M\u00e9thode de la s\u00e9cante en Python - Mathweb.fr - Impl\u00e9mentation en Python","description":"La m\u00e9thode de la s\u00e9cante, que nous allons impl\u00e9menter en Python, est une m\u00e9thode algorithmique de r\u00e9solution d'\u00e9quation. Regardons \u00e7a!","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.mathweb.fr\/euclide\/methode-de-la-secante-en-python\/","og_locale":"fr_FR","og_type":"article","og_title":"M\u00e9thode de la s\u00e9cante en Python - Mathweb.fr - Impl\u00e9mentation en Python","og_description":"La m\u00e9thode de la s\u00e9cante, que nous allons impl\u00e9menter en Python, est une m\u00e9thode algorithmique de r\u00e9solution d'\u00e9quation. Regardons \u00e7a!","og_url":"https:\/\/www.mathweb.fr\/euclide\/methode-de-la-secante-en-python\/","og_site_name":"Mathweb.fr","article_modified_time":"2023-04-16T14:20:19+00:00","og_image":[{"url":"https:\/\/www.mathweb.fr\/euclide\/wp-content\/uploads\/2020\/08\/methode-secante-03.png","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_misc":{"Dur\u00e9e de lecture estim\u00e9e":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.mathweb.fr\/euclide\/methode-de-la-secante-en-python\/","url":"https:\/\/www.mathweb.fr\/euclide\/methode-de-la-secante-en-python\/","name":"M\u00e9thode de la s\u00e9cante en Python - Mathweb.fr - Impl\u00e9mentation en Python","isPartOf":{"@id":"https:\/\/www.mathweb.fr\/euclide\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.mathweb.fr\/euclide\/methode-de-la-secante-en-python\/#primaryimage"},"image":{"@id":"https:\/\/www.mathweb.fr\/euclide\/methode-de-la-secante-en-python\/#primaryimage"},"thumbnailUrl":"https:\/\/www.mathweb.fr\/euclide\/wp-content\/uploads\/2020\/08\/methode-secante-03.png","datePublished":"2020-08-12T08:58:06+00:00","dateModified":"2023-04-16T14:20:19+00:00","description":"La m\u00e9thode de la s\u00e9cante, que nous allons impl\u00e9menter en Python, est une m\u00e9thode algorithmique de r\u00e9solution d'\u00e9quation. Regardons \u00e7a!","breadcrumb":{"@id":"https:\/\/www.mathweb.fr\/euclide\/methode-de-la-secante-en-python\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.mathweb.fr\/euclide\/methode-de-la-secante-en-python\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.mathweb.fr\/euclide\/methode-de-la-secante-en-python\/#primaryimage","url":"https:\/\/www.mathweb.fr\/euclide\/wp-content\/uploads\/2020\/08\/methode-secante-03.png","contentUrl":"https:\/\/www.mathweb.fr\/euclide\/wp-content\/uploads\/2020\/08\/methode-secante-03.png","width":579,"height":492},{"@type":"BreadcrumbList","@id":"https:\/\/www.mathweb.fr\/euclide\/methode-de-la-secante-en-python\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.mathweb.fr\/euclide\/"},{"@type":"ListItem","position":2,"name":"M\u00e9thode de la s\u00e9cante en Python"}]},{"@type":"WebSite","@id":"https:\/\/www.mathweb.fr\/euclide\/#website","url":"https:\/\/www.mathweb.fr\/euclide\/","name":"Mathweb.fr","description":"Math\u00e9matiques, LaTeX et Python","publisher":{"@id":"https:\/\/www.mathweb.fr\/euclide\/#\/schema\/person\/e4d3bb07968238378f0d5052a70dcd69"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.mathweb.fr\/euclide\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":["Person","Organization"],"@id":"https:\/\/www.mathweb.fr\/euclide\/#\/schema\/person\/e4d3bb07968238378f0d5052a70dcd69","name":"St\u00e9phane Pasquet","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.mathweb.fr\/euclide\/wp-content\/uploads\/2025\/06\/cropped-logo-mathweb.webp","url":"https:\/\/www.mathweb.fr\/euclide\/wp-content\/uploads\/2025\/06\/cropped-logo-mathweb.webp","contentUrl":"https:\/\/www.mathweb.fr\/euclide\/wp-content\/uploads\/2025\/06\/cropped-logo-mathweb.webp","width":74,"height":77,"caption":"St\u00e9phane Pasquet"},"logo":{"@id":"https:\/\/www.mathweb.fr\/euclide\/wp-content\/uploads\/2025\/06\/cropped-logo-mathweb.webp"}}]}},"_links":{"self":[{"href":"https:\/\/www.mathweb.fr\/euclide\/wp-json\/wp\/v2\/pages\/3154","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.mathweb.fr\/euclide\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.mathweb.fr\/euclide\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.mathweb.fr\/euclide\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.mathweb.fr\/euclide\/wp-json\/wp\/v2\/comments?post=3154"}],"version-history":[{"count":0,"href":"https:\/\/www.mathweb.fr\/euclide\/wp-json\/wp\/v2\/pages\/3154\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.mathweb.fr\/euclide\/wp-json\/wp\/v2\/media?parent=3154"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}