Com resoldre un sistema d'equacions no lineals a MATLAB

Com Resoldre Un Sistema D Equacions No Lineals A Matlab



Equacions no lineals són tipus d'equacions que segueixen el gràfic formant corbes i formes no lineals. La resolució d'aquest sistema d'equacions és un problema comú al qual s'enfronten enginyers i científics. El motiu principal de la resolució d'aquest tipus d'equacions es deu a la seva complexitat per trobar la solució exacta. Podeu trobar diverses solucions o, en alguns casos, no existeix cap solució. MATLAB ens ofereix diverses maneres de resoldre el sistema d'equacions no lineals. Un d'ells és utilitzar un integrat fsolve() funció.

Aquesta guia ens ensenyarà com calcular la solució del sistema d'equacions no lineals a MATLAB mitjançant el fsolve() funció.

Com resoldre el sistema d'equacions no lineals a MATLAB?

El fsolve() és una funció integrada a MATLAB utilitzada per resoldre a sistema d'equacions no lineals amb múltiples variables. Si el nombre d'equacions és el mateix que el nombre d'incògnites, la solució d'un sistema de equacions no lineals serà numèric; en cas contrari, la solució serà simbòlica pel que fa a la variable desitjada. Cada variable en el sistema d'equacions no lineals pot tenir una o diverses solucions en funció del seu ordre.







Sintaxi

El fsolve() La funció segueix una sintaxi senzilla per resoldre a sistema d'equacions no lineals en MATLAB.





x = f resoldre ( diversió, x0 )
x = f resoldre ( diversió,x0,opcions )

Aquí:



La funció x = f resol (divertit, x0) resol el sistema d'equacions no lineals partint del punt x0 .











La funció x = fsolucions (divertit, x0, opcions) resol el sistema no lineal d'equacions mitjançant mètodes d'optimització especificats a les opcions.

Nota: Les opcions per defecte utilitzen el Newton Rapson Mètode per calcular solucions de sistemes d'equacions no lineals. Podeu especificar altres mètodes, com ara la regió de confiança, Levenberg-Marquardt , i altres.



Exemples

Seguiu els exemples donats per aprendre a resoldre un sistema d'equacions no lineals utilitzant el fsolve() funció a MATLAB.

Exemple 1: Resolució de 2 equacions no lineals en MATLAB

L'exemple donat crea primer una funció definida per l'usuari de MATLAB anomenada sistema_no lineal que conté el sistema de dues equacions no lineals.

funció F = sistema_no lineal ( x )
F ( 1 ) = exp ( quadrada ( ( x ( 1 ) +x ( 2 ) ) ) ) -x ( 2 ) * ( 1 + quadrada ( x ( 1 ) ) ) ;
F ( 2 ) = x ( 1 ) * sense ( x ( 2 ) ) + x ( 2 ) * cos ( x ( 1 ) ) - 0.1 ;

Ara cridem la funció en un altre fitxer d'script per resoldre el sistema definit d'equacions no lineals utilitzant el fsolve(divertit, x0) funció a partir del punt x0 = (0, 0).

diversió = @sistema_no lineal;
x0 = [ 0 , 0 ] ;
x = f resoldre ( diversió, x0 )

Exemple 2: Resolució d'equacions no lineals a partir del punt [-5,5]

Considereu ara el sistema d'equacions definit al fitxer de funcions definides per l'usuari nonlinear_system.m i crideu a la funció per resoldre aquest sistema d'equacions no lineals a partir del punt x0 = [-5, 5] utilitzant el fsolve() funció.

diversió = @sistema_no lineal;
x0 = [ - 5 , 5 ] ;
x = f resoldre ( diversió, x0 )

Per a més detalls, llegiu això guia .

Conclusió

La resolució d'un sistema d'equacions no lineals és el problema més comú en matemàtiques i enginyeria. MATLAB ens proporciona un sistema integrat fsolve() funció que ens permet resoldre un sistema d'equacions no lineals. Aquesta guia ha tractat els conceptes bàsics per resoldre sistemes d'equacions no lineals que ajudaran els principiants a entendre el funcionament de fsolve() funció a MATLAB.