Paano Mag-solve ng System of Nonlinear Equation sa MATLAB

Paano Mag Solve Ng System Of Nonlinear Equation Sa Matlab



Mga nonlinear na equation ay mga uri ng equation na sumusunod sa graph na bumubuo ng mga kurba at di-linear na mga hugis. Ang paglutas ng ganitong sistema ng mga equation ay isang karaniwang problemang kinakaharap ng mga inhinyero at siyentipiko. Ang pangunahing dahilan sa likod ng paglutas ng mga ganitong uri ng equation ay dahil sa kanilang pagiging kumplikado sa paghahanap ng eksaktong solusyon. Maaari kang makahanap ng maraming solusyon o sa ilang mga kaso, walang solusyon na umiiral. Ang MATLAB ay nagbibigay sa atin ng iba't ibang paraan ng paglutas sa sistema ng mga nonlinear equation. Ang isa sa kanila ay gumagamit ng built-in fsolve() function.

Ang gabay na ito ay magtuturo sa atin kung paano kalkulahin ang solusyon ng nonlinear equation system sa MATLAB gamit ang fsolve() function.

Paano Lutasin ang Nonlinear Equation System sa MATLAB?

Ang fsolve() ay isang built-in na function sa MATLAB na ginagamit para sa paglutas ng a sistema ng mga nonlinear na equation na may maraming variable. Kung ang bilang ng mga equation ay pareho sa bilang ng mga hindi alam, ang solusyon ng isang sistema ng nonlinear equation magiging numerical; kung hindi, ang solusyon ay magiging simboliko sa mga tuntunin ng nais na variable. Ang bawat variable sa sistema ng mga nonlinear na equation maaaring magkaroon ng isa o maraming solusyon batay sa pagkakasunud-sunod nito.







Syntax

Ang fsolve() Ang function ay sumusunod sa isang simpleng syntax upang malutas ang a sistema ng mga nonlinear na equation sa MATLAB.





x = matunaw ( masaya,x0 )
x = matunaw ( masaya,x0,mga opsyon )

dito:



Ang function x = fsolves(masaya, x0) nilulutas ang sistema ng mga nonlinear na equation simula sa punto x0 .











Ang function x = fsolves(masaya, x0, mga pagpipilian) nilulutas ang nonlinear system ng mga equation gamit ang mga paraan ng pag-optimize na tinukoy sa mga opsyon.

Tandaan: Ang mga opsyon bilang default ay gumagamit ng Newton Rapson paraan upang makalkula ang mga solusyon ng mga sistema ng nonlinear equation. Maaari mong tukuyin ang iba pang mga pamamaraan, tulad ng rehiyon ng tiwala, Levenberg-Marquardt , at iba pa.



Mga halimbawa

Sundin ang mga ibinigay na halimbawa upang matutunan kung paano lutasin ang isang sistema ng mga nonlinear equation gamit ang fsolve() function sa MATLAB.

Halimbawa 1: Paglutas ng 2 Nonlinear Equation sa MATLAB

Ang ibinigay na halimbawa ay unang lumilikha ng isang function na tinukoy ng gumagamit ng MATLAB na pinangalanan nonlinear_system naglalaman ng sistema ng dalawang nonlinear equation.

function F = nonlinear_system ( x )
F ( 1 ) = exp ( sqrt ( ( x ( 1 ) +x ( 2 ) ) ) ) - x ( 2 ) * ( 1 + sqrt ( x ( 1 ) ) ) ;
F ( 2 ) = x ( 1 ) * walang ( x ( 2 ) ) + x ( 2 ) * cos ( x ( 1 ) ) - 0.1 ;

Ngayon tinawag namin ang function sa isa pang script file upang malutas ang tinukoy na sistema ng mga nonlinear equation gamit ang fsolve(masaya, x0) function na nagsisimula sa puntong x0 = (0, 0).

masaya = @nonlinear_system;
x0 = [ 0 , 0 ] ;
x = matunaw ( masaya,x0 )

Halimbawa 2: Paglutas ng mga Nonlinear Equation Simula sa Punto [-5,5]

Ngayon isaalang-alang ang tinukoy na sistema ng mga equation sa file ng function na tinukoy ng gumagamit na nonlinear_system.m at tawagan ang function upang malutas ang sistemang iyon ng mga nonlinear na equation simula sa punto x0 = [-5, 5] gamit ang fsolve() function.

masaya = @nonlinear_system;
x0 = [ - 5 , 5 ] ;
x = matunaw ( masaya,x0 )

Para sa karagdagang detalye, basahin ito gabay .

Konklusyon

Ang paglutas ng isang sistema ng mga nonlinear na equation ay ang pinakakaraniwang problema sa matematika at engineering. Ang MATLAB ay nagbibigay sa amin ng built-in fsolve() function na nagbibigay-daan sa amin upang malutas ang isang sistema ng mga nonlinear equation. Saklaw ng gabay na ito ang mga pangunahing kaalaman sa paglutas ng mga sistema ng mga nonlinear equation na makakatulong sa mga nagsisimula na maunawaan ang paggawa ng fsolve() function sa MATLAB.