[代數] 對數方程式的解法

看板Math作者 (烏綠微微)時間3年前 (2020/08/06 17:22), 3年前編輯推噓22(22060)
留言82則, 6人參與, 3年前最新討論串1/1
https://i.imgur.com/hut7bnC.jpg
化簡後得到鉛筆寫的式子(求r) 請問這題只能慢慢代數字用找的嗎? 試過雙邊取log (令 X = r/12) log(1 + 186.5553 X ) = 133 * log( 1 + X ) 或是寫成 log(1+X)[1+186.5553 X] = 133 但還是不知道怎麼下手囧 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.142.90.110 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Math/M.1596705774.A.5E3.html

08/06 22:38, 3年前 , 1F
目前沒有比較好的想法 不過對下面這個多項式
08/06 22:38, 1F

08/06 22:39, 3年前 , 2F
1+5596.66*x/(30*12)-(1+x/12)^133 作牛頓法的話
08/06 22:39, 2F

08/06 22:41, 3年前 , 3F
初始值設在0.05的話(因為這個多項式在0.05為正 在
08/06 22:41, 3F

08/06 22:42, 3年前 , 4F
0.06為負) 作個四五次 就可以達到圖中解答的精度
08/06 22:42, 4F
瞭解~ 感謝幫忙解答m(._.)m

08/06 22:46, 3年前 , 5F
例如在下列網址上計算
08/06 22:46, 5F

08/06 22:46, 3年前 , 6F
(我去試試) ※ 編輯: RUOK5566 (220.142.90.110 臺灣), 08/06/2020 23:21:14

08/06 23:23, 3年前 , 7F
等待其他能人解答
08/06 23:23, 7F

08/06 23:59, 3年前 , 8F
我用工程計算機解方程式的功能 (說明書寫它使用牛頓法) 但算出來跟上面第一個答案一樣x=0

08/07 00:00, 3年前 , 9F
直接算出答案
08/07 00:00, 9F

08/07 00:59, 3年前 , 10F
scipy.optimize.root預設是用MINPACK的HYBRD 不太確
08/07 00:59, 10F

08/07 00:59, 3年前 , 11F
定WolframAlpha是用啥演算法
08/07 00:59, 11F

08/07 01:39, 3年前 , 12F
話說其實我不太懂為什麽最後還要多滾一期?總共11年
08/07 01:39, 12F

08/07 01:39, 3年前 , 13F
需要滾而已吧?
08/07 01:39, 13F
因為他前面 30*FVIFA 是期末年金終值 這個老師教法是 期初年金=期末年金多*一期XD (前者看成後者的每一期PMT都提前一年)

08/07 01:40, 3年前 , 14F
然後我剛剛找了一下我的財管筆記,這裡確實沒有速算
08/07 01:40, 14F

08/07 01:40, 3年前 , 15F
法,只能按計算機,如果你是科學計算機就可以解方程
08/07 01:40, 15F

08/07 01:40, 3年前 , 16F
08/07 01:40, 16F

08/07 01:40, 3年前 , 17F
如果是要算YTM的話才有速算法
08/07 01:40, 17F

08/07 14:16, 3年前 , 18F
本身沒碰過財金相關 如果這是考題之類的話 應該就是
08/07 14:16, 18F

08/07 14:19, 3年前 , 19F
c大所說的 用特殊的計算機或者試卷應該有附表之類的
08/07 14:19, 19F
原本想說財金題目需要的數學大概高中程度 (題目沒有附對數表 用能解方程式的計算機又得到0) 我唯一想得到的解法是代數字囧 但想說應該有更簡單的方法

08/07 14:20, 3年前 , 20F
諮詢過清大王偉成老師的意見過後 也是建議牛頓法 意
08/07 14:20, 20F

08/07 14:21, 3年前 , 21F
即如果真得有漂亮的解法的話 那也是非常聰明而罕見
08/07 14:21, 21F

08/07 14:25, 3年前 , 22F
同時老師也有給另一個基於"固定點定理"的算法
08/07 14:25, 22F
查wiki之後的粗淺理解 固定點原理:滿足某些條件下,存在x使f(x)=x 第一次學到QQ

