Hvordan løse et system med ikke-lineære ligninger i MATLAB

Hvordan Lose Et System Med Ikke Lineaere Ligninger I Matlab



Ikke-lineære ligninger er typer ligninger som følger grafen som danner kurver og ikke-lineære former. Å løse et slikt ligningssystem er et vanlig problem for ingeniører og forskere. Hovedårsaken bak løsningen av denne typen ligninger er på grunn av deres kompleksitet når det gjelder å finne den eksakte løsningen. Du kan finne flere løsninger, eller i noen tilfeller finnes det ingen løsning. MATLAB gir oss ulike måter å løse systemet med ikke-lineære ligninger. En av dem bruker en innebygd fsolve() funksjon.

Denne veiledningen vil lære oss hvordan vi beregner løsningen av det ikke-lineære ligningssystemet i MATLAB ved å bruke fsolve() funksjon.

Hvordan løse det ikke-lineære ligningssystemet i MATLAB?

De fsolve() er en innebygd funksjon i MATLAB som brukes til å løse en system av ikke-lineære ligninger med flere variabler. Hvis antall ligninger er det samme som antall ukjente, vil løsningen av et system av ikke-lineære ligninger vil være numerisk; ellers vil løsningen være symbolsk når det gjelder ønsket variabel. Hver variabel i system av ikke-lineære ligninger kan ha en eller flere løsninger basert på rekkefølgen.







Syntaks

De fsolve() funksjonen følger en enkel syntaks for å løse en system av ikke-lineære ligninger i MATLAB.





x = fsolve ( moro, x0 )
x = fsolve ( moro,x0,alternativer )

Her:



Funksjonen x = fsolves(moro, x0) løser systemet med ikke-lineære ligninger som starter fra punkt x0 .











Funksjonen x = fsolves(moro, x0, alternativer) løser det ikke-lineære likningssystemet ved å bruke optimaliseringsmetoder spesifisert i alternativene.

Merk: Alternativene som standard bruker Newton Rapson metode for å beregne løsninger av systemer med ikke-lineære ligninger. Du kan spesifisere andre metoder, for eksempel tillitsregion, Levenberg-Marquardt , og andre.



Eksempler

Følg de gitte eksemplene for å lære hvordan du løser et system med ikke-lineære ligninger ved å bruke fsolve() funksjon i MATLAB.

Eksempel 1: Løse 2 ikke-lineære ligninger i MATLAB

Det gitte eksemplet oppretter først en MATLAB brukerdefinert funksjon kalt ikke-lineært_system som inneholder systemet med to ikke-lineære ligninger.

funksjon F = ikke-lineært_system ( x )
F ( 1 ) = exp ( sqrt ( ( x ( 1 ) +x ( 2 ) ) ) ) - x ( 2 ) * ( 1 + sqrt ( x ( 1 ) ) ) ;
F ( 2 ) = x ( 1 ) * uten ( x ( 2 ) ) + x ( 2 ) * cos ( x ( 1 ) ) - 0,1 ;

Nå kaller vi funksjonen i en annen skriptfil for å løse det definerte systemet med ikke-lineære ligninger ved å bruke fsolve(moro, x0) funksjon som starter fra punktet x0 = (0, 0).

moro = @ulineært_system;
x0 = [ 0 , 0 ] ;
x = fsolve ( moro, x0 )

Eksempel 2: Løse ikke-lineære ligninger med utgangspunkt i punkt [-5,5]

Vurder nå det definerte likningssystemet i den brukerdefinerte funksjonsfilen nonlinear_system.m og kall funksjonen for å løse det systemet med ikke-lineære likninger fra punktet x0 = [-5, 5] bruker fsolve() funksjon.

moro = @ulineært_system;
x0 = [ - 5 , 5 ] ;
x = fsolve ( moro, x0 )

For flere detaljer, les dette guide .

Konklusjon

Å løse et system med ikke-lineære ligninger er det vanligste problemet innen matematikk og ingeniørfag. MATLAB gir oss en innebygd fsolve() funksjon som lar oss løse et system med ikke-lineære ligninger. Denne veiledningen har dekket det grunnleggende om å løse systemer med ikke-lineære ligninger som vil hjelpe nybegynnere å forstå hvordan fsolve() funksjon i MATLAB.