Uvod do MATLABu

Katedra teorie obvodu, letni semestr skolniho roku 1999/2000

Ing. Marcela Antosova,CSc. - e-mail

Navod pro pouziti Matlabu pri semestralni praci


Matlab ("MATrix LABoratory") je programovy system vyvinuty spolecnosti The MathWorks,Inc.

Tento strucny navod neni prekladem uzivatelskeho manualu k programu, snazi se pouze poslouzit studentum predmetu Linearni obvody a systemy pri zpracovani semestralni prace.

Matlab se nejdrive prosadil diky sve jednoduchosti vypoctu na vysokych skolach, v poslednich letech se vsak stal standardem softwarovych reseni v ruznych vyzkumnych oblastech.
Tento "chytry maticovy software" pracuje v podstate pouze s jednim typem dat a tim je obdelnikova matice s realnymi nebo komplexnimi prvky. Skalary potom vyjadrujeme jako matice rozmeru (1 x 1) a vektory jako matice s jednim radkem (1 x n) nebo jednim sloupcem (n x 1).

Vykonnost Matlabu je rozsirovana diky navazujicimu softwaru, ktery tvori predevsim soubory programu tzv. "toolboxy", orientovane zpravidla na dany problem nebo uzivatelem sestavene programy, tzv. m-files ( m-soubory).

Prace s Matlabem

Nyni uvedeme popis zakladnich funkci Matlabu.

Prace s prikazy a funkcemi Matlabu

Manipulace s maticemi a vektory
Matlab pracuje s jedinym typem dat - obecne s obdelnikovou komplexni matici.

Elementarni matematicke funkce

      abs            modul komplexniho cisla
      angle          faze komplexniho cisla
      sqrt           druha odmocnina
      real           realna cast komplexniho cisla
      imag           imaginarni cast komplexniho cisla
      conj           komplexne sdruzene cislo
      round          zaokrouhleni cisla
      fix            odriznuti necele casti cisla
      floor          dolni cela cast cisla
      ceil           horni cela cast cisla
      sign           znamenko cisla
      rem            zbytek
      exp            exponencialni funkce se zakladem e
      log            prirozeny logaritmus
      log10          dekadicky logaritmus

Trigonometricke funkce

      sin
      cos
      tan
      asin             arc sinus
      acos
      atan
      sinh             sinus hyperbolicky
      cosh
      tanh
      asinh            arc sinus hyperbolicky
      acosh
      atanh

Graficke funkce

Vypocitane nebo vygenerovane vektory muzeme vykreslit na obrazovce s pouzitim prikazu
      plot            zobrazi linearni graf x-y
      subplot         rozcleneni graficke obrazovky na podgrafy
      semilogx        zobrazi graf x-y, osa x logaritmicka
      semilogy        zobrazi graf x-y, osa y logaritmicka
      loglog          zobrazi graf x-y, obe osy logaritmicke
      polar           graf v polarnich souradnicich
      mesh            3-rozmerny graf
      axis            meritka os
      clg             vymazani zobrazeneho grafu
Zobrazeny graf muzeme doplnit o popisy os, zahlavi, mrizku atd. pomoci prikazu
      xlabel          popis osy x
      ylabel          popis osy y
      title           zahlavi grafu
      text            text v obrazku
      gtext           text v obrazku umisteny mysi
      grid            mrizka
Existuji 2 zpusoby zobrazeni nekolika zavislosti do jednoho grafu.
Prvni jednodussi zpusob je pouziti sobe odpovidajicich paru argumentu
>>plot(x1,y1,x2,y2,x3,y3,.,xn,yn).
Druhy zpusob spociva v tom, ze jeden nebo oba z argumentu prikazu plot(x,y) je matice.
Prikazem plot je mozno ridit take typy car, znazorneni bodu v grafech a barvu grafu.
Typy car         plna               -
                 carkovana          _
                 teckovana          :
                 cerchovana         -.

Typy bodu        bod                .
                 plus               +
                 hvezdicka          *
                 krouzek            o
                 krizek             x

Barvy car       cervena        'r'
                zelena         'g'
                modra          'b'
                bila           'w'
                fialova        'm'
                neviditelna    'i'
Napr. prikaz
>>plot(x,y,'+r')
zobrazi cervenou carou graf pomoci znaku +.

Protoze cilem tohoto pomocnika neni zvladnuti Matlabu, ale pouze napoveda pri reseni semestralni prace, uvedeme zde jeste dalsi prikazy z ruznych toolboxu, ktere by studentum mohly reseni usnadnit.
Vyvolanim helpu pro dany prikaz je mozne zjistit funkci daneho prikazu i jeho syntaxi, pokud dany toolbox, ve kterem se prikaz nachazi, je nainstalovan.

