Рефераты. Система математических расчетов MATLAB

 Если данная директория не содержит файл Contents.m, то при вводе help Имя_Директории в командное окно выводится первая строка помощи (H1 line) для каждого файла директории.


Создание М-файлов: Использование текстовых редакторов

М-файлы представляют собой обычные текстовые файлы, которые вы создаете с использо-ванием текстового редактора. MATLAB содержит встроенный редактор, хотя в принципе мо-жно воспользоваться любым другим текстовым редактором.

Внимание! Для вызова редактора нужно в меню File выбрать New  и затем M-File.

Другой способ вызова редактира М-файла из командной строки состоит в использовании фу-нкции edit.  For example, при вводе


edit foo


MATLAB открывает встроенный текстовой редактор на файле foo.m. Если не указать имени файла, то будет вызван редактор с новым, неозаглавленным файлом. Вы можете создать фун-кцию fact, приведенную выше, путем открытия вашего текстового редактора, ввода показан-ных строк, и запоминанием текста в файле под названием fact.m в вашей текущей директо-рии.

После того как вы создали этот файл, его можно найти в списке файлов вашей текущей директории, для чего надо ввести команду


what

Можно также распечатать в командном окне файл командой


type fact

Наконец, вы можете вычислить факториал любого целого числа, например, 5-и


                                                                        fact(5)

                                                                    ans =

                                                                                120

Внимание! Сохраняйте все созданные или измененные вами М-файлы в директории (ката-логе), который не находится в дереве каталогов MATLAB-а. Если вы сохраните ваши          М-файлы в дереве каталогов MATLAB-а, они могут быть уничтожены при установке новой версии MATLAB-а.


Сценарии

Сценарии являются простейшим типом М-файлов, поскольку они не имеют входных или выходных аргументов. Они полезны для автоматизации последовательности команд, таких как обычные вычисления, которые приходится часто выполнять в командном окне. Сценарии работают над существующими данными в рабочем пространстве; вы также можете создавать новые данные при помощи сценариев. Все переменные, созданные в результате выполнения сценариев, остаются в главном рабочем простанстве MATLAB-а, так что вы можете исполь-зовать их для дальнейших вычислений.

Простой пример сценария

Приведенные ниже выражения вычисляют функцию rho для нескольких тригонометричес-ких функций угла theta, и строят серию графиков в полярной системе координат


                                   % An M–file script to produce              % Линия комментариев

                                   % "flower petal" plots

                                    theta = –pi:0.01:pi;                                % Вычисления

                                    rho(1,:) = 2*sin(5*theta).^2;

                                    rho(2,:) = cos(10*theta).^3;

                                    rho(3,:) = sin(theta).^2;

                                    rho(4,:) = 5*cos(3.5*theta).^3;

                                    for i = 1:4

                                             polar(theta,rho(i,:))                       % Вывод на графики

                                             pause

                                    end

Попробуйте ввести эти команды в М-файл, названный petals.m.  Этот файл является теперь сценарием MATLAB-а.  Ввод команды petals (лепестки) в командной строке MATLAB –а приводит к выполнению команд сценария. Команда pause приостанавливает выполнение цикла до нажатия какой-либо клавиши (например, Return). Таким образом, после того как сценарий отображает один график из четырех, нажатие клавиши Return приводит к появле-нию следующего. Здесь мы не имеем входных или выходных переменных; сценарий petals создает требуемые ему переменные в основном рабочем пространстве MATLAB-а. Когда вы-полнение сценария завершено, все созданные переменные (i, theta, и rho) остаются в рабо-чем пространстве. Вы можете убедиться в этом, вводя команду whos в командной строке.


Функции

Функции представляют собой М-файлы,  которые принимают входные аргументы и выдают выходные. Они работают над переменными в своем собственном рабочем пространстве, ко-торое не совпадает с основным рабочим пространством, доступном из командной строки MATLAB-а.

