7.3 Nonlinear Levenberg-Marquardt Fit VI

Până acum, ați văzut VI-uri care sunt utilizate atunci când există o relație liniară între y și coeficienții ao, a1, a2, .... Dar, atunci când există o relație neliniară, puteți utiliza VI-ul Nonlinear Lev-Mar Fit pentru a determina coeficienții. Acest VI utilizează metoda Levenberg-Marquardt, care este foarte robustă, pentru a găsi coeficienții A = {ao, a1, a2, ..., ak} din relația neliniară dintre A și y[i]. VI-ul presupune că aveți cunoștințe anterioare despre relația neliniară dintre coordonatele x și y.

Ca o etapă preliminară, trebuie să specificați funcția neliniară în Formula Node de pe schema bloc a unuia dintre subVI-urile Nonlinear Lev-Mar Fit VI. Acest subVI particular este Target Fnc and Deriv NonLin VI. Puteți accesa Target Fnc and Deriv NonLin VI selectându-l din meniul care apare atunci când selectați Project » This VI’s SubVIs.

Notă: Atunci când utilizați Non-linear Lev-Mar Fit VI, trebuie să specificați și funcția neliniară din Formula Node din diagrama bloc a Target Fnc and Deriv NonLin VI.

Conexiunile la Nonlinear Lev-Mar Fit VI sunt prezentate mai jos:

X și Y sunt punctele datelor de intrare x[i] și y[i].

Initial Guess Coefficients reprezintă estimarea inițială a valorilor coeficientului. Coeficienții sunt cei utilizați în formula pe care ați introdus-o în Formula Node al Target Fnc and Deriv NonLin VI. Utilizarea cu succes a Nonlinear Lev-Mar Fit VI depinde uneori de cât de aproape sunt coeficienții de estimare inițială pentru soluția reală. Prin urmare, merită întotdeauna să consumăm timp și efort pentru a obține o bună estimare inițială a soluției din orice resursă disponibilă.

Pentru moment, puteți lăsa celelalte intrări la valorile lor implicite. Pentru mai multe informații despre aceste intrări, consultați Manualul de referință pentru VI-urile Analiza din LabVIEW (sau BridgeVIEW).

Best Fit Coefficients: valorile coeficienților (ao, a1, ...) care se potrivesc cel mai bine modelului datelor experimentale.

Exercițiul 7-6

OBIECTIV: Crearea unui semnal exponențial general a*exp(b*x) + c + zgomot.

Atunci, utilizați Non-Linear Lev-Mar Fit VI pentru a aproxima datele și a obține cei mai buni coeficienți de estimare a, b și c ai semnalului exponențial general.

În acest exercițiu, veți vedea cum se utilizează Non-Linear Lev-Mar Fit VI pentru a determina coeficienții a, b și c ai unei funcții neliniare date de a*exp (b*x) + c.

1. Deschideți Nonlinear Lev-Mar Exponential Fit VI din biblioteca Lvspcex.llb. Panoul frontal este prezentat mai jos.

Panoul frontal

Controalele a, b și c determină valorile actuale ale coeficienților a, b și c. Controlul Initial Coefficients este estimarea dvs. educată în ceea ce privește valorile reale ale lui a, b și c. În sfârșit, indicatorul Best Guess Coef vă oferă valorile lui a, b și c calculate de Nonlinear Lev-Mar Fit VI. Pentru a simula un exemplu mai practic, adăugați și zgomot la această ecuație, făcând-o astfel de forma:

a*exp (b*x) + c + zgomot

Controlul noise level reglează nivelul zgomotului. Rețineți că valorile reale ale lui a, b și c alese sunt +1.0, -0.1 și 2.0. În controlul Initial Coefficients, estimarea prestabilită pentru acestea este a = 2,0, b = 0 și c = 4,0.

2. Examinați diagrama bloc.

Eșantioanele de date ale funcției exponențiale sunt simulate utilizând Exponential VI (Numeric » Logarithmic subpalette) și zgomotul alb uniform se adaugă la eșantioane cu ajutorul VI-ului Uniform White Noise (Analysis » Signal Generation subpalette).

3. Din meniul Project, selectați Unopened SubVIs » Target Fnc and Deriv NonLin. Panoul frontal al Target Fnc and Deriv NonLin VI se deschide, după cum se arată mai jos.

4. Comutați la diagrama bloc.

Observați formula node din partea de jos. Are forma funcției ai cărei parametri (ao, a1 și a2) încercați să-i evaluați.

5. Închideți panoul frontal și schema bloc ale Target Fnc and Deriv NonLin VI.

6. Rulați NonLinear Lev-Mar Exponential Fit VI. Rețineți că valorile coeficienților returnați în Best Guess Coef sunt foarte apropiate de valorile reale introduse în controlul Initial Coefficients. De asemenea, notați valoarea mse.

7. Creșteți nivelul de zgomot de la 0,1 la 0,5. Ce se întâmplă cu mse și valorile coeficienților din Best Guess Coef? De ce?

8. Schimbați nivelul zgomotului înapoi la 0,1 și Initial Coefficients la 5,0, -2,0 și 10,0 și executați VI-ul. Rețineți valorile din indicatoarele Best Guess Coef și mse.

9. Cu nivelul de zgomot încă la 0.1, schimbați-vă estimarea din Initial Coefficients la 5.0, 8.0 și 10.0 și executați VI-ul. De această dată, presupunerea dvs. este mai departe decât cea pe care ați ales-o la pasul 4. Observați eroarea!

Acest lucru arată cât de important este să aveți o estimare suficient de educată pentru coeficienți.

10. Când ați terminat, închideți VI-ul. Nu salvați nicio modificare.

Sfârșitul exercițiului 7-6