Saturday, 15 October 2011

[MATLAB] Giải phương trình bằng PP Tiếp Tuyến

Không có MATLAB nên tớ code giả như bên dưới để minh họa ý tưởng thôi, còn muốn chạy thì phải lồng các vòng if vào nhau (bởi tớ chưa biết cách "return" giữa chừng trong MATLAB.

%Chuong trinh giai phuong trinh bang phuong phap tiep tuyen
%www.familug.com
function [root1] = PPTiepTuyen(fx, cana, canb, saiso)
if subs(fx,cana) == 0
    root1 = cana
end

if subs(fx,canb) == 0
    root1 = canb
end

if diff(diff(fx)) == 0
    disp('Ham da nhap co dao ham cap 2 = 0')
end
   
if subs(fx,cana) * subs(fx,canb) > 0 %chả biết lớn hay nhỏ hơn :))
    bx = cana
    x = bx - subs(diff(fx),cana)
    while x - bx > saiso
        bx = x
        x = bx - subs(diff(fx),cana)
       
    root1 = x
end
   
ai có MATLAB mà hôm nọ chưa làm bài thì tranh thủ viết đi. Ai có lời giải nào thì đưa lên.
2 tuần nữa là thi nhé
:-h