Простой пример функции

Функция average является простым М-файлом, который вычисляет среднее значение элемен-тов вектора.


                           function y = average(x)

                          % AVERAGE Mean of vector elements.

                          % AVERAGE(X), where X is a vector, is the mean of vector elements.

                          % Non-vector input results in an error.

                          [m,n] = size(x);

                          if (~((m == 1) | (n == 1)) | (m == 1 & n == 1))

                                  error('Input must be a vector')

                          end

                          y = sum(x) / length(x) ;      % Фактические вычисления


При вводе не векторной величины, данная функция выдает сообщение об ошибке (более точ-но, на дисплей выводится фраза «Вход должен быть вектором»). Вы можете ввести эти ко-манды в М-файл, названный average.m. Функция average допускает единственный вход и возвращает единственный выходной аргумент. Для обращения к данной функции, введите


                                                                   z = 1:99;

                                                                   average(z)

что даст следующий результат

                                                                   ans =

                                                                              50


Основные части синтаксиса М-функций

Функции в общем случае состоят из следующий частей:

  • Строка определения функции (The Function Definition Line)
  • Строка помощи  H1 (The H1 Line)
  • Текст помощи (Help Text)
  • Тело функции (The Function Body)
  • Комментарии (Comments)

Строка определения функции

Строка определения функции информирует систему MATLAB , что М-файл содержит функ-цию, и задает последовательность входных и выходных переменных. Для функции average эта строк имеет следующий вид:


где input argument – входной аргумент;

      function name – имя функции;

      output argument – выходной аргумент;

      keyword – зарезервированное слово;

 

Все функции MATLAB-а имеют линию определения функции, соответствующую данной схеме. Если функции имеют несколько выходных переменных, нужно заключить список этих переменных в квадратные скобки. Входные переменные, даже если их несколько, всегда заключаются в обычные скобки. Вот пример более сложной функции


function [x,y,z] = sphere(theta, phi, rho)


Если функция не имеет выходных переменных, оставьте выход пустым, например,


function printresults(x)

 

или используйте пустые квадратные скобки


function [ ] = printresults(x)

 

Переменные, которые вы передаете функции не обязательно должны иметь то же имя, что и в линии определения функции.


Строка помощи  H1

Строка H1, названная так потому что она является первой строкой текста помощи (Help text), является линией комментария, которая следует непосредственно за строкой определения фу-нкции. Поскольку она состоит из текста комментария, строка H1начинается с символа про-цента (%). Для функции average эта строка имеет вид


% AVERAGE Mean of vector elements.

(СРЕДНЕЕ  ЗНАЧЕНИЕ  Вычисление среднего значения векторов)

 

Эта строка является первой строкой текста, который появляется при вводе пользователем в командной строке команды


help function_name

 (help имя_функции)


Далее, функция lookfor производит поиск и выводит в командное окно тольку строку H1. Так как данная строка обеспечивает важную обобщающую информацию о М-файле, очень важно сделать ее по возможности более описательной.




Текст помощи

Вы можете создать возможность оперативной помощи  (справки) для вашей М-функции , пу-тем ввода одной или большего числа строк комментария, начинающихся непосредственно за строкой H1. Текст помощи для функции average имеет вид


% AVERAGE(X), where X is a vector, is the mean of vector elements.

                    % Nonvector input results in an error.

                     (% СРЕДНЕЕ(Х), где Х  является вектором, вычисляет среднее значение                   

                      %элементов вектора. Не векторный вход приводит к ошибке).


Когда вы вводите help function_name, MATLAB выводит линии комментариев, которые на-ходятся между строкой определения функции и первой строкой не комментариев (выполня-емой или пустой строкой). MATLAB игнорирует любые линии комментариев, которые появ-ляются за данным блоком текста помощи. Например, напечатав help sin получим


                                            SIN         Sine.

                                            SIN(X) is the sine of the elements of X.

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.