Chương trỡnh mỏy tớnh của cỏc phương phỏp hồi quy đa biến

Một phần của tài liệu Xác định đồng thời Ni, Co, Pd trong bản mạch điện tử (Trang 50 - 55)

- Twee n– 80 (Polyoxyetilen (20) sorbitan monolea t, C64H124O2 6,

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.1. Phương phỏp bỡnh phương tối thiểu thụng thường (CLS) [4]

* Cỏc bước tớnh toỏn CLS 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 dung dịch 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 : CLS.mat - Mở một M-file trong cửa sổ EDITOR và viết cỏc cõu lệnh tại đú:

%Phuong phap CLS:

%Goi cac bien su dung trong phuong phap

load CLS.mat;

%Tinh ma tran he so hoi quy K:

K=inv(X0'*X0)*X0'*Y0 ;

%KIỂM TRA ĐỘ CHÍNH XÁC CỦA PHƯƠNG PHÁP:

%Nhap ma tran tin hieu do cua mau kiem tra: Yktra

%Nhap ma tran nong do cua mau ktra: X0ktra

%Tinh nong do mau kiem tra:

Xktra=Yktra*K'*inv(K*K');

%Tinh sai so giua nong do chuan voi nong do xac dinh duoc tu phuong phap CLS:

Saiso=(X0ktra-Xktra)*100./X0ktra;

%TèM NỒNG ĐỘ CỦA CHẤT TRONG MẪU BẤT Kè %Nhap ma tran tin hieu do cua mau: Y

- Lưu lại M-file vừa thực hiện được và đặt tờn file: CLS

- Gọi hàm M-file vừa viết được trong cửa sổ COMMAND WINDOW

>> CLS

- Chương trỡnh sẽ tự động thực hiện cỏc lệnh theo yờu cầu và hiển thị kết quả.

- Kớch chuột vào giỏ trị Saiso, X trong WORKSPACE thu được cỏc dữ liệu

mong muốn.

2.4.2. Phương phỏp bỡnh phương tối thiểu nghịch đảo ( ILS) [4]

* Cỏc bước tớnh toỏn ILS 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 dung dịch 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 : ILS.mat - Mở một M-file và viết cỏc cõu lệnh tại đú:

%Phuong phap ILS:

%Goi cac bien su dung trong phuong phap

load ILS.mat;

%Tinh ma tran he so hoi quy:

P=inv(Y0'*Y0)*Y0'*X0;

%KIỂM TRA ĐỘ CHÍNH XÁC CỦA PHƯƠNG PHÁP: %Tinh nong do chat trong mau kiem tra:

Xktra=Yktra*P;

%Tinh sai so giua nong do chuan voi nong do xac dinh duoc tu ILS:

Saiso= (X0ktra-Xktra)*100./X0ktra

% TÍNH NỒNG ĐỘ CỦA CHẤT TRONG MẪU BẤT Kè %Tinh nong do cua mau:

X=Y*P

- Gọi M-file vừa viết được trong cửa sổ COMMAND WINDOW

>> ILS

- Chương trỡnh sẽ tự động thực hiện cỏc yờu cầu mong muốn và trả lại kết quả

dưới dạng ma trận. Kớch chuột vào giỏ trị Saiso, X trong WORKSPACE để hiển thị cỏc ma trận số liệu đú.

2.4.3. Phương phỏp bỡnh phương tối thiểu từng phần (PLS ) [4]

* Cỏc bước tớnh toỏ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 dung dịch 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 - 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); 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

% 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 dung dich 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 dung dich 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

2.4.4. Phương phỏp hồi qui cẩu tử chớnh ( PCR) [4]

* Cỏc bước tớnh toỏn PCR 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 dung dịch 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 : PCR.mat %Phuong phap PCR:

load PCR.mat;

%Binh phuong tap so lieu chua bien phu thuoc Y0

% Su dung mot trong 3 ham tinh PC de xac dinh cac PC theo cau lenh sau, su % dung ham SVD

[V S] = svd(D);

% Tinh ma tran phan tram phuong sai cua cac PC

d = diag(S)/sum(diag(S))*100;

% Tu gia tri phan tram phuong sai cua cac PC, can cu vao yeu cau cu the cua % bai toan de quyet dinh so PC lam co so cho khong gian moi cua tap so lieu % (n):

f = V(:,1:n);

% Chuyen doi tap so lieu ban dau va tinh ma tran he so hoi qui:

Yj = Y0*f;

F = inv(Yj'*Yj)*Yj'*X0; Fj=f*F

% Nhap ma tran bien phu thuoc cua k mau can dinh phan va tinh nong do mau % theo cong thuc:X=Y*Fj

% NEU MUON KIEM TRA DO CHINH XAC CUA PHUONG PHAP % Nhap ma tran do hap thu quang cua mau kiem tra:Yktra

%Tinh nong do mau kiem tra theo PCR:

Xktra=Yktra*Fj;

%Tinh sai so giua nong do chuan voi nong do xac dinh duoc tu PLS:

Saiso=(X0ktra-Xktra)*100./X0ktra ;

% TINH NONG DO CUA CHAT TRONG MAU BAT KI. %Nhap ma tran do hap thu quang cua mau thuc: Y

X=Y*Fj;

- Lưu lại M-file vừa thực hiện được: PCR.m

- Gọi hàm M-file vừa viết được trong cửa sổ COMMAND WINDOW :

>> PCR

- Kớch chuột vào giỏ trị Saiso, X trong WORKSPACE thu được cỏc dữ liệu

CHƯƠNG III: KẾT QUẢ VÀ THẢO LUẬN

Một phần của tài liệu Xác định đồng thời Ni, Co, Pd trong bản mạch điện tử (Trang 50 - 55)