Re: [問題]使用matlab利用牛頓法求解方程式的根已回收
※ 引述《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
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 3 篇):
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章