Лабораторная работа 1. Ознакомление с Matlab
Справочная информация о MatLab
Файл-функции и файл-программы
Встроенный язык программирования MatLab достаточно прост, он содержит необходимый минимум конструкций, которые описаны в следующем параграфе. Прежде чем программировать в MatLab, необходимо понять, что все программы могут быть либо файл-функциями, либо файл-программами. Файл-программа является текстовым файлом с расширением m (M-файлом), в котором записаны команды и операторы MatLab. Разберем, как создать простую файл-программу.
В MatLab имеется редактор M-файлов, для запуска которого следует нажать кнопку New M-file на панели инструментов рабочей среды, либо выбрать в меню File в пункте New подпункт M-file. На экране появляется окно редактора.
Для ввода вектора используются квадратные скобки, элементы вектора отделяются друг от друга:
- точкой с запятой, если требуется получить вектор–столбец;
- пробелом или запятой, если необходимо разместить элементы в вектор–строке.
>> a=[0.2; -3.9; 4.6];
>> b=[7.6; 0.1; 2.5];
>> u=[0.1 0.5 -3.7 8.1];
>> v=[5.2 9.7 3.4 –0.2];
Точка с запятой в конце каждой строки поставлена для подавления вывода на экран, она никак не связана с точкой с запятой, которая является разделителем элементов в вектор-столбцах.
Для получения длины вектора предназначена функция length, вектор указывается в качестве ее входного аргумента:
>> L=length(a)
L =
Создание комментариев:
% описание переменной
disp([‘x=’ num2str(x)])
disp([‘i=’ int2str(i)])
Матричные и поэлементные операции в Matlab
Поэлементные операции – точка перед символом математической операции
C=A*B; %матричное произведение
C=A.*B; % поэлементное умножение матриц
Простейшая файл-программа
x=[-1:0.01:1];
y=exp(x);
plot(x,y)
grid on
title('Экспоненциальная функция')
Для запуска программы или ее части есть несколько способов. Первый, самый простой — выделить операторы при помощи мыши, удерживая левую кнопку, и выбрать в меню View (в версии 5.3), или в меню Text (в версии 6.x) пункт Evaluate Selection (или нажать <F9>). Выделенные операторы выполняются последовательно, точно так же, как если бы они были набраны в командной строке.
Очевидно, что работать в M-файле удобнее, чем из командной строки, поскольку можно сохранить программу, добавить операторы, выполнять отдельные команды не пробегаясь по истории команд, как в случае командной строки.
После того, как программа сохранена в M-файле, к примеру в myprog.m, для ее запуска можно использовать пункт Run меню Tools (в версии 5.3), или меню Debug (в версии 6.x), либо набрать в командной строке имя M-файла (без расширения) и нажать <Enter>, то есть выполнить, как команду MatLab.
При таких способах запуска программы следует учесть важное обстоятельство — путь к каталогу с M-файлом должен быть известен MatLab. Сделайте каталог с файлом myprog текущим.
в меню File рабочей среды перейдите к пункту Set Path… Появляется диалоговое окно Path Browser (навигатор путей). В строке ввода Current Directory установите требуемый каталог.
Файл-функции
Файл-функции отличаются от файл-программ тем, что они могут иметь входные и выходные аргументы, а все переменные, определенные внутри файл-функции, являются локальными и не видны в рабочей среде. M-файл, содержащий файл-функцию, должен начинаться с заголовка, после него записываются операторы MatLab.
Заголовок состоит из слова function, списка выходных аргументов, имени файл-функции и списка входных аргументов. Аргументы в списках разделяются запятой. Листинг 5.2 содержит пример простейшей файл-функции с двумя входными и одним выходным аргументами.
Файл-функция mysum
function c=mysum(a,b)
c=a+b;
Всегда сохраняйте файл-функцию в M-файле, имя которого совпадает с именем файл-функции! Убедитесь, что каталог с файлом mysum.m является текущим и вызовите файл-функцию mysum из командной строки:
>> s=mysum(2,3)
Для просмотра значений локальных переменных при отладке файл-функций, очевидно, не следует подавлять вывод на экран значений требуемых переменных.
Практически все функции MatLab являются файл-функциями и хранятся в одноименных M-файлах.
Разберем теперь, как создать файл-функцию с несколькими выходными аргументами. Список выходных аргументов в заголовке файл-функции заключается в квадратные скобки, сами аргументы отделяются запятой. В качестве примера на листинге 5.3 приведена файл-функция quadeq, которая по заданным коэффициентам квадратного уравнения находит его корни.
Функции MatLab
Таблица 1 – Основные математические функции
Тригонометрические функции (аргумент задаётся в радианах) | ||
sin, cos, tan, cot | Синус, косинус, тангенс и котангенс | |
Экспоненциальная функция, логарифмы, степенные функции | ||
exp | Экспоненциальная функция | |
log, log2, log10 | Натуральный логарифм, логарифмы по основанию 2 и 10 | |
sqrt | Квадратный корень | |
Модуль, знак и функции для работы с комплексными числами | ||
abs, sign | Модуль и знак числа | |
Таблица 2 – Функции обработки данных
Функции | Назначение |
s=sum(a) | Сумма всех элементов вектора a |
p=prod(a) | Произведение всех элементов вектора a |
m=max(a) | Нахождение максимального значения среди элементов вектора a |
[m,k]=max(a) | Второй выходной аргумент k содержит номер максимального элемента в векторе a |
m=min(a) | Нахождение минимального значения среди элементов вектора a |
[m,k]=min(a) | Второй выходной аргумент k содержит номер минимального элемента в векторе a |
m=mean(a) | Вычисление среднего арифметического элементов вектора a |
a1=sort(a) | Упорядочение элементов вектора по возрастанию |
[a1,ind]=sort(a) | Второй выходной аргумент ind является вектором из целых чисел от 1 до length(a), который соответствует проделанным перестановкам |
a = 10; b = 50; x = a + (b-a) * rand | Генерация случайной величины в интервале [a,b] |
Операторы MatLab
Простейшая файл-программа
x=[-1:0.01:1];
y=exp(x);
plot(x,y)
grid on
title('Экспоненциальная функция')
Файл-функция mysum
function c=mysum(a,b)
c=a+b;
Варианты построения графика
x=[0:0.01:1];
y=myfun(x);
plot(x,y)
Или
figure
fplot('myfun',[0,1])
Лабораторная работа 1. Ознакомление с Matlab
Дата: 2019-02-24, просмотров: 192.