Introducere în funcția Piecewise în Matlab

O funcție bucată este o funcție, care este definită prin diferite funcții multiple. În acest lucru, alte funcții multiple sunt utilizate pentru a aplica pe intervale specifice ale funcției principale. Funcția fragmentară este de asemenea folosită pentru a descrie proprietatea oricărei ecuații sau funcții. Reprezintă diferite condiții în funcții sau ecuații. În acest subiect, vom învăța despre Funcția Piecewise în Matlab.

Poate fi implementat în două moduri, unul este folosind bucle (instrucțiunea if-else și instrucțiunea switch), iar celălalt este fără a folosi bucle. În metoda buclelor, modul de victorii este utilizat. După cum vedem, există două moduri, cu bucle și fără a folosi bucle.

În prima metodă, din nou, există două moduri

1. Folosind metoda if-else

2. Utilizând instrucțiunea switch

În a doua metodă funcția reprezintă în mod vectorializat

3. Metoda vectorizată

Prin utilizarea declarațiilor If-Else

Aceasta este una dintre terminologiile de bază pentru implementarea funcțiilor bucată, dar aceasta nu este o practică bună pentru a implementa funcția bucată.

Sintaxa:

If condition1
Statement 1 ;
else
statement 2;
end
plot ( input variable, output variable )
function output variable = piecewise ( input variable )

Exemplul # 1

Acum să luăm în considerare un exemplu

f ( x ) = - 2 for x < 0
2 for x > 0

Pentru a implementa funcția de mai sus în Matlab mai întâi, trebuie să creăm o singură funcție cu cuvântul cheie „piecewise”

> > function fx = piecewise ( x )

În enunțul de mai sus, „fx” este numele variabilei de ieșire, „bucată” este cuvântul cheie folosit pentru funcția de mai sus și „x” este variabila de intrare.

După declararea funcției, acum trebuie să definim condițiile intervalelor variabilei de intrare „x”.

>> If x < = 0
>> fx = -2
>> else
>> fx = 2

În instrucțiunile de mai sus se folosește instrucțiunea if-else pentru a defini intervalul .it arată că dacă valoarea lui x este mai mică sau egală cu „0”, atunci out va fi „- 2” și dacă valoarea lui „x” este mai mare decât „0” atunci ieșirea va fi „2”.

Programul Matlab:

If x < = 0
fx = -2 ;
else
fx = 2 ;
end
plot ( x, f x )
function fx = piecewise ( x )

ieșire:

Declarație de caz comutare

A doua metodă în bucle este determinată de instrucțiuni de tip switch-case. În această metodă reprezentăm condiții diferite în diferite metode, putem specifica mai multe cazuri într-o buclă de comutare.

Exemplul # 2

Să presupunem exemplul de mai sus,

f x = - 2 for x <= 0
2 for x > 0

În acest exemplu, există două condiții în funcția fx, una este mai mică decât egală cu „0” și cealaltă este mai mare decât „0”.

Pentru a implementa exemplul de mai sus, folosind mai întâi instrucțiunea switch - case, trebuie să declaram instrucțiunea funcției (funcție bucată)

>> function fx = piecewise (x )

Instrucțiunile de mai sus arată că fx este funcția pe bucăți privind variabila de intrare „x”, după declararea funcției, vom începe cu instrucțiunea switch.

>> switch (x)

Declarația de mai sus este cuvântul cheie pentru cazul comutatorului pentru modificarea valorilor variabilei „x”. Acum, în interiorul comutatorului, vor exista cazuri diferite, cerința noastră este doar cazuri, astfel încât vom scrie 2 cazuri.

Case 1: x < = 0
F x = - 2 ;
Case 2 : x > 0
F x = 2 ;

Instrucțiunile de mai sus reprezintă intervale de valori x și valorile funcționale așteptate respective.

Programul Matlab

function F x = piecewise (x )
switch ( x )
Case 1 : x < = 0
F x=-2 ;
Case 2 : x > 0
F x = 2 ;
end
Plot ( F x, x )

Rezultat:

Metodă vectorizată

Această metodă este a doua abordare a funcțiilor bucăți fără a folosi bucle. În această metodă, intrarea este întregul vector al secvențelor (condiții), precum și putem combina două condiții folosind operatorul '&'. Aceasta este cea mai populară metodă în funcțiile pe piesă.

Să presupunem același exemplu;

fx=-2 … x<=0
2 … x > 0

Acum vom ilustra exemplul de mai sus folosind abordarea vectorizării. În primul rând, trebuie să declaram funcția pe piesă ca exemplele de mai sus.

function fx = piecewise (x)

După declararea funcției pe perete, vom defini intervalele variabilei de intrare „x”. În exemplul de mai sus, așa cum știm, există două condiții, prin urmare, trebuie să definim două intervale.

fx (x<=0)=-2 ;
and
fx (x>0)=2;

Acum, după cum sunt cunoscute intervalele, trebuie să declaram intervalul total al variabilei de intrare „x”.

x = - 5: 1: 5

acest lucru arată că x va lua valorile de la - 5 la + 5.

Programul Matlab

function fx = piecewise ( x )
fx(x<= 0) = - 2 ;
fx(x>0) = 2 ;
x = - 5 : 1 : 5
fx = piecewise ( x )
plot (fx, x )

ieşire:

Concluzie - Funcție fragmentară în Matlab

Funcțiile fragmentare sunt utilizate în principal pentru a reprezenta funcții care au diverse intervale de intrare cu condiții diferite. După cum vedem mai sus, există trei abordări pentru a reprezenta funcțiile pe piesă. Dar, abordarea if-else (buclă) nu este utilizată pentru implementările în timp real. Și abordarea vectorizată folosită în multe aplicații.

Articole recomandate

Acesta este un ghid pentru Funcția Piecewise în Matlab. Aici discutăm Metodele de utilizare a funcției Piecewise în Matlab cu diverse enunțuri și exemple. De asemenea, puteți consulta articolul următor pentru a afla mai multe -

  1. Versiunea MATLAB
  2. Vectori în Matlab
  3. Matricea în Matlab
  4. Ce este Matlab?
  5. Diferite tipuri de bucle cu avantajele sale
  6. Compilator Matlab | Aplicații ale compilatorului Matlab

Categorie: