用弦截法求一元三次方程的根x^3-5x^2+16x-80=0 ;帶注釋!

//用弦截法求一元三次方程的根x^3-5x^2+16x-80=0
#include<stdio.h>
#include<math.h>
?float f(float x) //定義子函數f(x) = x^3-5x^2+16x-80,當f(x) →0時,則x即為所求的實數根;
?{
??? ?float y;
??? ?y=((x-5.0)*x+16.0)*x-80.0;
??? ?return(y);????????? //返回f(x)的值
?}
?
? float xpoint( float x1,float x2)//定義子函數xpoint,求出弦與x軸的交點的x0值;
? {
? ?? ?float x0;
? ?? ?x0=(x1*f(x2)-x2*f(x1))/(f(x2)-f(x1));?? //計算弦與x軸交點x0位置的值
? ?? ?return(x0);????????????????????? //返回x0位置的值
? }
?
? float root(float x1,float x2) //定義子函數root,求近似實根
?? {
? ??? ?float x0;??????????????? ?
? ??? ?do????? //關鍵循環步驟,未達到條件前一直do循環運算;
? ??? ?{
? ??? ?? x0=xpoint(x1,x2);? //此處調用上面的子函數xpoint(x1,x2),得到弦與x軸交點位置x0的值
? ??? ?? if(f(x0)*f(x1)>0)? //此處調用子函數f(x),得到x軸x0位置的f(x0)值,得到x1位置的f(x1)值,如果f(x0)*f(x1)>0,即同符號的話;
? ??? ?? ??? ?x1=x0;?????????? //將x0賦值 →x1,則下次繼續循環運算的區間為x0(x1)-x2
?? ?? else????????????? //否則,如果f(x0)*f(x1)<0,即異號的話;
? ??? ???? x2=x0;????????? //將x0賦值 →x2 ,則下次繼續循環運算的區間為x1-x0(x2)
? ??? ?}
? ??? ?while(fabs(f(x0))>=1e-6);//當型循環判斷條件,1e-6為取值精度,f(x0)接近于0,即接近于x軸相交,如運算無結果可能循環次數太多,可減少冪的次數再試。
? ??? ?return(x0);???????? //返回x0位置的值
?? }
?? ?
??? main() //主函數
{
??? float x1,x2,x0;
??? do
??? {
???? printf("請輸入預估的實根區間的兩個數值x1,x2:\n");
???? scanf("%f,%f",&x1,&x2); //輸入兩個數x1,x2
???? }
???? while (f(x1)*f(x2)==0);//當循環運算到f(x1)*f(x2)>=0時(0是必要條件參數),即f(x1)、f(x2)同符號,且任一個接近于0時,意味著與x軸接近相交,此時存在一個方程實根。
???? x0=root(x1,x2);??????? //此處x0即為方程實根;
???? printf("其中的一個方程實根為:%.4f",x0);
?}
?

舉個例子:x1=-10,x2=10,運算結果為:

?

轉載于:https://www.cnblogs.com/xmhango/p/5558874.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/257053.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/257053.shtml
英文地址,請注明出處:http://en.pswp.cn/news/257053.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

兩個很有用的進程間通信函數popen,pclose

兩個很有用的進程間通信函數popen,pclose 今天起的比較晚&#xff0c;然后來了也不想復習&#xff0c;還是看書學習--寫代碼--寫博客有意思&#xff0c;不敢說有多精通&#xff0c;至少每天都在學習新知識&#xff0c;不求立刻完全消化&#xff0c;但求每天有進步。 現在就看看…

c++中指針箭頭的用法

1、c中指針用箭頭來引用類或者結構體的成員&#xff0c;箭頭操作符“->”用來引用指針對象。這是是用于類&#xff0c;或者是結構體的指針變量用的。 如struct Point {int x,y;};Point *ptnew Point;pt->x1; 舉例子說明一下&#xff1a;比如&#xff0c;我有一個對象dark…

化零為整WCF(14) - 事務(Transaction)

[索引頁][源碼下載] 化零為整WCF(14) - 事務(Transaction)作者&#xff1a;webabcd介紹WCF(Windows Communication Foundation) - 事務(Transaction)&#xff1a; 對契約方法使用TransactionFlowAttribute聲明&#xff08;設置TransactionFlowOption參數&#xff09;&#x…

有限元分析筆記01-平面應力和平面應變

https://www.zhihu.com/question/30439292 http://blog.sina.cn/dpool/blog/s/blog_c4c804690102vqqs.html plate stress plate strain

MQTT-SN協議亂翻之實現要點

前言 本篇是MQTT-SN 1.2協議最后一篇翻譯了&#xff0c;主要涉及實現要點&#xff0c;很簡短。 需要支持QoS 值為 -1 QoS雖默認設置有0,1,2三個值&#xff0c;但還有一種情況其值為-1。來自客戶端的PUBLISH消息中若QoS為-1的情況下&#xff0c;此刻客戶端不會關心和網關有沒有建…

oracle-REDO日志文件分析(insert)

