Newton method(正確版)

看板MATLAB作者 (臭小開吃屎)時間18年前 (2006/03/21 21:09), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
x=input('請輸入一整數值:'); % 輸入一整數 if x>0 % x>0才能繼續往下做 delta = 0.001; % set convergence tolerance=0.001 r=1;rold=2; % 設r和rold的初始值 it=0; %設定計數 maxit=30; %設定最大計數次數 while abs(rold-r)> delta & it<maxit rold = r; %save old value for convergence test r =0.5*(rold + x/rold); %牛頓近示式 it = it + 1; if abs(rold-r)< delta %當abs(rold-r)< delta 則跳出程式,不再計算 break; end end else fprintf('你輸入的數非正整數!'); return; %當輸入負數,則return to calling function end fprintf('\n %d^(1/2)=%g,共計數=%d次',x,r,it); -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.123.224.93
文章代碼(AID): #147_h_tT (MATLAB)
文章代碼(AID): #147_h_tT (MATLAB)