Nonlinear Least Squares

ให้ $(t_1,y_1),\ldots,(t_m,y_m)$ เป็นข้อมูล และให้ $y=f(\mathbf{p},t)$ เป็น model function ของตัวแปรอิสระ $t$ และพารามิเตอร์ $\mathbf{p}=(p_1,\ldots,p_n)$ โดยที่ $n\leqslant m$ แอปพลิเคชันนี้คำนวณหา $\mathbf{p}$ ที่จะทำให้ model function เหมาะสมกับข้อมูลที่ให้มามากที่สุดในทาง least squares นั่นคือค่าของ $\sum_{i=1}^m r_i^2$ จะต้องน้อยที่สุด โดยที่ $r_i=y_i-f(\mathbf{p},t_i)$ สำหรับ $i=1,\ldots,m$

ตัวอย่างเช่น สมมติเรามีฟังก์ชันที่แสดงความสัมพันธ์ระหว่าง $t$ และ $y$ เป็น $y=\exp(-p_1t)/(p_2+p_3t)$ และจากการทดลองหรือการวัดเราได้ข้องมูลของ $y$ และ $t$ ดังนี้

        y          t
     92.9000     0.5000
     78.7000     0.6250
     64.2000     0.7500
     64.9000     0.8750
     57.1000     1.0000
    
ซึ่งเราจะใช้ข้อมูลนี้และฟังก์ชันที่กล่าวมาในการคำนวณหาค่าของ $p_1,p_2,p_3$

ข้อมูลอินพุท

  1. ในส่วนของ model function $f(p_1,\ldots,p_n,t)$ ให้ใช้ตัวแปร x แทนทั้ง p และ t ดังนี้
        ใช้ x1 แทน p1 
        ใช้ x2 แทน p2 
           ...
        ใช้ xn แทน pn
        ใช้ x(n+1) แทน t
        
    นั่นคือ x ตัวสุดท้ายจะแทน t เช่นจากตัวอย่างข้างบน $\exp(-p_1t)/(p_2+p_3t)$ เราจะใส่อินพุทในช่อง model function เป็น
        exp(-x1*x4)/(x2+x3*x4)
        
  2. ใส่ข้อมูลของตัวแปรตาม y และตัวแปรอิสระ t โดยต้องใส่ข้อมูลของ y ในหลักแรกและข้อมูลของ t ในหลักที่สอง
  3. ช่องสุดท้ายของข้อมูลอินพุทจะเป็นค่าเริ่มต้นของ $p_1,\ldots,p_n$ ที่จะใช้ในการคำนวณ ถ้าช่องนี้ไม่มีข้อมูลให้มาแอปพลิเคชันจะสุ่มตัวเลขที่อยู่ระหว่าง 0 กับ 1 เป็นค่าเริ่มต้น

ข้อมูลที่ใช้เป็นตัวอย่างในแอปพลิเคชันนี้ได้จาก Ultrasonic Reference Block Study

คำนวณคำตอบของ Nonlinear Least Squares