推 aj1139:我今天聽到一個你們的(大概是博班)學長說:"那題我放棄!!" 04/25 00:16
推 smiletea:是說 要找最大或最小值,所以先找一次微分等於零的點 04/25 00:42
→ smiletea:然後用牛頓法解一次微分等於零的根嗎?? 04/25 00:42
→ smiletea:剛剛翻了一下課本還有問了人 牛頓法好像是在逼近根?? 04/25 00:43
→ smiletea:input是係數和次方嗎?? 04/25 00:44
推 mcjhsnu492:我們上學期有做過牛頓求解... 04/25 00:59
推 moon1139:我忘記牛頓法是啥了...幫不了你= =" 04/25 03:05
是沒錯 牛頓法是逼近根
所以要先把微分後的方程式寫出來
然後以牛頓法 解微分等於零的方程式
就是解這個 f'(X)=0
可是我不知道一開始要帶什麼值
應該可以先寫個函式 找出 f(X)比較接近0的解
然後再用那個值 用牛頓法逼近
應該會有很多解 所以可能要逼近很多次
然後再找所有解當中的最大or最小值
假設得到f(X1)很接近0
牛頓逼近:
X2 = X1 - f'(X1)/f"(X1)
(因為是解f'(X)=0 所以還要算二次微分)
然後讓電腦慢慢逼近
直到誤差在使用者定義的範圍內
我覺得應該是這樣:
|f'(Xn)| < E
(E是要求的誤差)
這樣不是很嚴謹 但我也想不到可以怎麼辦
所以基本上要三個函式
1.找f(X)接近0的解 可能很多個 用陣列存起來
2.用牛頓逼近 把上一個函式求出來的所有解作逼近 直到小於誤差 再把解存在另一個陣列
3.把所有逼近出來的解 帶入方程後 比較大小 然後就可以cout啦:)
但中間可能還需要三個方程式的函式f,f',f"
只是用講的很厲害
要寫出來 好像真的滿困難= =
加油吧!~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.230.112.131
推 aj1139:超厲害的!! 我看懂了XD 04/25 11:58
推 smiletea:電機系的男人!! cout是什麼??? 04/25 12:26
→ kingofpigs:嘿嘿就是你們的print啦 04/25 12:37