CHƯƠNG II : THỰC NGHIỆM
2.4. Chương trình máy tính của các phương pháp hồi quy đa biến
2.4.3. Phương pháp bình phương tối thiểu từng phần (PLS)
* Các bước tính tốn PLS trong phần mềm Matlab:
- Khởi động phần mềm MATLAB
- Nhập các ma trận dữ liệu trong cửa sổ WORKSPACE
+ Nhập ma trận nồng độ X0 (mxk) của m mẫu chuẩn chứa k cấu tử (m hàng, k cột)
+ Nhập ma trận tín hiệu phân tích Y0(mxn) (n là số tín hiệu đo) + Nhập tín hiệu phân tích Y của mẫu cần định phân
- Lưu các dữ liệu vừa nhập vào thành 1 file trong Matlab : PLS.mat [4, 8] - Mở một M-file và viết các câu lệnh tại đó:
%Phuong phap PLS:
%Goi cac bien can dung trong phuong phap
load PLS.mat;
%Tinh vecto trong so: w=(Y0'*X0)*inv(X0'*X0);
%Tinh tri so va trong so:
t=Y0*w;
P=(Y0'*t)*inv(t'*t); Q=(X0'*t)*inv(t'*t);
Chun ngành hóa phân tích 38 Trường ĐHKHTN
b=w*inv(P'*w)*Q;
a=mean(X0)-mean(Y0)*b;
% NẾU MUỐN KIỂM TRA ĐỘ CHÍNH XÁC CỦA PHƯƠNG PHÁP:
% do kich thuoc cua ma tran a và Yktra*b la khac nhau, thuc hien buoc dong % nhat cua 2 ma tran. Neu so cau tu la 2 thi a(1) duoc tao thanh bang
cach
% tao thanh 2 cot trong ma tran. Neu so cau tu la n thi tuong tu ta them n % cot
a1=[ones(m,1)*a(1) ones(m,1)*a(2)]; % m la so mau kiem tra
% Nhap ma tran do hap thu quang cua mau kiem tra:Yktra % Tinh nong do mau kiem tra theo PLS:
Xktra=a1+Yktra*b;
% Tinh sai so giua nong do chuan voi nong do xac dinh duoc tu PLS:
Saiso=(X0ktra-Xktra)*100./X0ktra ;
% TÍNH NỒNG ĐỘ CỦA CHẤT TRONG MẪU BẤT KÌ
a2=[ones(m1,1)*a(1) ones(m1,1)*a(2)]; % m1 la so mau phan tich % Nhap ma tran do hap thu quang cua mau thuc: Y
X=a2+Y*b;
- Lưu lại M-file vừa thực hiện được PLS.m
- Gọi hàm M-file vừa viết được trong cửa sổ COMMAND WINDOW
>> PLS
- Kích chuột vào giá trị Saiso, X trong WORKSPACE thu được các dữ liệu mong muốn