Re: [問題]使用matlab利用牛頓法求解方程式的根已回收

看板MATLAB作者 (alen)時間16年前 (2009/04/29 20:03), 編輯推噓1(101)
留言2則, 1人參與, 最新討論串2/3 (看更多)
※ 引述《winddoor1227 (小白衣)》之銘言: : A(t) = {A(t0)*e ^ (PR/d +λ)( t-t0 )] + [∫e ^ (-R / 4)*I( t' )*e ^ (PR/d + λ : )( t-t' ) dt'} : I(t')是隨著年份而變的常數 : t'=1966-1970 : 此積分式的意思為: : ∫ e ^ (-R / 4)*I( t' )*e ^ (PR/d + λ)( t-t' ) dt' : = : (e^(-R/4) )*I(1966)*e^(-(PR/d+λ)(t-1966) ) : +(e^(-R/4) )*I(1967)*e^(-(PR/d+λ)(t-1967) ) : +....+(e^(-R/4) )*I(1970)*e^(-(PR/d+λ)(t-1970) ) : 假設 : A(t)= 2300 : A(t0)=4923.8 : t=1970 : t0=1966 : P=1、d=200 : λ=0.023 : I(t')=134、63.5、84.7、49.4、49.4 : 要利用牛頓法求解此題中的 R , : 請問我該怎麼做呢?? 從你給的參數來說,這題解不出來耶..... 以下是我按照你給的條件寫出來的程式碼 clc clear format compact syms R f1= 4923.8 * exp( ( R/200 +0.023) * (1970-1966) )+... (exp(-R/4)) * 134 * (exp ( (-R/200-0.023)*(1970-1966) ))+ ... (exp(-R/4)) * 63.5 * (exp ( (-R/200-0.023)*(1970-1967) ))+ ... (exp(-R/4)) * 84.7 * (exp ( (-R/200-0.023)*(1970-1968) ))+ ... (exp(-R/4)) * 49.4 * (exp ( (-R/200-0.023)*(1970-1969) ))+ ... (exp(-R/4)) * 49.4 * (exp ( (-R/200-0.023)*(1970-1970) ))-2300; i =-10:0.001:10 result = subs(f1,R,i); plot(i,result) 你可以看最後的結果,不管給什麼R值函數(result)永遠只有正值而已 還是我有看錯什麼...@@? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.20.166

04/29 21:19, , 1F
藉題問一下 牛頓法遇到虛數可以跳過再找接近的實數嗎?
04/29 21:19, 1F

04/29 21:20, , 2F
目前網路上找到的牛頓法 碰到虛數他會做但結果不是我要
04/29 21:20, 2F
文章代碼(AID): #19-48iX5 (MATLAB)
文章代碼(AID): #19-48iX5 (MATLAB)