You are on page 1of 3

Trường Đại học Khoa học Tự nhiên – ĐHQG Tp.

Hồ Chí Minh
Khoa Điện tử - Viễn thông

ĐỒ ÁN MÔN HỌC
THỰC HÀNH PHƯƠNG PHÁP TÍNH & MATLAB
Họ và tên MSSV Lớp

Phạm Hoàng Gia Bảo 21200270 21DTV1

I. NỘI DUNG ĐỒ ÁN (ĐỒ ÁN 2):


- Thiết kế giao diện triển khai 2 phương pháp tính gần đúng đạo hàm (Taylor và
Lagrange).
- Giao diện gồm các Edit Field (Text) để nhập mảng gồm các giá trị 𝑥 , mảng gồm các
giá trị 𝑦 tương ứng, giá trị 𝑥 mà tại đó cần tính đạo hàm. Sử dụng duy nhất 1 Button
để:
 Tính ra giá trị đạo hàm bằng cả 2 phương pháp.
 Hiển thị các giá trị đó bằng Label.
 Hiển thị đa thức nội suy Lagrange bằng 1 Label khác.
II. BÁO CÁO ĐỒ ÁN:
 Code thuật toán:
 Lagrange.m

function result = Lagrange(A,B,a)


tong = 0;
for i = 1:1:length(A)
prod = B(i);
for j = 1:1:length(A)
if i ~= j
prod = prod .* (a - A(j))./(A(i) - A(j));
end
end
tong = tong + prod;
end
result = tong;
end

 daohamTaylor.m

1
function giatri = daohamTaylor(x,y,a)
% Tinh gan dung dao ham theo Taylor
h = x(2)-x(1);
for i = 1:length(x)
if x(i) == a
giatri = (y(i+1)-y(i))/h;
end
end
end

 Code giao diện:

function KetquaButtonPushed(app, event)


syms x;
mangx = str2num(app.NhapmangxEditField.Value);
mangy = str2num(app.NhapmangyEditField.Value);
giatri_x = str2num(app.GiatrixEditField.Value);
dathuc(x) = Lagrange(mangx, mangy, x);
dathucdaoham(x) = diff(dathuc(x));
xd_Lagrange = double(dathucdaoham(giatri_x));
xd_Taylor = daohamTaylor(mangx, mangy, giatri_x);
app.KetquaDathucLabel.Text = char(simplify(dathuc));
app.ResultLagrangeLabel.Text = num2str(xd_Lagrange);
app.ResultTaylorLabel.Text = num2str(xd_Taylor);
end
end

 Ảnh chụp giao diện:

2
3

You might also like