08/07 14:27, 3年前 , 23F
如果令 y = 1+r/12 則原式可以換成y^n-ay+b=0的形式
08/07 14:27, 23F

08/07 14:29, 3年前 , 24F
選取適當的alpha 我們可將式子換成
08/07 14:29, 24F

08/07 14:30, 3年前 , 25F
y = alpha y + (1-alpha)(y^n + b)/a
08/07 14:30, 25F

08/07 14:32, 3年前 , 26F
令 f(y) = alpha y + (1-alpha)(y^n + b)/a
08/07 14:32, 26F

08/07 14:33, 3年前 , 27F
考慮 y_{k+1} = f(y_k) 做迭代 如果有收歛 就有可能
08/07 14:33, 27F

08/07 14:34, 3年前 , 28F
收歛到我們想的根 這裡alpha的選取是需要經驗和其他
08/07 14:34, 28F

08/07 14:35, 3年前 , 29F
知識來分析的
08/07 14:35, 29F

08/07 14:36, 3年前 , 30F
上面這個方法和牛頓法 都是在有"指數對數表"的情況
08/07 14:36, 30F

08/07 14:37, 3年前 , 31F
下 勉強可以手算的
08/07 14:37, 31F

08/07 14:54, 3年前 , 32F
以下是基於上述方法的程式碼 迭代5次就有圖片解答的
08/07 14:54, 32F

08/07 14:54, 3年前 , 33F
精準度 其中alpha值是試出來的 冏
08/07 14:54, 33F

08/07 14:55, 3年前 , 34F

08/07 15:46, 3年前 , 35F
這題目一定要按計算機
08/07 15:46, 35F
我用計算機只會代數字土法煉鋼> < 解方程式得到的答案(0)好像不夠精確

08/07 18:13, 3年前 , 36F
我覺得這題不用往數學裡面想太多XD 財管這種找利率
08/07 18:13, 36F

08/07 18:13, 3年前 , 37F
、隱含波動率之類的問題,最適合的方法反而是 bisec
08/07 18:13, 37F

08/07 18:13, 3年前 , 38F
tion method 就可以了,有些特別的題目例如找 YTM
08/07 18:13, 38F

08/07 18:13, 3年前 , 39F
才會有 shorthand method
08/07 18:13, 39F
我以為自己數學忘光光才會解不出來XD (可能非本科看不出方程式求根的難易度...)

08/07 20:08, 3年前 , 40F
XDD 因為我還蠻喜歡去思考這些東西背後的機理 其實
08/07 20:08, 40F

08/07 20:09, 3年前 , 41F
看到這篇文的第一時間我也是用scipy去算答案 只是我
08/07 20:09, 41F

08/07 20:11, 3年前 , 42F
假設原PO可能是想問有沒有比較clever或doable的作法
08/07 20:11, 42F
對的 殊不知除了牛頓法以外的解法我整個一知半解 ╮( ̄▽ ̄"")╭

08/07 20:14, 3年前 , 43F
既然c大說財管那邊沒有特別的解法的話 那就是沒有簡
08/07 20:14, 43F

08/07 20:14, 3年前 , 44F
單明瞭的方法
08/07 20:14, 44F

08/07 20:16, 3年前 , 45F
我有特別google到討論這類多項式的文章 但大都需要
08/07 20:16, 45F

08/07 20:17, 3年前 , 46F
一定的數學背景 所以就略去不談
08/07 20:17, 46F

08/07 20:47, 3年前 , 47F
我自己是數學系出身XD 雖然數值分析學了一堆求根的
08/07 20:47, 47F

08/07 20:47, 3年前 , 48F
方法,但學了財管才知道其實有時候二分法最簡單好用
08/07 20:47, 48F

08/07 20:47, 3年前 , 49F
XD 函數常常都是一連串很難微分的分式函數...
08/07 20:47, 49F
好像真的是這樣... 原本如h大所說以為有更簡明的方法 想請教各位 卻反而不小心把它複雜化了XD ※ 編輯: RUOK5566 (220.142.90.110 臺灣), 08/08/2020 22:30:24

08/08 23:26, 3年前 , 50F
科學計算機不會算不出來吧?我以前考財管都是用 fx-
08/08 23:26, 50F

