C語言 方程求解

2021-08-09 15:52:20 字數 914 閱讀 5978

c語言數學函式:fabs

原型:在tc中原型是extern float fabs(float x);,在vc6.0中原型是double fabs(double x );。

用法:#include

功能:求浮點數x的絕對值

說明:計算|x|, 當x不為負時返回 x,否則返回 -x

時限:1000ms 記憶體限制:10000k 總時限:3000ms

描述:

迭代法是用於求解方程或方程組近似根的一種常用的演算法設計方法。設方程為f(x)=0,用某種數學方法推

匯出來的等價的形式x=g(x),然後按一下步驟進行:

1)選乙個方程的近似根,賦給變數x0;

2)將x0的值儲存於變數x1,然後計算g(x1),並將結果存於x0

3)當x0與x1的差的絕對值還小於指定的精度要求時,重複步驟2

若方程有根,並且用上述方法計算出來的近似根序列收斂,則按照上述方法求得的x0就認為是方程的根。

上述方法用c程式的形式表示如下:

x0=初始近似根

dowhile(fabs(x0-x1)大於精度要求);

printf("方程的近似根是%f\n",x0);

試用迭代公式為x(n+1) = 0.5*(x(n)+a/x(n)),計算a為不同值的時候的結果(初值為1.0,精度要求為1e

-4)。

輸入:

乙個整型資料a,a大於等於1,小於等於10

輸出:

結果x0,結果保留小數點後3位

輸入樣例:

輸出樣例:

1.000

答案如下:

#include#includeint main() while(fabs(x0-x1)>1e-4);  printf("%.3f\n",x0);  return 0; }

求解方程 語言 c

時限 1000ms 記憶體限制 10000k 總時限 3000ms 描述 用牛頓迭代法求方程2x 3 4x 2 3xsinx 6 0的根,要求誤差小於10的 6次方。輸入 乙個浮點數,表示起始點。輸出 乙個浮點數,為方程的根。輸入樣例 1.0輸出樣例 2.064076 include include...

c語言求解非線性方程組 C語言求解線性方程組

在之前的文章c語言實現矩陣求秩和化約化階梯形中,我們已經實現了求矩陣的秩與約化階梯形,在此基礎上,我們就可以來求解線性方程組了.一般線性方程組當且僅當 2.當 首先以增廣矩陣的形式輸入線性方程組,利用 matrix.h 標頭檔案中的求秩函式分別計算增廣矩陣和係數矩陣的秩,然後判斷是否有解 如果方程有...

不定方程求解c語言 編寫自己的求解器

如果不寫自己的求解器,那麼學這個軟體將毫無意義。而寫自己的求解器,常見的,無外乎幾種目的 這些需求裡面,其實除了第一條是需要改動求解器框子的,剩下的無非是在一般計算的中間插入一些計算步驟罷了。所以下面寫的時候我先從最簡單的求解器 簡單方程 沒有源項 常係數 開始寫起,然後單獨處理上述若干種不同情況。...