Создание М-функций и М-сценариев 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Создание М-функций и М-сценариев



M–файлы это обычные текстовые файлы, которые создаются с помощью текстового редактора. Существуют два типа М–файлов: М–сцена­рии и М– функции. М–сценарии предназначены для автоматизации вычисле­ний, которые многократно должны были бы вводится из командной строки. У них нет вводных и выходных параметров. Они задаются в самой программе. М– функции предназначены для расширения возможностей языка MATLAB (биб­лиотека функций, пакеты прикладных программ), допускают входные и выход­ные параметры. Для создания М–файлов надо открыть новый файл опцией New илиредактор/отладчик edit.

M–файл в системе MATLAB должен иметь определённую структуру. Структура М–функции включает следующие компоненты:

· строка определения М–функции – задает имя, количество и порядок следования входных и выходных аргументов;

· первая строка комментария – определяет назначение функции. Она выводится на экран с помощью команды help<имя каталога>;

· комментарий – выводится на экран вместе с первой строкой при использовании команды help<имя функции>;

· тела функции – это программный код, который реализует вычисления и присваивает значения выходным аргументам.;

· строчные комментарии.

Пример М-функции: вычисление n факториала

Function f = fact(n)

% FACT Вычисление факториала.

% fact(n) возвращает n! = факториал числа n.

% prod(1:n) – вычисляет произведение чисел от 1 до n.

Чтобы создать функцию fact надо в окне редактора ввести строки текста и сохранит их в файле с именем fact.m текущем каталоге. Если функция имеет более одного выходного аргумента, то его список заключается в квадратные скобки. Примеры: f = fact(n); [x,y,z] = sphere(theta, phi,rho]. М – функции можно вызвать из командной строки или из других фай­лов, указав входные аргументы в круглых скобках, выходные - в квадратных скобках. Функции nargin и nargout позволяют определить количество входных и выходных параметров вызываемой функции.

Арифметические, логические операции в системе MATHLAB.

Для арифметических операторов установлены следующие приоритеты.

Уровень 1: поэлементное транспонирование (.’), поэлементное возведение в степень (.^), эрмитово-сопряженное транспонирование матрицы (‘), возведение матрицы в степень (‘).

Уровень 2: унарное сложение (+), унарное вычитание (-).

Уровень 3: умножение массивов (.*), правое деление (./), левое деление мас­сивов (.\), умножение матриц (*), решение линейных уравнений - операция (/), операция (\).

Уровень 4: сложение (+), вычитание (-).

Уровень 5: оператор формирования массивов (:).

Логические операции &, |, ~ соответствуют операторам булевой алгебры AND, OR, NOT. Массив рассматривается как совокупность булевых перемен­ных и логические операции реализует поэлементное сравнение массивов одина­ковых размерностей.

Операции с векторами и матрицами в системе MATHLAB.

Массив – упорядоченная, пронумерованная совокупность однородных данных, имеющая одно имя. Доступ к отдельным элементам массива осуществляется по целочисленному индексу, то есть по номеру элемента в массиве. В зависимости от количества индексов, определяющих положение элемента в массиве, массивы разделяют на одномерные (вектора-строки, вектора-столбцы), двумерные (матрицы) и многомерные.

MatLab представляет все данные в виде массива, даже число – это двумерный массив с размерностью один на один.

Работа с векторами.

Вектора - это одномерные (линейные) числовые наборы чисел, в которых позиция каждого элемента задается единственным числом – его номером.

Задание векторов

>> a1=[3 4 9 2] – вектор-строка

>> a1=[3, 4, 9, 2] – вектор-строка

>> a1=[3; 4; 9; 2] – вектор-столбец

Доступ к элементам вектора осуществляется заданием его индекса в круглых скобках после имени.

Задание векторов с помощью операции «:». Пусть требуется сформировать одномерный массив чисел в диапазоне от 3.7 до 8.947 с приращением 0.3. Это легко достигается с помощью оператора «двоеточие». С помощью функции length можно определить, сколько элементов попало в вектор.

>> mas=3.7:0.3:8.947;

>> length(mas)

ans =



Поделиться:


Последнее изменение этой страницы: 2017-02-10; просмотров: 149; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.217.203.172 (0.004 с.)