看板 MATLAB 關於我們 聯絡資訊
你應該是要寫下面的演算法,我用Newton's做的 你自行再改成你要的... %% fixed_point.m function [x,ea] = fixed_point(g, x0, es, N) x = zeros(N, 1); ea = zeros(N, 1); i = 1; x(i) = x0; i = i + 1; x(i) = g(x(i-1)); ea(i) = abs((x(i)-x(i-1))/x(i))*100; while ea(i) > es i = i + 1; gprime = (g(x(i-1)+1e-6) - g(x(i-1)))/1e-6; x(i) = x(i-1)- g(x(i-1))/gprime; ea(i) = abs((x(i)-x(i-1))/x(i)); if i >= N break; end end x = x(1:i); ea = ea(1:i); end %% Run.m g= @(x) cos(x)-x^3; x0=5; es=1e-10; N=100; [x,ea] = fixed_point(g, x0, es, N); -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.116.152.221 ※ 文章網址: http://www.ptt.cc/bbs/MATLAB/M.1397460856.A.C34.html
XINGUAN:謝謝大大,雖然我還是沒搞懂我錯在哪QQ 04/15 01:10