二分法求解一元多次方程
生活随笔
收集整理的這篇文章主要介紹了
二分法求解一元多次方程
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題意:
對于給定的一個方程:8 * x ^ 4 + 7 * x ^ 3 + 2 * x ^ 2 + 3 * x + 6 == Y;給定一個數Y,求x(0,100)值
分析:
先求函數 f(x)=8 * x ^ 4 + 7 * x ^ 3 + 2 * x ^ 2 + 3 * x + 6的導數,確定導數在定義域內的單調性,然后二分答案
若導數ff(x)>0,則f(x)單調遞增;若導數ff(x)<0,則f(x)單調遞減;
#include<bits/stdc++.h> using namespace std; #define eps 1e-8 double f(double x) {return 8 * pow(x , 4) + 7 * pow(x , 3) + 2 * pow(x , 2) + 3 * x + 6; } int main() {int T;cin>>T;while(T--){int y;cin>>y;double l=0,h=100,m;while(h-l>eps){m=(l+h)/2;if(f(m)>y) h=m;else l=m;}if(f(0)>y||f(100)<y)cout<<"No solution!\n"<<endl;else printf("%.4lf\n",l);}return 0; }?
總結
以上是生活随笔為你收集整理的二分法求解一元多次方程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: POJ1088 滑雪 记忆化搜索
- 下一篇: 一道简单的Fibonacci