<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="Student_Book_Matlab2_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="b6457e27-3d42-4b2c-b608-44fbeee9aa90"/>
    <meta name="date_lastUpdated" content="2008-05-06T11:47:05"/>
    <meta name="date_created" content="2008-04-10T11:49:14"/>
    <meta name="SciWriter-Options" content="&lt;SciWriterOptions TextWidth=&quot;970&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_Matlab2_files/log7.gif"/>
          </td>
        </tr>
      </tbody>
    </table>
    <p style="text-align: center;" class="s4s-noindent">
      <span style="font-size: 200%;">
        <strong>Създаване на M - файлове с MATLAB</strong>
      </span>
    </p>
    <p class="s4s-empty-paragraph"> </p>
    <h1 class="s4s-section-numbered" id="SECTION.0cff5ca2-e798-4872-9f27-ef38c81215d3">
      <span class="s4s-section-number">1  </span>Какво е М - файл?</h1>
    <p class="s4s-noindent">Макар че MATLAB <em>може</em> да бъде използван като калкулатор, неговата истинска сила е да чете и изпълнява потребителски файлове. Те се наричат  <strong>M-файлове,</strong> и имат разширение <span style="font-family: Tahoma;"> .m. </span>Добре е командите да се пишат директно в М-файл и да се съхраняват в подходяща папка. Ако се допусне някаква грешка е много по-лесно да се редактира файла, вместо да се превъртат различни команди. Освен това, M-файлът може да се запомня и да се редактира по-късно. Има два принципно различни типа M-файла: <strong>скриптов (script) </strong>файл и <strong>Фунционален (function) </strong>файл. Скриптовият файл съдържа последователност от MATLAB команди, които се изпълняват, когато името на файла се зададе в командния прозорец. Функционалният файл изисква вход, който се изпълнява и връща резултат. MATLAB има огромен брой вградени функционални файлове. Те съдържат елементарните функции като <span style="font-family: Tahoma;">'sin'</span>, <span style="font-family: Tahoma;">'exp'</span>, както и голям брой специални функции. Всички функционални файлове се характеризират с това, че входните им параметри се задават в командния ред и връщат резултата в командния прозорец, без да се редактира функционалния файл. Прост пример е даден с използване на експоненциалната функция, напр. <math xmlns="http://www.w3.org/1998/Math/MathML"><mi>exp</mi><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo><mo>=</mo><msup><mrow><mi>e</mi></mrow><mrow><mi>x</mi></mrow></msup></math>. Въвеждаме</p>
    <p>
      <span style="font-family: Tahoma;">y=exp(1)</span>
    </p>
    <p>и получаваме резултат</p>
    <p>
      <span style="font-family: Tahoma;">y=2.7183</span>
    </p>
    <p>Въвеждаме</p>
    <p>
      <span style="font-family: Tahoma;">y=exp(0)</span>
    </p>
    <p>и получаваме </p>
    <p>
      <span style="font-family: Tahoma;">y=1</span>
    </p>
    <p class="s4s-empty-paragraph"> </p>
    <h1 class="s4s-section-numbered" id="SECTION.cf3de7fa-d25d-48e8-bf10-33449ccc77be">
      <span class="s4s-section-number">2  </span>Как се създава и използва един М-файл</h1>
    <h2 class="s4s-section-numbered" id="SECTION.89fb4423-4bd0-43c1-a519-734393cc3879">
      <span class="s4s-section-number">2.1  </span>Създаване на отделна папка </h2>
    <p class="s4s-noindent">Най-напред имаме нужда от създаване на папка, в която да съхраняваме М-файла. Намерете подходяща директория с превъртане на "Current Directory" менюто в горната част на прозореца на MATLAB. В горната лява част на прозореца на Current Directory (текуща директория) натиснете бутона "New Folder" (нова папка), показана като жълта папка със звездичка. Задайте подходящо име на новата папка, напр. "MyWork". </p>
    <h2 class="s4s-section-numbered" id="SECTION.7146c606-668a-4db4-944d-e0b0e8898616">
      <span class="s4s-section-number">2.2  </span>Създаване на М-файл</h2>
    <p class="s4s-noindent">Най-бързо М=файл се създава като се натисне бутона "New M-File", намиращ се в горния ляв ъгъл на екрана на MATLAB, под менюто "File". Друг начин е да се натисне "File - New - M-File". Показва се прозорец от следния тип:</p>
    <div class="s4s-table-center">
      <table class="s4s-figure">
        <tbody>
          <tr>
            <td align="center">
              <img width="50%" alt="MATLAB11" src="Student_Book_Matlab2_files/MATLAB11.JPG"/>
            </td>
          </tr>
        </tbody>
      </table>
    </div>
    <p class="s4s-noindent">Като прост пример отворете един М-файл в MATLAB, запомнете го с име по ваш избор, напр. <span style="font-family: Tahoma;">"MAT1.m</span>", в папката, която току-що сте създали. Добре е, за да сте сигурни, че няма дублиране на имена на файлове, преди това да проверите дали вече няма файл със същото име, като въведете командата </p>
    <p>
      <span style="font-family: Tahoma;">help MAT1</span>
    </p>
    <p>в командния ред. Това ще върне резултата </p>
    <p>
      <span style="font-family: Tahoma;">MAT1.m not found.</span>
    </p>
    <p>Съпоставете горното с командата</p>
    <p>
      <span style="font-family: Tahoma;">help sin</span>
    </p>
    <p>Показва се:</p>
    <p>
      <span style="font-family: Tahoma;">SIN Sine.</span>
    </p>
    <p>
      <span style="font-family: Tahoma;">SIN(X) is the sine of the elements of X.</span>
    </p>
    <p>
      <span style="font-family: Tahoma;">Overloaded methods  (Припокрити методи) </span>
    </p>
    <p>
      <span style="font-family: Tahoma;">help sym/sin.m</span>
    </p>
    <p>Последното означава, че вече съществува М-файл, наречен <span style="font-family: Tahoma;">"sin.m".</span></p>
    <h2 class="s4s-section-numbered" id="SECTION.a5da8a8c-bf68-417a-b968-889a200fd13f">
      <span class="s4s-section-number">2.3  </span>Създаване на скриптов М-файл</h2>
    <p class="s4s-noindent">Ще дадем много прост пример на скриптов файл, който извършва събирането на две числа. В ред 1 на вашия новосъздаден файл въведете  </p>
    <p>
      <span style="font-family: Tahoma;">y=3+2</span>
    </p>
    <p>(забележете, че символът <span style="font-family: Tahoma;">";"</span> не е вмъкнат, защото иначе няма да можем да видим изхода), след това натиснете "File - Save As" и запомнете файал като <span style="font-family: Tahoma;">MAT1</span> във вашата папка. Натиснете бутона "Debug - Run". Ще видите следното:</p>
    <p class="s4s-empty-paragraph"> </p>
    <div class="s4s-table-center">
      <table class="s4s-figure">
        <tbody>
          <tr>
            <td align="center">
              <img alt="MATLAB12" src="Student_Book_Matlab2_files/MATLAB122.JPG"/>
            </td>
          </tr>
        </tbody>
      </table>
    </div>
    <p class="s4s-noindent">Натискането на бутона "OK" ще позволи на MATLAB да разпознава вашата папка. Ако сега въведете командата </p>
    <p>
      <span style="font-family: Tahoma;">MAT1</span>
    </p>
    <p>във вашия команден прозорец, ще получите следния резултат: </p>
    <p>
      <span style="font-family: Tahoma;">y=5</span>
    </p>
    <p>което е това, което искаме. Ако вместо това се появи съобщение </p>
    <p>
      <span style="font-family: Tahoma;">??? Undefined function or variable 'MAT1'.</span>
    </p>
    <p>значи сте забравили да натиснете "OK" в прозореца на редактора на MATLAB. </p>
    <p>Ако има нужда да се правят промени, файлът може да се отвори и да се редактира. Например, ако искате да промениите <span style="font-family: Tahoma;">MAT1 </span> да изчислява <span style="font-family: Tahoma;">3+3</span>, съдържанието на файла трябва да се промени така </p>
    <p>
      <span style="font-family: Tahoma;">y=3+3</span>
    </p>
    <p> и да се затвори. Въвеждането на <span style="font-family: Tahoma;">MAT1 </span>в командния прозорец сега ще даде като отговор </p>
    <p>
      <span style="font-family: Tahoma;">y=6</span>
    </p>
    <p>Добре е във всеки М-файл да се добавят коментари, които да обясняват точно какво прави той. Те се добавят обикновено в началото на файла. Лесно е да редактирате файла, като поставите курсора в точката най-отгоре в левия край и да натиснете <math xmlns="http://www.w3.org/1998/Math/MathML"><mo>↩</mo></math>, при което първият ред от кода се премества на следващия ред. Всеки ред с коментари трябва да започва със символа "%". Това казва на MATLAB да игнорира този ред и да премине към следващ ред, който не съдържа "%". В първия ред на вашия M-файл въведете коментара</p>
    <p>
      <span style="color: Green; font-family: Tahoma;">%MAT1 - Calculates the sum of two numbers</span>
    </p>
    <p>Забележете, че MATLAB автоматично променя цвета на шрифта в зелен. Това помага за по-бързото визуално възприемане на скрипта.  Ако изпълните файла, ще получим същия резултат, както преди. Обаче, ако сте забравили да напишете най-отпред"%", MATLAB отговаря с </p>
    <p>
      <span style="color: Red; font-family: Tahoma;">??? Error: File: add.m Line: 2 Column: 18</span>
    </p>
    <p>
      <span style="color: Red; font-family: Tahoma;">Unexpected MATLAB expression</span>
      <span style="color: Red;">.</span>
    </p>
    <p>и няма да бъде извършено изчислението.  </p>
    <h2 class="s4s-section-numbered" id="SECTION.9ed3ce2b-8e10-4dc1-adcb-f2d79315ea31">
      <span class="s4s-section-number">2.4  </span>Създаване на функционален М-файл</h2>
    <p class="s4s-noindent">За да разберем разликата, сега ще създадем функционален файл, за събиране на две числа. Отворете друг М-файл. Запомнете го като <span style="font-family: Tahoma;">add </span> във вашата папка. (Засега друг М-файл с името <span style="font-family: Tahoma;">'add'</span> не съществува). Въведете следното:</p>
    <p>
      <span style="font-family: Tahoma;">function [out] = add(x,y)</span>
    </p>
    <p>
      <span style="color: Green; font-family: Tahoma;">%ADD - Calculates the sum of two numbers</span>
    </p>
    <p>
      <span style="font-family: Tahoma;">out=x+y;</span>
    </p>
    <p>и запомнете файла. Не пропускайте изискването да се сложи <span style="font-family: Tahoma;">"function [out] = add(x,y)" </span>в първия ред, последван от втори ред с коментар. Сега въведете </p>
    <p>
      <span style="font-family: Tahoma;">add(2,3)</span>
    </p>
    <p>Това ще даде отговор</p>
    <p>
      <span style="font-family: Tahoma;">ans=5</span>
    </p>
    <p>Можете да именувате отговора, да кажем с (<span style="font-family: Tahoma;">'y'</span>, като въведете </p>
    <p>
      <span style="font-family: Tahoma;">y=add(2,3)</span>
    </p>
    <p>което ще даде отговор </p>
    <p>
      <span style="font-family: Tahoma;">y=5</span>
    </p>
    <p class="s4s-empty-paragraph"> </p>
    <p class="s4s-empty-paragraph"/>
    <p class="s4s-empty-paragraph"/>
    <p class="s4s-empty-paragraph"> </p>
    <p class="s4s-empty-paragraph"> </p>
    <p class="s4s-empty-paragraph"/>
    <p>
      <span style="font-family: Tahoma;"> </span>
    </p>
    <p class="s4s-empty-paragraph"> </p>
    <p class="s4s-empty-paragraph"> </p>
  </body>
</html>