<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="Student_Book_Matlab_files/pmathml.xml" type="text/xsl"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN" "http://www.w3.org/Math/DTD/mathml2/xhtml-math11-f.dtd">
<!--        This document was created  with

            S O F T 4 S C I E N C E      S c i W r i t e r   

            http://www.soft4science.com     e-mail: info@soft4science.com
-->
<html pref:renderer="mathplayer-dl" xmlns:pref="http://www.w3.org/2002/Math/preference" xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <meta name="Generator" content="soft4science SciWriter"/>
    <meta name="Style-ParagraphMargins" content="&lt;ParagraphMargins p_bottom=&quot;1&quot; p_top=&quot;1&quot; /&gt;"/>
    <meta name="Style-Headings" content="&lt;Headings fontSize_H2=&quot;140&quot; /&gt;"/>
    <meta name="Style-GeneralText" content="&lt;GeneralText textIndent=&quot;0&quot; /&gt;"/>
    <meta name="PreferedMathMLRenderer" content="mathplayer_dl"/>
    <meta name="template" content="X_Times.tpl"/>
    <meta name="guid" content="76f522a1-606c-4029-a49b-0c23f9b8f2f3"/>
    <meta name="date_lastUpdated" content="2008-05-14T14:26:55"/>
    <meta name="date_created" content="2008-04-03T11:45:15"/>
    <meta name="SciWriter-Options" content="&lt;SciWriterOptions TextWidth=&quot;969&quot; ShowRuler=&quot;True&quot; /&gt;"/>
    <meta name="SciWriter-Version" content="3.0.2.0"/>
    <title>unknown</title>
    <style type="text/css"><![CDATA[
    /* - CSS code generated by soft4science SciWriter  -*/

    body{font-size:14.25pt}
    table{font-size:14.25pt}
    a:link,a:active,a:visited{color:blue}
    img{border-width:0px}
    p,li,td,caption, blockquote{font-family:"Times New Roman",times}
    p{text-indent:0em}
    h1,h2,h3,h4,h5,h6{font-family:"Times New Roman",times;color:#4682B4}
    p{margin-top:1em;margin-bottom:1em}
    li{margin-top:1em;margin-bottom:1em}
    h1{font-size:160%;margin-top:1.5em;margin-bottom:1.5em}
    h2{font-size:140%;margin-top:1.5em;margin-bottom:1.5em}
    h3{font-size:140%;margin-top:1.5em;margin-bottom:1.5em}
    h4{font-size:130%;margin-top:1.5em;margin-bottom:1.5em}
    h5{font-size:120%;margin-top:1.5em;margin-bottom:1.5em}
    h6{font-size:110%;margin-top:1.5em;margin-bottom:1.5em}
    table{margin-top:1em;margin-bottom:1em}
    pre{margin-top:1em;margin-bottom:1em}
    hr{margin-top:1em;margin-bottom:1em}
    ul,ol{margin-top:0em;margin-bottom:0em}

    math          {font-family:"Times New Roman",times,CMSY10, CMEX10, Symbol}
    mml\:math    {font-family:"Times New Roman",times,CMSY10, CMEX10, Symbol}
    math[display="block"]{display:block;text-align:center;font-style: normal;}
    math *.[mathvariant="normal"] {font-weight: normal;font-style: normal;}
    math *.[mathvariant="bold"]   {font-weight: bold;font-style: normal;}
    math *.[mathvariant="italic"] {font-weight: normal;font-style: italic;}
    math *.[mathvariant="bold-italic"] {font-weight: bold;font-style: italic;}
    math *.[mathvariant="double-struck"]{font-family:msbm;font-weight: normal;font-style: normal;}
    math *.[mathvariant="script"]{font-family: eusb;font-weight: normal;font-style: normal;}
    math *.[mathvariant="bold-script"]{font-family: eusb;font-weight: bold;font-style: normal;}
    math *.[mathvariant="fraktur"] {font-family: eufm;font-weight: normal;font-style: normal;}
    math *.[mathvariant="bold-fraktur"] {font-family: eufm;font-weight: bold;font-style: italic;}
    math *.[mathvariant="sans-serif}"] {font-family: sans-serif,Arial,Lucida Sans Unicode, Verdana;font-weight: normal;font-style: normal;}
    math *.[mathvariant="bold-sans-serif"] {font-family: sans-serif,Arial, Lucida Sans Unicode, Verdana;font-weight: bold;font-style: normal;}
    math *.[mathvariant="sans-serif-italic"]{font-family: sans-serif,Arial, Lucida Sans Unicode, Verdana;font-weight: normal;font-style: italic;}
    math *.[mathvariant="sans-serif-bold-italic"] { font-family: sans-serif,Arial, Lucida Sans Unicode, Verdana ;font-weight: bold;font-style: italic;}
    math *.[mathvariant="monospace"] {font-family: monospace};
    math *.[mathsize="small"] {font-size: 80%};
    math *.[mathsize="big"] {font-size: 125%};
    msub>*:first-child[mathsize="big"],msup>*:first-child[mathsize="big"],msubsup>*:first-child[mathsize="big"],munder>*:first-child[mathsize="big"],mover>*:first-child[mathsize="big"],munderover>*:first-child[mathsize="big"],mmultiscripts>*:first-child[mathsize="big"],mroot>*:first-child[mathsize="big"] {font-size: 125%}
    msub>*:first-child[mathsize="small"],msup>*:first-child[mathsize="small"],msubsup>*:first-child[mathsize="small"],munder>*:first-child[mathsize="small"],mover>*:first-child[mathsize="small"],munderover>*:first-child[mathsize="small"],mmultiscripts>*:first-child[mathsize="small"],mroot>*:first-child[mathsize="small"] {  font-size: 80%}
    msub>*:first-child,msup>*:first-child,msubsup>*:first-child,munder>*:first-child,mover>*:first-child,munderover>*:first-child,mmultiscripts>*:first-child,mroot>*:first-child {  font-size: 100%}
    msub>*[mathsize="big"],msup>*[mathsize="big"],msubsup>*[mathsize="big"],munder>*[mathsize="big"],mover>*[mathsize="big"],munderover>*[mathsize="big"],mmultiscripts>*[mathsize="big"],math[display="inline"] mfrac>*[mathsize="big"],math *[scriptlevel="+1"][mathsize="big"] {  font-size: 89%  /* (.71 times 1.25) */}
    msub>* [mathsize="small"],msup>*[mathsize="small"],msubsup>*[mathsize="small"],munder>*[mathsize="small"],mover>*[mathsize="small"],munderover>*[mathsize="small"],mmultiscripts>*[mathsize="small"],math[display="inline"] mfrac>*[mathsize="small"],math *[scriptlevel="+1"][mathsize="small"] {  font-size: 57% /* (.71 times .80) */}
    msub>*,msup>*,msubsup>*,munder>*,mover>*,munderover>*,mmultiscripts>*,math[display="inline"] mfrac>*,math *[scriptlevel="+1"] {  font-size: 71%}
    mroot>*[mathsize="big"] {  font-size: 62%  /* (.50 times 1.25) */}
    mroot>*[mathsize="small"] {  font-size: 40% /* (.50 times .80) */}
    mroot>* {  font-size: 50%}
    .s4s-table-right{text-align:right}
    .s4s-table-right table{margin-left:auto;margin-right:0;text-align:left;}
    .s4s-table-right caption{margin-left:auto;margin-right:auto;text-align:center;}
    .s4s-table-center{text-align:center;}
    .s4s-table-center table{margin-left:auto;margin-right:auto;text-align:left;}
    .s4s-table-center caption{margin-left:auto;margin-right:auto;text-align:center;}
    .s4s-empty-paragraph{height:1em;width:textwidth}
    .s4s-noindent{text-indent:0em}
    .s4s-citation          {text-decoration:none}
    .s4s-footnote          {text-decoration:none;position:relative;top:-0.2em;font-size:0.9em}
    .s4s-section-reference {text-decoration:none}
    .s4s-theorem-reference {text-decoration:none}
    .s4s-table-reference   {text-decoration:none}
    .s4s-figure-reference  {text-decoration:none}
    .s4s-equation-reference{text-decoration:none}
    .s4s-latex             {visibility:hidden;line-height:0em;height:0em;width:0em;display:none}

    /* - CSS code generated by soft4science SciWriter  -*/
]]></style>
  </head>
  <body style="margin: 50px;">
    <table class="s4s-figure">
      <tbody>
        <tr>
          <td align="center">
            <img alt="log7" src="Student_Book_Matlab_files/log7.gif"/>
          </td>
        </tr>
      </tbody>
    </table>
    <p style="text-align: center;" class="s4s-noindent">
      <span style="font-size: 200%;">
        <strong>Въведение в MATLAB</strong>
      </span>
    </p>
    <p class="s4s-empty-paragraph"> </p>
    <h1 class="s4s-section-numbered" id="SECTION.406dc983-f38c-43fc-bd33-9fee5146f8ec">
      <span class="s4s-section-number">1  </span>Какво е MATLAB?</h1>
    <p class="s4s-noindent">MATLAB е софтуерен пакет за математика, който използва преобразования на матрици за извършване на сложни математически изчисления. За разлика от Mathematica и Maple, той не е система за компютърна алгебра и затова не може да извършва символни пресмятания, освен ако за тази цел не се използва допълнителен toolbox - кутия с инструменти (напр. Symbolic Math Toolbox, който може да се купи от The Mathworks). </p>
    <h1 class="s4s-section-numbered" id="SECTION.9ca6cc96-8290-418b-b8e7-4924bfc560fd">
      <span class="s4s-section-number">2  </span>Основни команди</h1>
    <h2 class="s4s-section-numbered" id="SECTION.45c9c375-5515-4d65-8a3d-239d3e017eb4">
      <span class="s4s-section-number">2.1  </span>  <span style="font-family: Tahoma;">'demos'</span> команда</h2>
    <p class="s4s-noindent">MATLAB има много добре развита система за помощ, чийто прозорец се отваря като се напише </p>
    <p>
      <span style="font-family: Tahoma;">demos</span>
    </p>
    <p>в командния ред, следвано от натискане на клавиша <math xmlns="http://www.w3.org/1998/Math/MathML"><mo>↩</mo><mspace width="mediummathspace" height="0.2em"/><mspace width="mediummathspace" height="0.2em"/><mi> </mi><mspace width="mediummathspace" height="0.2em"/></math>. Появява се прозорецът за помощ. Той съдържа  'Contents', 'Index', 'Search', 'Demos' и 'Favorite'. Много проблеми често се решават бързо като се използва тази команда.  Ако се знае названието на необходимата команда, с въвеждането на  help и името на командата веднага се показва съответното обяснение, <span style="font-family: Tahoma;">  </span> напр. </p>
    <p>
      <span style="font-family: Tahoma;">help sin</span>
    </p>
    <p>
      <span style="font-family: Tahoma;">SIN синус.</span>
    </p>
    <p>
      <span style="font-family: Tahoma;">SIN(X) е синус  от елементите на X.</span>
    </p>
    <p>MATLAB винаги пише командите с големи букви, дори и да са въведени с малки букви.  Това е така, защото системата се опитва да разпознае и да изпълни всяка команда, която се появява в прозореца за помощ. Този пример също отразява факта, че MATLAB изпълнява изчисленията си с вектори <span style="font-family: Tahoma;">('елементи на X'</span>). </p>
    <h2 class="s4s-section-numbered" id="SECTION.d58f17c3-393d-4fcb-9ffa-23311f58d648">
      <span class="s4s-section-number">2.2  </span>Присвояване на стойности </h2>
    <p class="s4s-noindent">MATLAB е пакет за числени пресмятания. Той изисква числа, с които да изчислява.  Например изрази от вида <math xmlns="http://www.w3.org/1998/Math/MathML"><mi>y</mi><mo>=</mo><mn>2</mn><mi>x</mi></math> нямат смисъл за MATLAB, ако той не знае какво точно представлява  <math xmlns="http://www.w3.org/1998/Math/MathML"><mi>x</mi></math> .  </p>
    <p>При отварянето на MATLAB се появява командния прозорец. Ако въведем </p>
    <p>
      <span style="font-family: Tahoma;">y=2*x</span>
    </p>
    <p>и натиснем клавиша <math xmlns="http://www.w3.org/1998/Math/MathML"><mo>↩</mo></math>, ще се появи следнато съобщение за грешка </p>
    <p>
      <span style="color: Red; font-family: Tahoma;">??? Undefined function or variable 'x'. (неопределена функция или променлива)</span>
    </p>
    <p>Затова, преди да изчислим изрази от вида <math xmlns="http://www.w3.org/1998/Math/MathML"><mi>y</mi><mo>=</mo><mn>2</mn><mi>x</mi><mo>,</mo><mspace width="mediummathspace" height="0.2em"/></math>, най-напред трябва да решим каква е стойността на <span style="font-family: Tahoma;">x</span> и да запишем това в командния прозорец така:</p>
    <p>
      <span style="font-family: Tahoma;">x=2</span>
    </p>
    <p>след което да натиснем клавиша <math xmlns="http://www.w3.org/1998/Math/MathML"><mo>↩</mo><mspace width="mediummathspace" height="0.2em"/><mi>key</mi><mn>.</mn><mspace width="mediummathspace" height="0.2em"/></math> На екрана се появява потвърждение, че на <span style="font-family: Tahoma;">x </span> е присвоена стойност  <span style="font-family: Tahoma;">2</span>.</p>
    <p>След това въвеждаме </p>
    <p>
      <span style="font-family: Tahoma;">y=2*x</span>
    </p>
    <p>и MATLAB потвърждава, че на <span style="font-family: Tahoma;">y</span> е присвоена стойност <span style="font-family: Tahoma;">4</span>. </p>
    <p>Ако въведем друга стойност за  <span style="font-family: Tahoma;">x </span>, напр. </p>
    <p>
      <span style="font-family: Tahoma;">x=3</span>
    </p>
    <p>MATLAB ще покаже новата стойност. Ако напишем </p>
    <p>
      <span style="font-family: Tahoma;">y</span>
    </p>
    <p>в командния прозорец, той ще покже, че  <span style="font-family: Tahoma;">y= 4</span>.</p>
    <p>Повторното въвеждане на </p>
    <p>
      <span style="font-family: Tahoma;">y=2*x</span>
    </p>
    <p>ще даде новата стойност на <span style="font-family: Tahoma;">y</span>. Ясно е, че MATLAB не изпълнява пресмятането, докато тя не се зададе в командния прозорец. </p>
    <p>За изчисляване на степен на число, MATLAB използва знака "<span style="font-family: Tahoma;">^</span>" . За да изчислим <math xmlns="http://www.w3.org/1998/Math/MathML"><mi>y</mi><mo>=</mo><msup><mi>x</mi><mrow><mn>3</mn></mrow></msup><mspace width="mediummathspace" height="0.2em"/></math>въвеждаме</p>
    <p>
      <span style="font-family: Tahoma;">y=x^3</span>
    </p>
    <p>Това ще даде <span style="font-family: Tahoma;">y=27 </span>, тъй като последната въведена стойност на <span style="font-family: Tahoma;">x </span> беше 3. </p>
    <p>За да пресметнем корени на число, използваме факта, че  <math xmlns="http://www.w3.org/1998/Math/MathML"><mroot><mrow><mi>a</mi></mrow><mrow><mi mathsize="125%">n</mi></mrow></mroot><mspace width="mediummathspace" height="0.2em"/></math> може също така да се запише като <math xmlns="http://www.w3.org/1998/Math/MathML"><msup><mrow><mi>a</mi></mrow><mrow><mstyle mathsize="125%"><mfrac><mrow><mn>1</mn></mrow><mrow><mi>n</mi></mrow></mfrac></mstyle></mrow></msup></math>. </p>
    <p>Въведете </p>
    <p>
      <span style="font-family: Tahoma;">a=27</span>
    </p>
    <p>Сега въведете</p>
    <p>
      <span style="font-family: Tahoma;">y=a^1/3</span>
    </p>
    <p>Отговирът, който получаваме е <span style="font-family: Tahoma;">y=9 </span>. Това не е резултата, който очакваме. MATLAB е интерпретирал <span style="font-family: Tahoma;">y=a^1/3 </span> като <math xmlns="http://www.w3.org/1998/Math/MathML"><mi>y</mi><mo>=</mo><mstyle mathsize="125%"><mfrac><mrow><msup><mi>a</mi><mrow><mn>1</mn></mrow></msup></mrow><mrow><mn>3</mn></mrow></mfrac></mstyle></math></p>
    <p>За да получим верен резултат, трябва да запишем дробта в кръгли скоби:</p>
    <p>
      <span style="font-family: Tahoma;">y=a^(1/3)</span>
    </p>
    <p>Това дава резултат <span style="font-family: Tahoma;">3 </span>както очакваме.</p>
    <p>Трансцендентното число  <math xmlns="http://www.w3.org/1998/Math/MathML"><mi>π</mi><mspace width="mediummathspace" height="0.2em"/></math> се представя с <span style="font-family: Tahoma;">pi </span>. Въвеждаме </p>
    <p>
      <span style="font-family: Tahoma;">pi</span>
    </p>
    <p> в командния прозорец и получаваме  </p>
    <p>
      <span style="font-family: Tahoma;">pi=3.1416</span>. MATLAB е присвоил на  <span style="font-family: Tahoma;">pi </span> стойността му, закръглена с четири десетични знака. </p>
    <p>Въвеждаме </p>
    <p>
      <span style="font-family: Tahoma;">format long</span>
    </p>
    <p>
      <span style="font-family: Tahoma;">pi</span>
    </p>
    <p>и ще получим отговор <span style="font-family: Tahoma;">3.14159265358979 </span>т.е. с 14 десетични знака. Ако въведем </p>
    <p>
      <span style="font-family: Tahoma;">format short</span>
    </p>
    <p>то ще получим подразбиращите се 4  десетични знака.  </p>
    <p>Ако по аналогия въведем </p>
    <p>
      <span style="font-family: Tahoma;">e</span>
    </p>
    <p>отговорът на MATLAB ще е </p>
    <p>
      <span style="color: Red; font-family: Tahoma;">??? Undefined function or variable 'e' (неопределена функция или променлива).</span>
    </p>
    <p>Това е така, защото експонента е дефинирана само като функция <strong>  </strong><span style="font-family: Tahoma;">'exp'. </span> Следователно можем да присвоим стойност на  <span style="font-family: Tahoma;">e </span> като въведем</p>
    <p>
      <span style="font-family: Tahoma;">e=exp(1)</span>
    </p>
    <p>което е еквивалентно на  <math xmlns="http://www.w3.org/1998/Math/MathML"><msup><mrow><mi>e</mi></mrow><mrow><mn>1</mn></mrow></msup><mspace width="mediummathspace" height="0.2em"/></math>. Този отговор потвърждава, че :</p>
    <p>
      <span style="font-family: Tahoma;">e =2.7183</span>
    </p>
    <h2 class="s4s-section-numbered" id="SECTION.a44a087d-4cbc-4c2b-8cf3-8f75ad660e43">
      <span class="s4s-section-number">2.3  </span>Въвеждане на матрици</h2>
    <p class="s4s-noindent">За да зададем матрица <math xmlns="http://www.w3.org/1998/Math/MathML"><mn>3</mn><mo>×</mo><mn>3</mn></math> от вида </p>
    <p>
      <math xmlns="http://www.w3.org/1998/Math/MathML">
        <mi>A</mi>
        <mo>=</mo>
        <mrow>
          <mo>[</mo>
          <mtable displaystyle="false">
            <mtr>
              <mtd>
                <mn>1</mn>
              </mtd>
              <mtd>
                <mn>2</mn>
              </mtd>
              <mtd>
                <mn>3</mn>
              </mtd>
            </mtr>
            <mtr>
              <mtd>
                <mn>4</mn>
              </mtd>
              <mtd>
                <mn>5</mn>
              </mtd>
              <mtd>
                <mn>6</mn>
              </mtd>
            </mtr>
            <mtr>
              <mtd>
                <mn>7</mn>
              </mtd>
              <mtd>
                <mn>8</mn>
              </mtd>
              <mtd>
                <mn>9</mn>
              </mtd>
            </mtr>
          </mtable>
          <mo>]</mo>
        </mrow>
        <mspace width="mediummathspace" height="0.2em"/>
      </math>, </p>
    <p>в командния ред записваме</p>
    <p>
      <span style="font-family: Tahoma;">A=[ 1 2 3 ; 4 5 6 ; 7 8 9 ]</span>
    </p>
    <p>разделяйки всеки елемент с интервал, след което натискаме клавиша <math xmlns="http://www.w3.org/1998/Math/MathML"><mo>↩</mo><mspace width="mediummathspace" height="0.2em"/></math>. Знакът  "<span style="font-family: Tahoma;">;</span>" ; (точка и запетая) означава за MATLAB, че следващото въвеждане трябва да бъде поставено на нов ред в скоби. Ако командите са били въведени правилно, MATLAB ще покаже исканата матрица на екрана. Забележете, че MATLAB различава големите от малките символи! Напр. голямата буква <span style="font-family: Tahoma;">A</span> не е същото като малката буква  <span style="font-family: Tahoma;">a</span>.</p>
    <p>Ако е допусната грешка, MATLAB ще покаже съобщение с червени символи. Например, ако въведете </p>
    <p>
      <span style="font-family: Tahoma;">A=[ 1 2 3 ; 4 5 6 7 8 9 ]</span>
    </p>
    <p>MATLAB ще изведе </p>
    <p>
      <span style="color: Red; font-family: Tahoma;">??? Error using ==&gt; vertcat</span>
    </p>
    <p>
      <span style="color: Red; font-family: Tahoma;">CAT arguments dimensions are not consistent.</span>
    </p>
    <p>Може да не е очевидно от съобщението за грешка точно какво е объркано. Впрочем, ако прегледате оригиналната команда, лесно ще видите, че "<span style="font-family: Tahoma;">;</span>" е била пропусната между <span style="font-family: Tahoma;">6 </span> и <span style="font-family: Tahoma;">7.</span> Съобщението казва, че командата се опитва да създаде матрица с три елемента в първия реди с 6 елемента във втория ред.  </p>
    <p>Ако е допусната грешка вместо да набирате отново цялата команда е много по-лесно да натиснете клавиша  (<strong>"стрелка нагоре"</strong>) <math xmlns="http://www.w3.org/1998/Math/MathML"><mrow><mo>(</mo><mo>↑</mo><mo>)</mo><mspace width="mediummathspace" height="0.2em"/></mrow></math> за да възстановите оригиналната команда, като въведете липсващия символ ;. Забележете, че за да изпълните наново командата не е необходимо да отивате на края на реда, преди да натиснете <math xmlns="http://www.w3.org/1998/Math/MathML"><mo>↩</mo><mspace width="mediummathspace" height="0.2em"/></math>.</p>
    <p>Ако не се иска показването на даден резултат на екрана, добавете символа ; в края на командата, така</p>
    <p>
      <span style="font-family: Tahoma;">A=[ 1 2 3 ; 4 5 6 ; 7 8 9 ] ;</span>
    </p>
    <p>Това в частност е желателно, когато резултатите са много. </p>
    <p>Чрез натискане на <strong>Workspace </strong>в прозореца отляво на командния прозорец, може да се показват всички обекти, създадени с MATLAB в текущата сесия. Ако <span style="font-family: Tahoma;">A </span>е била въведена правилно, прозорецът ще покаже  <span style="font-family: Tahoma;">A </span>с именувана колона и <span style="font-family: Tahoma;">[ 1 2 3 ; 4 5 6 ; 7 8 9 ] </span>в колона от стойности. </p>
    <p>Ако се въведе нова матрица </p>
    <p>
      <span style="font-family: Tahoma;">B=[ 1 2 3 4 ; 5 6 7 8 ; 9 10 11 12 ; 13 14 15 16 ] ;</span>
    </p>
    <p>и се провери прозорецът Workspace, <span style="font-family: Tahoma;">B </span>се показва на екрана като<span style="font-family: Tahoma;"> &lt;4x4 double&gt; </span>, което е стандартна форма на за всички матрици, с размерност по-голяма от <math xmlns="http://www.w3.org/1998/Math/MathML"><mn>3</mn><mo>×</mo><mn>3</mn></math>.  </p>
    <p>Прозорецът Workspace е мощно средство за откриване на грешки. Една от най-честите грешки се допуска, когато има опит да се умножат две матрици с неподходящи вътрешни размерности. Това лесно може да се провери с прозореца Workspace.</p>
    <h2 class="s4s-section-numbered" id="SECTION.d13a31c6-ce4b-4a2d-abe5-17b77c7b27f4">
      <span class="s4s-section-number">2.4  </span>Аритметични операции с матрици. </h2>
    <p class="s4s-noindent">Събиране и изваждане на матрици се извършва със стандартните оператори + и - :</p>
    <p>
      <span style="font-family: Tahoma;">A+A</span>
    </p>
    <p>
      <math xmlns="http://www.w3.org/1998/Math/MathML">
        <mtable displaystyle="false">
          <mtr>
            <mtd>
              <mn>2</mn>
            </mtd>
            <mtd>
              <mn>4</mn>
            </mtd>
            <mtd>
              <mn>6</mn>
            </mtd>
          </mtr>
          <mtr>
            <mtd>
              <mn>8</mn>
            </mtd>
            <mtd>
              <mn>10</mn>
            </mtd>
            <mtd>
              <mn>12</mn>
            </mtd>
          </mtr>
          <mtr>
            <mtd>
              <mn>14</mn>
            </mtd>
            <mtd>
              <mn>16</mn>
            </mtd>
            <mtd>
              <mn>18</mn>
            </mtd>
          </mtr>
        </mtable>
      </math>
    </p>
    <p>
      <span style="font-family: Tahoma;">A-A</span>
    </p>
    <p>
      <math xmlns="http://www.w3.org/1998/Math/MathML">
        <mtable displaystyle="false">
          <mtr>
            <mtd>
              <mn>0</mn>
            </mtd>
            <mtd>
              <mn>0</mn>
            </mtd>
            <mtd>
              <mn>0</mn>
            </mtd>
          </mtr>
          <mtr>
            <mtd>
              <mn>0</mn>
            </mtd>
            <mtd>
              <mn>0</mn>
            </mtd>
            <mtd>
              <mn>0</mn>
            </mtd>
          </mtr>
          <mtr>
            <mtd>
              <mn>0</mn>
            </mtd>
            <mtd>
              <mn>0</mn>
            </mtd>
            <mtd>
              <mn>0</mn>
            </mtd>
          </mtr>
        </mtable>
      </math>
    </p>
    <p>Забележете, че макар да се изисква матриците да се въвеждат с кавдратни скоби, то MATLAB  не ги включва в изхода си.  </p>
    <h2 class="s4s-section-numbered" id="SECTION.4cfc931a-5f1c-49bd-8532-eeda209bf227">
      <span class="s4s-section-number">2.5  </span>Представяне на полиноми</h2>
    <p class="s4s-noindent">Докато другите системи за компютърна алгебра представят полиномите като <math xmlns="http://www.w3.org/1998/Math/MathML"><msup><mrow><mi>x</mi></mrow><mrow><mn>2</mn></mrow></msup><mo>−</mo><mn>3</mn><mi>x</mi><mo>+</mo><mn>2</mn></math> явно, MATLAB използва вектор с коефициенти, за да представи полинома. В този случай векторът е <math xmlns="http://www.w3.org/1998/Math/MathML"><mo stretchy="false">[</mo><mn>1</mn><mspace width="mediummathspace" height="0.2em"/><mo>−</mo><mn>3</mn><mspace width="mediummathspace" height="0.2em"/><mspace width="mediummathspace" height="0.2em"/><mn>2</mn><mo stretchy="false">]</mo></math> . За намиране корените на полинома в MATLAB, се използва функцията: <span style="font-family: Tahoma;">'roots' </span> :</p>
    <p>
      <span style="font-family: Tahoma;">p=[1 -3 2];</span>
    </p>
    <p>
      <span style="font-family: Tahoma;">roots(p)</span>
    </p>
    <p>
      <span style="font-family: Tahoma;">ans =</span>
    </p>
    <p>
      <span style="font-family: Tahoma;">2</span>
    </p>
    <p>
      <span style="font-family: Tahoma;">1</span>
    </p>
    <p>Корените могат да се намерят също и с пряко въвеждане на полиномния вектор във функцията:</p>
    <p>
      <span style="font-family: Tahoma;">roots([1 -3 2])</span>
    </p>
    <p>
      <span style="font-family: Tahoma;">ans =</span>
    </p>
    <p>
      <span style="font-family: Tahoma;">2</span>
    </p>
    <p>
      <span style="font-family: Tahoma;">1</span>
    </p>
    <p>Забележете, че изпускането на квадратните скоби във функцията roots води до следното съобщение за грешка:</p>
    <p>
      <span style="font-family: Tahoma;">roots(1 -3 2)</span>
    </p>
    <p>
      <span style="color: Red; font-family: Tahoma;">??? roots(1 -3 2)</span>
    </p>
    <p>
      <span style="color: Red; font-family: Tahoma;">Error: ")" expected, "numeric value" found.</span>
    </p>
    <p>Също така, може да се намерят коефициентите на полинома, като се зададат неговите корени, използвайки функцията <span style="font-family: Tahoma;">'poly'</span> :</p>
    <p>
      <span style="font-family: Tahoma;">poly([-2 2])</span>
    </p>
    <p>
      <span style="font-family: Tahoma;">ans = 1 0 -4</span>
    </p>
    <p>Забележете, че втората компонента на вектора е нула, което показва, че исканият полином с корени  -2 и 2 е: <math xmlns="http://www.w3.org/1998/Math/MathML"><msup><mrow><mi>x</mi></mrow><mrow><mn>2</mn></mrow></msup><mo>−</mo><mn>4</mn></math> .</p>
    <h2 class="s4s-section-numbered" id="SECTION.b725655e-db7d-4e57-8f47-78d905a86331">
      <span class="s4s-section-number">2.6  </span>Рисуване на графики</h2>
    <p class="s4s-noindent">MATLAB рисува графики като използва векторите с координатите. Тук е даден прост пример за създаване на два вектора с 5 елемента, присвоени на буквите <span style="font-family: Tahoma;">  'x' </span> и <span style="font-family: Tahoma;">'y' </span>, след което са начертани <span style="font-family: Tahoma;">x</span> и <span style="font-family: Tahoma;">y</span>:</p>
    <p>
      <span style="font-family: Tahoma;">x=[1 2 3 4 5];</span>
    </p>
    <p>
      <span style="font-family: Tahoma;">y=[2 4 6 8 10];</span>
    </p>
    <p>
      <span style="font-family: Tahoma;">plot(x,y)</span>
    </p>
    <p>Виждаме графика, подобна на следната:</p>
    <div class="s4s-table-center">
      <table class="s4s-figure">
        <tbody>
          <tr>
            <td align="center">
              <img alt="MATLAB1" src="Student_Book_Matlab_files/MATLAB1.jpg"/>
            </td>
          </tr>
        </tbody>
      </table>
    </div>
    <p class="s4s-noindent">Разграфяването на оста Ox съответства на зададените от вектора <span style="font-family: Tahoma;">x</span> координати. Подобно е и разграфяването по оста за <span style="font-family: Tahoma;">y </span>. По подразбиране, MATLAB съединява точките със синя линия. Ако желаете да нарисувате само точките, зададени с координати, функцията <span style="font-family: Tahoma;">plot </span> трябва леко да се промени по следния начин:</p>
    <p>
      <span style="font-family: Tahoma;">plot(x,y,'x')</span>
    </p>
    <p>Ще се появи следното:</p>
    <div class="s4s-table-center">
      <table class="s4s-figure">
        <tbody>
          <tr>
            <td align="center">
              <img alt="MATLAB2" src="Student_Book_Matlab_files/MATLAB2.jpg"/>
            </td>
          </tr>
        </tbody>
      </table>
    </div>
    <p class="s4s-noindent">Всички координати (1, 2), (2, 4), (3, 6), (4, 8), (5, 10) са нарисувани със сини 'x'. Синьото е цвят на графиката по подразбиране. Трябва да отбележим, че правата описва функцията <math xmlns="http://www.w3.org/1998/Math/MathML"><mi>y</mi><mo>=</mo><mn>2</mn><mi>x</mi></math> за <math xmlns="http://www.w3.org/1998/Math/MathML"><mn>1</mn><mo>≤</mo><mi>x</mi><mo>≤</mo><mn>5</mn></math> . </p>
    <p>Друг начин да получим същата графика е да въведем</p>
    <p>
      <span style="font-family: Tahoma;">x=[1 2 3 4 5];</span>
    </p>
    <p>
      <span style="font-family: Tahoma;">y=2*x;</span>
    </p>
    <p>
      <span style="font-family: Tahoma;">plot(x,y,'x')</span>
    </p>
    <p>Този пример показва как с MATLAB се чертаят графики на функции на една променлива. Най-напред се прави вектор със стойностите за входната променлива, след това се изчисляват стойностите на функцията или по формулата на дефинирана от потребителя функция (напр. умножението по 2), или по формула, използваща някоя от вградените функции на MATLAB (напр. <span style="font-family: Tahoma;"> 'sin' </span>, <span style="font-family: Tahoma;">'exp'</span>), като формулата се присвоява на подходящо име на променлива (напр. <span style="font-family: Tahoma;">'y', 'output'</span>, и т.н.). Накрая използваме командата <span style="font-family: Tahoma;">'plot' </span>за да получим графиката. Например, plot <math xmlns="http://www.w3.org/1998/Math/MathML"><mi>y</mi><mo>=</mo><mi>sin</mi><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo><mo>,</mo><mspace width="mediummathspace" height="0.2em"/><mo>−</mo><mn>2</mn><mi>π</mi><mo>≤</mo><mi>x</mi><mo>≤</mo><mn>2</mn><mi>π</mi><mspace width="mediummathspace" height="0.2em"/></math>. </p>
    <p>
      <span style="font-family: Tahoma;">x=[-2*pi -pi 0 pi 2*pi];</span>
    </p>
    <p>
      <span style="font-family: Tahoma;">y=sin(x);</span>
    </p>
    <p>
      <span style="font-family: Tahoma;">plot(x,y)</span>
    </p>
    <div class="s4s-table-center">
      <table class="s4s-figure">
        <tbody>
          <tr>
            <td align="center">
              <img alt="MATLAB3" src="Student_Book_Matlab_files/MATLAB3.jpg"/>
            </td>
          </tr>
        </tbody>
      </table>
    </div>
    <p class="s4s-noindent">Това не точно това, което искахме! Очевидно 5 точки не са достатъчни за да се нарисува функцията синус.  Освен това, ние знаем, че има точки, в които <math xmlns="http://www.w3.org/1998/Math/MathML"><mi>sin</mi><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo><mspace width="mediummathspace" height="0.2em"/><mspace width="mediummathspace" height="0.2em"/></math> има стойност 0, а MATLAB работи с крайна точност и прави закръгляния в рамките на <math xmlns="http://www.w3.org/1998/Math/MathML"><msup><mrow><mo>±</mo><mn>10</mn></mrow><mrow><mo>−</mo><mn>16</mn></mrow></msup><mspace width="mediummathspace" height="0.2em"/><mn>.</mn><mspace width="mediummathspace" height="0.2em"/></math>За да получим по-правдоподобна графика на функцията синус, се нуждаем от повече точки. Тук са дадени два начина за получаване на подходящиявектор <math xmlns="http://www.w3.org/1998/Math/MathML"><mi>x</mi></math>. Формулата</p>
    <p>
      <span style="font-family: Tahoma;">x=-2*pi:0.1:2*pi;</span>
    </p>
    <p>създава вектор с първи елемент равен на -2*pi, като всеки следващ елемент е по-голям от предишния с 0.1, а последният елемент е почти равен (или по-малък) от <math xmlns="http://www.w3.org/1998/Math/MathML"><mn>2</mn><mi>π</mi></math> . Така създаденият вектор има 126 елемента. Сега прилагаме функцията синус и получаваме: </p>
    <p>
      <span style="font-family: Tahoma;">y=sin(x);</span>
    </p>
    <p>
      <span style="font-family: Tahoma;">plot(x,y);</span>
    </p>
    <div class="s4s-table-center">
      <table class="s4s-figure">
        <tbody>
          <tr>
            <td align="center">
              <img alt="MATLAB4" src="Student_Book_Matlab_files/MATLAB4.jpg"/>
            </td>
          </tr>
        </tbody>
      </table>
    </div>
    <p class="s4s-noindent">Забележете, че MATLAB малко разширява зададения интервал от двете страни, до най-близките цели четни числа, в случая показаният интервал е от -8 до 8. Това може да се избегне като въведем</p>
    <p>
      <span style="font-family: Tahoma;">axis tight</span>
    </p>
    <p>за да нарисуваме следното:</p>
    <div class="s4s-table-center">
      <table class="s4s-figure">
        <tbody>
          <tr>
            <td align="center">
              <img alt="MATLAB5" src="Student_Book_Matlab_files/MATLAB5.jpg"/>
            </td>
          </tr>
        </tbody>
      </table>
    </div>
    <p class="s4s-noindent">Тази графика точно запълва графичния прозорец. Другият начин, вместо да задаваме нарастването с 0.1 във вектора <math xmlns="http://www.w3.org/1998/Math/MathML"><mi>x</mi><mspace width="mediummathspace" height="0.2em"/></math> е да създадем вектор със желан брой равноотстоящи точки, като използваме командата <span style="font-family: Tahoma;">'linspace' </span>:</p>
    <p>
      <span style="font-family: Tahoma;">x=linspace(-2*pi,2*pi,500);</span>
    </p>
    <p>Създава се вектор с 500 елемента, първият елемент е <math xmlns="http://www.w3.org/1998/Math/MathML"><mo>=</mo><mo>−</mo><mn>2</mn><mi>π</mi></math>, последният е <math xmlns="http://www.w3.org/1998/Math/MathML"><mo>=</mo><mn>2</mn><mi>π</mi></math>, а между тях са 498 равноотдалечени елементи. Сега въвеждаме</p>
    <p>
      <span style="font-family: Tahoma;">y=sin(x);</span>
    </p>
    <p>
      <span style="font-family: Tahoma;">plot(x,y)</span>
    </p>
    <p>за да получим нова графика на функцията синус, видимо подобна на предишната, като сега са използвани 500 точки, вместо 126.  </p>
    <p class="s4s-empty-paragraph"> </p>
    <p class="s4s-empty-paragraph"> </p>
    <p class="s4s-empty-paragraph"/>
  </body>
</html>