Cum se rezolvă un sistem de ecuații neliniare în MATLAB

Cum Se Rezolva Un Sistem De Ecuatii Neliniare In Matlab



Ecuații neliniare sunt tipuri de ecuații care urmează graficul formând curbe și forme neliniare. Rezolvarea unui astfel de sistem de ecuații este o problemă comună cu care se confruntă inginerii și oamenii de știință. Motivul principal din spatele rezolvării acestor tipuri de ecuații se datorează complexității lor în găsirea soluției exacte. Este posibil să găsiți mai multe soluții sau, în unele cazuri, nu există nicio soluție. MATLAB ne oferă diverse modalități de rezolvare a sistemului de ecuații neliniare. Una dintre ele este utilizarea unui incorporat fsolve() funcţie.

Acest ghid ne va învăța cum să calculăm soluția sistemului de ecuații neliniare în MATLAB folosind fsolve() funcţie.

Cum se rezolvă sistemul de ecuații neliniare în MATLAB?

The fsolve() este o funcție încorporată în MATLAB folosită pentru rezolvarea a sistem de ecuații neliniare cu mai multe variabile. Dacă numărul de ecuații este același cu numărul de necunoscute, soluția unui sistem de ecuații neliniare va fi numeric; în caz contrar, soluția va fi simbolică în ceea ce privește variabila dorită. Fiecare variabilă din sistem de ecuații neliniare poate avea una sau mai multe soluții în funcție de ordinea sa.







Sintaxă

The fsolve() funcția urmează o sintaxă simplă pentru a rezolva a sistem de ecuații neliniare în MATLAB.





x = fsolve ( distracție, x0 )
x = fsolve ( distracție,x0,opțiuni )

Aici:



Functia x = f rezolvă (distracție, x0) rezolvă sistemul de ecuații neliniare pornind de la punct x0 .











Functia x = fsolves(distracție, x0, opțiuni) rezolvă sistemul neliniar de ecuații folosind metode de optimizare specificate în opțiuni.

Notă: Opțiunile folosesc implicit Newton Rapson Metoda de calcul a soluțiilor sistemelor de ecuații neliniare. Puteți specifica alte metode, cum ar fi regiunea de încredere, Levenberg-Marquardt , si altii.



Exemple

Urmați exemplele date pentru a afla cum să rezolvați un sistem de ecuații neliniare folosind fsolve() funcție în MATLAB.

Exemplul 1: Rezolvarea a 2 ecuații neliniare în MATLAB

Exemplul dat creează mai întâi o funcție definită de utilizator MATLAB numită sistem_neliniar conţinând sistemul a două ecuaţii neliniare.

funcţie F = sistem_neliniar ( X )
F ( 1 ) = exp ( sqrt ( ( X ( 1 ) +x ( 2 ) ) ) ) - X ( 2 ) * ( 1 + sqrt ( X ( 1 ) ) ) ;
F ( 2 ) = x ( 1 ) * fără ( X ( 2 ) ) + x ( 2 ) * cos ( X ( 1 ) ) - 0,1 ;

Acum apelăm funcția într-un alt fișier script pentru a rezolva sistemul definit de ecuații neliniare folosind fsolve(distracție, x0) funcţie începând de la punctul x0 = (0, 0).

distracție = @nonlinear_system;
x0 = [ 0 , 0 ] ;
x = fsolve ( distracție, x0 )

Exemplul 2: Rezolvarea ecuațiilor neliniare începând de la punctul [-5,5]

Acum luați în considerare sistemul definit de ecuații în fișierul de funcție definit de utilizator nonlinear_system.m și apelați funcția pentru a rezolva acel sistem de ecuații neliniare pornind de la punctul x0 = [-5, 5] folosind fsolve() funcţie.

distracție = @nonlinear_system;
x0 = [ - 5 , 5 ] ;
x = fsolve ( distracție, x0 )

Pentru mai multe detalii, citiți asta ghid .

Concluzie

Rezolvarea unui sistem de ecuații neliniare este cea mai comună problemă în matematică și inginerie. MATLAB ne oferă un sistem integrat fsolve() funcţie care ne permite să rezolvăm un sistem de ecuaţii neliniare. Acest ghid a acoperit elementele de bază ale rezolvării sistemelor de ecuații neliniare care îi vor ajuta pe începători să înțeleagă funcționarea fsolve() funcție în MATLAB.