matlab\matfun    -  Matrix functions - numerical linear algebra.
matlab\plotxy    -  Two dimensional graphics.
toolbox\signal   -  Signal Processing Toolbox.
toolbox\symbolic -  Symbolic Math Toolbox.

Filter analysis and implementation.

   abs       - Magnitude.
   angle     - Phase angle.
   conv      - Convolution.
   filter    - Filter implementation.
   filtfilt  - Zero-phase version of filter.
   filtic    - Determine filter initial conditions.
   freqs     - Laplace transform frequency response.
   freqz     - Z-transform frequency response.
   grpdelay  - Group delay.
   impz      - Impulse response (discrete).
   unwrap    - Unwrap phase.
   zplane    - Discrete pole-zero plot.

IIR digital filter design.

   besself   - Bessel analog filter design.
   butter    - Butterworth filter design.
   cheby1    - Chebyshev type I filter design.
   cheby2    - Chebyshev type II filter design.
   ellip     - Elliptic filter design.

IIR filter order selection.

   buttord    - Butterworth filter order selection.
   cheb1ord   - Chebyshev type I filter order selection.
   cheb2ord   - Chebyshev type II filter order selection.
   ellipord   - Elliptic filter order selection.

Parametric modeling.

   invfreqs   - Analog filter fit to frequency response.
   invfreqz   - Discrete filter fit to frequency response.
   levinson   - Levinson-Durbin recursion.
   lpc        - Linear Predictive Coefficients using autocorrelation method.
   prony      - Prony's discrete filter fit to time response.
   stmcb      - Steiglitz-McBride iteration for ARMA modeling.
   ident      - See also the Identification Toolbox.

Analog lowpass filter prototypes.

   besselap   - Bessel filter prototype.
   buttap     - Butterworth filter prototype.
   cheb1ap    - Chebyshev type I filter prototype (passband ripple).
   cheb2ap    - Chebyshev ty[pe II filter prototype (stopband ripple).
   ellipap    - Elliptic filter prototype.

Frequency translation.

   lp2bp     - Lowpass to bandpass analog filter transformation.
   lp2bs     - Lowpass to bandstop analog filter transformation.
   lp2hp     - Lowpass to highpass analog filter transformation.
   lp2lp     - Lowpass to lowpass analog filter transformation.

Filter discretization.

   bilinear     - Bilinear transformation with optional prewarping.
   impinvar   - Impulse invariance analog to digital conversion.

Two dimensional graphics.

Elementary X-Y graphs.

   plot      - Linear plot.
   loglog    - Log-log scale plot.
   semilogx  - Semi-log scale plot.
   semilogy  - Semi-log scale plot.

Specialized X-Y graphs.

   polar     - Polar coordinate plot.
   bar       - Bar graph.
   stem      - Discrete sequence or "stem" plot.
   stairs    - Stairstep plot.
   errorbar  - Error bar plot.
   hist      - Histogram plot.
   rose      - Angle histogram plot.
   compass   - Compass plot.
   fplot     - Plot function.

Graph annotation.

   title     - Graph title.
   xlabel    - X-axis label.
   ylabel    - Y-axis label.
   text      - Text annotation.
   gtext     - Mouse placement of text.
   grid      - Grid lines.

Symbolic Math Toolbox.

Linear Algebra.

   inverse     - Symbolic matrix inverse.
   determ      - Symbolic matrix determinant.
   linsolve    - Solve simultaneous linear equations.
   nullspace   - Basis for null space.
   colspace    - Basis for column space.
   eigensys    - Symbolic eigenvalues and eigenvectors.
   transpose   - Symbolic matrix transpose.
   charpoly    - Symbolic characteristic polynomial.
   jordan      - Jordan canonical form.
   singvals    - Symbolic singular values and singular vectors.

Simplification.

   simplify    - Simplify.
   expand      - Expand.
   factor      - Factor.
   collect     - Collect.
   simple      - Search for shortest form.
   allvalues   - Find all values for RootOf expression.
   symsum      - Symbolic summation.

Solution of Equations.

   solve      - Symbolic solution of algebraic equations.
   dsolve     - Symbolic solution of differential equations.
   finverse   - Functional inverse.
   compose    - Functional composition.

Operations on Symbolic Expressions and Matrices.

   numeric     - Convert symbolic matrix to numeric form.
   sym         - Create or modify symbolic matrix.
   symvar      - Determine symbolic variables.
   symop       - Symbolic operations.
   symadd      - Add symbolic expressions.
   symsub      - Subtract symbolic expressions.
   symmul      - Multiply symbolic expressions.
   symdiv      - Divide symbolic expressions.
   sympow      - Power of symbolic expression.
   symsize     - Size of symbolic matrix.
   subs        - Substitute for subexpression.
   numden      - Numerator and denominator.
   poly2sym    - Coefficient vector to symbolic polynomial.
   sym2poly    - Symbolic polynomial to coefficient vector.


©Marcela Antosova