看板 Grad-ProbAsk 關於我們 聯絡資訊
※ 引述《murray5566 (睡覺睡到自然醒)》之銘言: : 書上看到的列式 : tan^-1(w/10^4)+2tan^-1(w/10^5)=180度______(1) : 他求解w的方法是 : w=10^4 帶入(1)式 : 45+2*5.7=56.4 : w=10^5 帶入(1)式 : 84+2*45=174.2 : 然後說交互求解 w~=1.1*10^5 : 我的問題是 : tan^-1()又不是線性的 : 怎麼交互求解阿...而且卡西歐 有辦法直接解(1)嗎? 可以用線性插值估計 令f(w)=atand(w/10^4)+2*atand(w/10^5) A = 10^4, f(A) = 56.4 B = 10^5, f(B) = 174.2 C = w, f(C) = 180 要求w=多少時,f(w)=180 既然是線性可以用斜率相等列式 f(C)-f(B) f(B)-f(A) 180-174.2 174.2-56.4 --------- = --------- => --------- = ---------- C-B B-A w-10^5 10^5-10^4 這樣可求出 w = 104431 但因為你是把這段函數當成直線近似 所以一定有誤差 實際代回f(w)大約=177 不過計算的區間越小會越接近直線 如果覺得不夠準就再插值一次 A = 10^5, f(A) = 174.2 B = 104431, f(B) = 177 C = w, f(C) = 180 180-177 177-174.2 -------- = ----------- w-104431 104431-10^5 w = 109179, 這時f(x)=179.8 已經夠準了 所以解答寫w~=1.1*10^5 另外這個式子你的計算機如果是991系列的話可以直接解 我以fx-991ES為例 首先確定模式為實數 三角函數我習慣用徑度模式 輸入tan^-1(X/1*10^4)+2tan^-1(X/1*10^5)=π 等號和X會需要用到ALPHA這個鍵 然後按SOLVE(會用到SHIFT) 會顯示Solve for x 此時你要輸入一個初始猜值 輸入1*10^5 然後按= 就會開始求解 可解出X=109544.5115 如果你的計算機沒有這個功能 也可以用Ans這個暫存器來自己寫牛頓法 牛頓法的疊代式為 x_k+1 = x_k - f(x_k)/f'(x_k) 當你給了初始猜值 也就是x_0 就可以把他代入右式計算 得到x_1 重複此步驟就可以一直疊代出新的x 直到收斂 而計算機按=之後的結果都會暫存到Ans裡 所以只要把右式的x_k用Ans代換 計算後的結果又會得到新的Ans 便可一直疊代下去 改寫原式tan^-1(w/10^4)+2tan^-1(w/10^5)-π=0 因為要微分 所以先做個變數變換 不然係數太多計算機不好按 令x=w/10^5 所以原式變成 f(x) = tan^-1(10x)+2tan^-1(x)-π f'(x) = 10/(1+100*x^2) + 2/(1+x^2) 計算機先按1 = 讓他存到Ans當初始猜值 輸入Ans-(tan^-1(10Ans)+2tan^-1(Ans)-π)/(10/(1+100*Ans^2) + 2/(1+Ans^2)) 然後一直按= 到出現的數字沒有變化 可得x=1.095445115 所以w=x*10^5=109544.5115 其實牛頓法會收斂的話收斂速度很快 加上初始猜值猜的很近 按個三次就得到解了 不過如果一開始猜的太遠的話是有可能發散的 還有要注意的是刮號太多小心不要打錯 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.121.146.175
murray5566:謝謝 04/19 13:35