08/08 23:26, 3年前 , 51F
127 欸,還是可能你調到精準度什麼之類的XD
08/08 23:26, 51F

08/08 23:29, 3年前 , 52F
另外是通常財管裡面精準度有到e-04就可以了,實務上
08/08 23:29, 52F

08/08 23:29, 3年前 , 53F
好像也是這樣,我也不確定為什麽,之前數值解財金PD
08/08 23:29, 53F

08/08 23:29, 3年前 , 54F
E最小誤差也差不多這樣
08/08 23:29, 54F

08/09 02:00, 3年前 , 55F
"用能解方程式的計算機又得到0">>>囧 因為0真的是
08/09 02:00, 55F

08/09 02:00, 3年前 , 56F
08/09 02:00, 56F

08/09 02:01, 3年前 , 57F
"用能解方程式的計算機又得到0">>>囧 因為0真的是
08/09 02:01, 57F

08/09 02:01, 3年前 , 58F
08/09 02:01, 58F

08/09 02:12, 3年前 , 59F
我自己不論用scipy.optimize.root,牛頓法 還是固定
08/09 02:12, 59F

08/09 02:12, 3年前 , 60F
點定理 都還是會先用bisection method (或簡單的說
08/09 02:12, 60F

08/09 02:12, 3年前 , 61F
中間值定理) 確定一個夠小的區間 然後設定initial
08/09 02:12, 61F

08/09 02:12, 3年前 , 62F
guess(前面我都設0.04)
08/09 02:12, 62F

08/09 02:18, 3年前 , 63F
這些透過迭到得到近似值的演算法都很依賴於初始值
08/09 02:18, 63F

08/09 02:18, 3年前 , 64F
偏偏現在所有求根的程式 基本上都是這種迭代型的演
08/09 02:18, 64F

08/09 02:18, 3年前 , 65F
算法 (因為比較快 同時有些算法很穩定)
08/09 02:18, 65F

08/09 02:25, 3年前 , 66F
"(說明書寫它使用牛頓法)">>>看看說明書能不能設
08/09 02:25, 66F

08/09 02:25, 3年前 , 67F
定迭代的初始值 應該要是可以 因為牛頓法對於初始
08/09 02:25, 67F

08/09 02:25, 3年前 , 68F
值有一定程度的敏感度
08/09 02:25, 68F

08/09 02:35, 3年前 , 69F
""可能非本科看不出方程式求根的難易度"">>>數學系
08/09 02:35, 69F

08/09 02:35, 3年前 , 70F
也只是多學「分析根的性質的方法」一個對其他系很
08/09 02:35, 70F

08/09 02:35, 3年前 , 71F
難的方程 通常對數學系的人也沒有變簡單
08/09 02:35, 71F

08/09 02:43, 3年前 , 72F
""我唯一想得到的解法是代數字囧"">>>按照c大所說
08/09 02:43, 72F

08/09 02:43, 3年前 , 73F
在財管裡 這是最適合的作法(bisection method) 所
08/09 02:43, 73F

08/09 02:43, 3年前 , 74F
以你一開始方向其實就對了XD
08/09 02:43, 74F

08/09 09:37, 3年前 , 75F
樓上要不要直接回文?
08/09 09:37, 75F

08/09 09:55, 3年前 , 76F
習慣推文 XDDD
08/09 09:55, 76F

08/09 13:40, 3年前 , 77F
133個月,每月$30,拿回五千多,可以估算出一年趴數
08/09 13:40, 77F

08/09 13:40, 3年前 , 78F
大概個位數,所以右邊泰勒展開大概ok。但是對照正確
08/09 13:40, 78F

08/09 13:40, 3年前 , 79F
答案就知道左邊展開不太行…
08/09 13:40, 79F

08/09 14:55, 3年前 , 80F
XDD 其實log那行右邊如果只展到第一項其實也不太行
08/09 14:55, 80F

08/09 14:58, 3年前 , 81F
在大概知道位數的情況下 就粗估要展到至少平方項
08/09 14:58, 81F

08/09 14:58, 3年前 , 82F
133畢竟還是太大了
08/09 14:58, 82F
文章代碼(AID): #1VAylkNZ (Math)