1:記錄當前scnselect dbms_flashback.get_system_change_number from dual;GET_SYSTEM_CHANGE_NUMBER------------------------11595722:創建表CREATE TABLE team (team_code VARCHAR2(3),team_name VARCHAR2(30),country_code VARCHAR2(3) );INSERT INTO team VALUES (M…

刪除修改bond

參考地址&#xff1a;http://www.111cn.net/sys/linux/79301.htm 四、刪除bonding設備 如由于最初配置的bonding設備取名為bond0&#xff0c;而后改名為了bond1&#xff0c;造成了兩個bonding設備的存在&#xff0c;現在需刪除bond0 。先查看下網絡設備&#xff1a; # ls /sys/…

學習筆記(18):Python網絡編程并發編程-守護進程

立即學習:https://edu.csdn.net/course/play/24458/296429?utm_sourceblogtoedu 守護進程&#xff08;了解&#xff09; 1.概念&#xff1a;守護進程是主進程在創建子進程的時候&#xff0c;將子進程設置成守護自己的進程&#xff0c;等主進程結束后&#xff0c;不管子進程的…

靜態頁面之間的轉發與json與ajax做到動態數據

我們見過很多使用jsp ,php,asp的動態網頁技術的網站了,我們知道如果一個網站內容更新頻率極低,而內容量不是十分龐大時,這樣的網站(一次開發完成后不會需要較多的維護成本)的完全可以使用全部使用靜態頁面來做,此時其實反而可以得到更好的效果(更快的響應時間(省掉了服務器各種…

數組的最后一位的下一位為什么是0?

以下是我做的兩個實驗&#xff0c;加證實了數組的最后一位的后一位是0&#xff0c;只應該是系統自動添加的標志位 1、比如 int a[5] 則a[5]0,這個是什么原因我還沒有搞懂 #include<iostream> using namespace std;int main() {int a[5];int *pa;for(int i0;i<5;i){a[i…

iOS開發網絡篇—NSURLConnection基本使用

iOS開發網絡篇—NSURLConnection基本使用 一、NSURLConnection的常用類 &#xff08;1&#xff09;NSURL&#xff1a;請求地址 &#xff08;2&#xff09;NSURLRequest&#xff1a;封裝一個請求&#xff0c;保存發給服務器的全部數據&#xff0c;包括一個NSURL對象&#xff0c;…

如何查看mysql連接相關參數

1.查看當前所有連接的詳細資料: mysqladmin -u root -ppassword processlist 這里password為數據庫用戶root的密碼 2.只查看當前連接數(Threads就是連接數.): mysqladmin -u root -ppassword status 這里password為數據庫用戶root的密碼 3.如何知道當前MySQL設置的并發連接數是…

學習筆記(19):Python網絡編程并發編程-互斥鎖

立即學習:https://edu.csdn.net/course/play/24458/296430?utm_sourceblogtoedu 1.互斥鎖&#xff1a; 多進程間的內存是相互隔離的&#xff0c;因此其數據也是相互隔離的&#xff0c;但是所有的進程都共享一個文件操作系統或者說共享文件處理器和打印端。而共享帶來的是競爭…

使用HTML5+CSS3制作圓角內發光按鈕----示例

<!doctype html> <html> <head> <meta charset"utf-8" /> <title>制作漂亮的圓角按鈕<title> <style type"text/css"> .loginBtnDiv { float:right; padding-right:50px; padding-top:10px; } .loginBtn, .Resg…

C++中的sort()函數的原形

1、sor(a,an,compare) {//前兩個是參數是待排序的數組首地址和尾地址 //最后一個參數是compare表示的比較類型 //可調用functional函數的less&#xff08;&#xff09;和greater&#xff08;&#xff09;函數比較大小}

鼠標放上超鏈接顯示背景效果

鼠標放上超鏈接顯示背景效果&#xff1a; <html> <head> <style type"text/css"> a.one:link {color: #ff0000} a.one:visited {color: #0000ff} a.one:hover {color: #ffcc00}a.two:link {color: #ff0000} a.two:visited {color: #0000ff} a.two:…

學習筆記(20):Python網絡編程并發編程-互斥鎖與join的區別

立即學習:https://edu.csdn.net/course/play/24458/296432?utm_sourceblogtoedu 互斥鎖與join的異同&#xff1a; 1.同&#xff1a;都是將多進程并發模式變成多進程串行&#xff0c;保證了數據的有序性 2.異&#xff1a; 互斥鎖只是對于進程的局部代碼實施串行執行變化&#x…

Kali滲透(二)之被動信息收集

被動信息收集 公開渠道可獲得的信息 與目標系統不產生直接交互 盡量避免留下一切痕跡 下面是兩個關于開源情報&#xff08;OSINT&#xff09;的書籍 美國軍方 北大西洋公約組織 信息收集內容 一.IP地址段與域名信息 二.郵件地址 三.文檔圖片數據 四.公司地址 五.公司組織…

ccBPM典型的樹形表單和多表頭表單的流程示例

ccBPM典型的樹形表單和多表頭表單的流程 關鍵字&#xff1a;樹形表單。ccBPM支持樹形表單&#xff0c;也可以稱之為樹結構的多表單或者多表頭表單。 應用場景&#xff1a;比如項目招標類流程&#xff0c;在填寫項目申請的環節&#xff0c;需要填寫公司簡介、公司業績、項目實施…

由strcat函數引發的對char *a和char a[]以及sizeof和strlen

/* http://www.cnblogs.com/kaituorensheng/archive/2012/10/23/2736069.html參考這篇文章* char *a "Hello";Hello存放在常量區&#xff0c;是無法修改的。 * 通過指針只可以訪問字符串常量&#xff0c;而不可以去改變它 * * * char a[] "Hello";…