Danh mục

Phát triển chương trình con làm khớp dữ liệu với nhiều mô hình

Số trang: 9      Loại file: pdf      Dung lượng: 449.68 KB      Lượt xem: 11      Lượt tải: 0    
10.10.2023

Phí tải xuống: 4,000 VND Tải xuống file đầy đủ (9 trang) 0
Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Bài báo này đưa ra bộ chương trình con, cho phép người dùng làm khớp số liệu thực nghiệm với dạng hàm tùy ý, được viết bằng ngôn ngữ C++, có cấu trúc đơn giản, gói gọn trong một tập tin chỉ dài 438 dòng, thuận tiện để nhúng vào các chương trình tự phát triển. Kết quả thu được bằng chương trình được so sánh với ROOT.
Nội dung trích xuất từ tài liệu:
Phát triển chương trình con làm khớp dữ liệu với nhiều mô hìnhTẠP CHÍ KHOA HỌC - ĐẠI HỌC ĐỒNG NAI, SỐ 03 - 2016ISSN 2354-1482PHÁT TRIỂN CHƯƠNG TRÌNH CON LÀM KHỚP DỮ LIỆUVỚI NHIỀU MÔ HÌNHThS. Nguyễn Ngọc Anh1ThS. Trương Văn Minh2TÓM TẮTHiện nay, có rất nhiều phần mềm máy tính cho phép người dùng làm khớp dữliệu thực nghiệm với dạng hàm tùy ý nhập bởi người dùng. Tuy nhiên, các chươngtrình này có dạng đóng (đối với các chương trình thương mại) hoặc có hệ thống thưviện liên kết rất phức tạp (đối với các chương trình mã nguồn mở). Do đó, việc tậndụng thư viện của các chương trình này để nhúng vào các chương trình phần mềmnhỏ tự thiết kế là không thích hợp. Bài báo này đưa ra bộ chương trình con, chophép người dùng làm khớp số liệu thực nghiệm với dạng hàm tùy ý, được viết bằngngôn ngữ C++, có cấu trúc đơn giản, gói gọn trong một tập tin chỉ dài 438 dòng,thuận tiện để nhúng vào các chương trình tự phát triển. Kết quả thu được bằngchương trình được so sánh với ROOT.Từ khóa:Chương trình làm khớp nền C++, thuật toán làm khớp Levenberg–Marquardt1. Giới thiệutrình quá nặng; hệ điều hành không hỗLàm khớp dữ liệu theo một môtrợ; … Khi đó các phần mềm tự viết sẽhình (dạng hàm) là một thủ tục được tiếnlà một giải pháp thích hợp.hành rất phổ biến trong phân tích số liệuBộ chương trình con được cung(phân tích phổ, xây dựng mô hình, xáccấp trong bài báo này cho phép ngườiđịnh các tham số để nội suy, ngoại suy).dùng nhúng vào trong các phần mềm tựCác thủ tục này có thể được thực hiện bởiviết, để thực thi tác vụ làm khớp số liệucác chương trình có giao diện trực quantheo mô hình bất kỳ do người dùng khainhư Origin [1], SciDavis [2] hoặc cácbáo, sử dụng thuật toán LEVENBERGchương trình dưới dạng lệnh thực thi nhưMARQUARDT [7]. Chương trình choROOT [3], R [4], Matlab [5], Gnuplotphép người dùng lựa chọn làm khớp có[6]. Tuy nhiên, một số là các chươngtrọng số hoặc không có trọng số. Bộtrình thương mại (Origin, Matlab), do đóchương trình con này có kích thước rấtngười sử dụng sẽ phải bỏ ra một chi phínhỏ, chỉ ~12 kb, gói gọn trong một tậpkhông nhỏ để trang bị phần mềm. Tiếptin *.h, thuận tiện để người dùng khainữa, các chương trình này thường có bộbáo trong chương trình chính. Ngônthư viện đi kèm rất lớn, và liên kết vớingữ được sử dụng là C++.Biên dịchnhau rất phức tạp. Do, đó việc nhúng cácbằng GNU g++ [8].thư viện này vào các chương trình nhỏ tựBộ chương trình con được hiệuviết là rất phức tạp, và làm tăng kíchlực hóa bằng cách so sánh kết quả vớithước của chương trình.chương trình mã nguồn mở đã đượcTrong thực tế, tùy thuộc vào tìnhchứng nhận và sử dụng rộng rãi trên cáchuống cụ thể, việc sử dụng các phầnphòng thí nghiệm trên thế giới,mềm lớn kể trên để làm khớp khôngROOT.Trong báo cáo này, bộ số liệuphải lúc nào cũng thuận lợi: chươngđã được sử dụng để so sánh.1Viện Nghiên cứu Hạt nhân Đà LạtTrường Đại học Đồng Nai2122TẠP CHÍ KHOA HỌC - ĐẠI HỌC ĐỒNG NAI, SỐ 03 - 20162. Thuật toán vtrThuật toánMARQUARDTs(6)LEVENBERG-là vectơ biến thiên của vectơXét bộ số liệu với n điểm thựcnghiệm (Xi,Yi), mô hình cần làm khớplà F(X,α), với α là vectơ tham số{α1,α2,α3,….,αm). Theo đó:Yi=F(Xi,α1,α2,α3,….,αm)tham số .Giải phương trình (3) cho phépxác định, từ đó xác định đượcmới. Thủ tục này lặp đi lặp lại nhiều lần(1)Để xác định các tham số tự do,ta sử dụng phương pháp bình phươngtối thiểu [9]. Phương pháp này đòi hỏiphải xác định αsao choTrong đóISSN 2354-1482cho tới khihội tụ. Phương phápLEVENBERG-MARQUARDT,bổsung thêm vào thuật toán 2 tham số vàlà cực tiểu:(2), nhằm cải thiện khả năng hội tụ củaquá trình khớp.là trọng số tương ứngThuật toán có thể được mô tảngắn gọn, từng bước một như sau, lưuđồ thuật toán được đưa ra trong Hình 1:với điểm số liệu thứ i.cực tiểu khi:1. Đặt2. Xác định,, n=0.từ phương trình:(3)(7)Đối với các hàm tuyến tính, hệm phương trình nói trên có thể đượcgiải ra nghiệm xác định bằng phươngpháp Gauss-Jordan.Tuy nhiên, với cácbài toán phi tuyến, hệ phương trình trênkhông thể giải được. Khai triển F(X,α)theo chuỗi Taylor, ta thu được biểu thứcdưới dạng ma trận:Vớiđơn vị.3. n=n+1là ma trận4.5. Tính6. Nếu n ...

Tài liệu được xem nhiều: