精華區beta MATLAB 關於我們 聯絡資訊
※ 引述《[email protected] (想一個人)》之銘言: > H下用迭代公式可用來解方程式 x^2-a﹦0 > (a) Xk+1=0(Xk+a/Xk)/2 k=0,1,2,3....... > (b) Xk+1=(Xk+a/Xk)/2-(Xk-a/Xk)^2/8Xk) k=0,1,2,...... > 這是解這方程式的2階和3階迭代公式,如何寫一MATLAB程式完成這些方法 > 並比較得到100.112的平方根至小數5位所需的迭代數目 > 使用初始值為1000 > 這題目該如何用MATLAB來寫呀 寫一個 fpi.m,內容如下: function k=fpi(p0,tol,gx) % p0 : initial value % tol : tolerance % gx : f(x)=x-g(x), gx is the iteration function. % k : iteration times k=0; gx=inline(gx); while 1>0 p1=gx(p0); k=k+1; if abs(p1-p0) < tol break; else p0=p1; end end 以(a)為例 (1) k=fpi(1000,1e-5,'(x+100/x)/2') 則 k=11 (2) k=fpi(1000,1e-5,'(x+112/x)/2') 則 k=11 -- ※ Origin: 楓橋驛站<bbs.cs.nthu.edu.tw> ◆ From: 140.134.140.24