Краткое описание работы в matlab — КиберПедия 

История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...

Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...

Краткое описание работы в matlab

2022-09-11 16
Краткое описание работы в matlab 0.00 из 5.00 0 оценок
Заказать работу

КРАТКОЕ ОПИСАНИЕ РАБОТЫ В MATLAB

 

РАБОТА В КОМАНДНОМ РЕЖИМЕ

 

Работа MATLAB возможна в двух режимах: командном режиме и режиме выполнения m-файла. 

Работа системы в командном режиме напоминает работу в качестве калькулятора. В командной строке MATLAB после символа» можно сразу вводить исходные данные для вычисления с помощью встроенного текстового редактора. Ввод данных завершается нажатием клавиши ENTER.

Результаты вычислений выводятся с новой строки (без маркера»). Для блокировки вывода результатов вычислений некоторого выражения его надо закончить знаком; (точка с запятой). Это бывает удобным для скрытия результатов промежуточных вычислений.

В качестве знака присваивания используется знак равенства =. Например, ввод строки x = 1 означает объявление и инициализацию переменной x.

Имя переменной может содержать до 30 символов и должно не совпадать с именами функций, процедур системы и системных переменных. При этом система различает большие и маленькие буквы в переменных, т.е. переменные ааа и ААА в MATLAB обозначают разные переменные.

Система MATLAB имеет несколько имен переменных, которые используются самой системой и входят в состав зарезервированных: 

  i, j – мнимая единица (корень квадратный из –1);   pi – число π (сохраняется в виде 3.141592653589793);   inf – обозначение машинной бесконечности; 

  NaN – обозначение неопределённого результата (например, типа

0/0 или inf/inf);   eps – погрешность операций над числами с плавающей запятой;   ans – результат последней операции без знака присваивания;   realmax и realmin – максимально и минимально возможные ве-

личины числа, которые могут быть использованы. 

Эти переменные можно использовать в математических выражениях. 

Встроенные функции записываются строчными буквами, а их аргументы приводятся в круглых скобках, например, sin(x).

В одном сеансе работы системы MATLAB можно определить несколько переменных и/или вычислить несколько выражений, например:

 

» a=1, b=5, c=a+b Вводится с клавиатуры
a=            1 b=     Ответ системы

                  5

c=

                  6

Для вывода значения конкретной переменной достаточно ввести её имя, например:

 

» a         Вводится с клавиатуры a=       Ответ системы

                  1

Если вывод результата вычисления только что введённого выражения не заблокирован и не указана переменная, значение которой необходимо вывести, то система MATLAB сама назначает такую переменную с именем ans, присваивает ей значение последнего выражения и выводит её как результат вычислений, например:

 

» sin(pi/2)           Вводится с клавиатуры ans=   Ответ системы

                  1

 

Числа, матрицы и векторы

 

Система MATLAB изначально создавалась как «матричный вычислитель» и оптимизирована для проведения вычислений с векторами, матрицами и массивами. Более того, в системе по умолчанию предполагается, что каждая переменная – это вектор или матрица. Например, если задано X = 1, то система воспринимает это как задание вектора с единственным элементом, значение которого равно 1. В свою очередь, вектор – это матрица, число столбцов которой равно 1.

Для задания вектора с большим числом элементов, их значения надо перечислить в квадратных скобках, используя в качестве разделителя пробел или запятую. Задание матриц осуществляется аналогично, для разделения строк используется знак; (точка с запятой) Например:

 

             » X = [1 2 3 4]                                 Задание вектора из 4 элементов

X =   Ответ системы

1 2 3 4

              » Y = [1 2; 4 5]                              Задание матрицы 2×2

Y =   Ответ системы

1 2

3 4

 

В MATLAB предусмотрено наличие большого количества операций, которые можно совершать с матрицами и векторами. Среди них:

• сложение, вычитание (+,–);

• умножение (*);

• обращение (inv);

• деление слева направо (/) и справа налево (\);

• возведение в степень (^);

• транспонирование (‘);

• создание нижней треугольной матрицы А: tril(A);

• создание верхней треугольной матрицы А: triu(A);

• формирование единичной матрицы заданного размера n: eye(n);

• формирование матрицы            единиц заданного размера       n × m:

ones(n,m). Для создания квадратной матрицы: ones(n);

• формирование матрицы нулей заданного размера n × m: ze-

ros(n,m). Для создания квадратной матрицы: zeros(n);

• извлечение диагонали заданной матрицы А: daig(A);

• вычисление следа матрицы А: trace(A); • собственные числа матрицы А: eig(A);

 

Математические функции

 

В MATLAB предусмотрено наличие большого числа встроенных математических функций [1]. Среди них:

– элементарные функции:

sin(Z), cos(Z), tan(Z), cot(Z), sec(Z), csc(Z) – синус, косинус, тангенс, котангенс числа Z; 

sinh(Z), cosh(Z), tanh(Z), coth(Z), sech(Z), csch(Z) – гиперболические синус, косинус, тангенс, котангенс, секанс, косеканс числа Z; 

asin(Z), acos(Z), atan(Z), acot(Z), asec(Z), acsc(Z) – арксинус (в радианах в диапазоне от -π/2 до +π/2), арккосинус (в диапазоне от 0 до π), арктангенс (в диапазоне от -π/2 до +π/2), арккотангенс, арксеканс, арккосеканс;

asinh(Z), acosh(Z), atanh(Z), acoth(Z), asech(Z), acsch(Z) – обратные гиперболические синус, косинус, тангенс, котангенс, секанс, косеканс; 

exp(Z) – экспонента числа Z;

log(Z) – натуральный логарифм;

log10(Z) – десятичный логарифм; • sqrt(Z) – квадратный корень из числа Z;

abs(Z) – модуль числа Z.

round(Z) – обычное округление числа Z к ближайшему целому;

mod(X,Y) – целочисленное деление X на Y;

rem(X,Y) – вычисление остатка от деления X на Y;

sign(Z) – вычисление сигнум-функции числа Z; – функции комплексного аргумента.

Практически все вышеперечисленные элементарные математические функции вычисляются при комплексных значениях аргумента и получают в результате этого комплексные значения результата. Например, функция sqrt вычисляет, в отличие от других языков программирования, квадратный корень из отрицательного аргумента, а функция abs при комплексном значении аргумента вычисляет модуль комплексного числа.

В MATLAB есть несколько дополнительных функций, рассчитанных только на комплексный аргумент: 

real(Z) – выделяет действительную часть комплексного аргумен-

та Z; 

imag(Z) – выделяет мнимую часть комплексного аргумента; 

angle(Z) – вычисляет значение аргумента комплексного числа Z

(в радианах в диапазоне от –π до +π); 

conj(Z) – выдает число, комплексно сопряжённое относительно Z.

 

Построение графиков

 

Одной из самых привлекательных черт системы MATLAB является визуализация вычислений. Для построения графиков функций может использоваться функция plot.

Эта функция имеет различные формы записи в зависимости от набора входных аргументов. Если y – вектор, функция plot(y) производит построение кусочно-линейного графика элементов y в зависимости от индекса элементов y. Если функция plot(x,y) имеет два векторных аргумента одинаковой размерности, то будет построен график y в зависимости от x.

Функция plot может иметь несколько пар аргументов x – y. В этом случае она изображает несколько функций y(x) кривыми разного цвета, используя предопределённый (но изменяемый пользователем) список цветов. Например, plot(x1, y1, x2, y2, x3, y3) – выстраиваются три графика функции: y1(x1), y2(x2), y3(x3).

Также имеется возможность определять цвет, стиль линии и маркеры с помощью ещё одного аргумента функции plot:

plot(x,y,'color_style_marker')

где color_style_marker – это символьная строка (ограниченная одиночными кавычками), характеризующая цвет, стиль линии и тип маркера:

• символы определения цвета: 'c', 'm', 'y', 'r', 'g', 'b', 'w', 'k'. Они соответствуют цветам cyan, magenta, yellow, red, green, blue, white, black;

• обозначения стиля линии: '-' сплошная, '--' пунктирная, ':' штриховая, '-.' штрихпунктирная;

• типы маркера: '+', 'o', '*', 'x'.

Например, выражение: plot(x, y, 'r--o') вычерчивает красную пунктирную кривую и устанавливает маркеры «кружок» в каждой точке данных. 

Любая из трёх перечисленных составляющих color_style_marker может быть пропущена. Если определяется тип маркера, а стиль линии опущен, система MATLAB строит только маркеры для этой кривой.

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

Нанесение координатной сетки на график осуществляется с помощью функции grid, к которой следует обратиться сразу после обращения к функции plot:

» plot(x, y), grid

Заголовок графика выводится с помощью процедуры title. Если после обращения к процедуре plot вызвать title таким образом: title(‘<текст>’),

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

Аналогично можно вывести объяснения к графику, которые размещаются вдоль горизонтальной оси (функция xlabel) и вдоль вертикальной оси (функция ylabel). 

Например, совокупность операторов 

» x = -4*pi: pi/100: 4*pi; 

» y = 2* sin(x+pi/3); 

» plot(x,y), grid; 

» title('Функция y = 2*sin(x+pi/3)'); 

» xlabel('x'); ylabel('y'); приведёт к оформлению поля фигуры в виде:

 

 

 

 

 

Создание Script-файлов

 

При создании Script-файлов учитываются следующие особенности

[1]: 

• Script-файлы являются независимо (самостоятельно) исполняемыми блоками операторов и команд; 

• все используемые переменные образуют так называемое рабочее пространство (Workspace), которое является общим для всех исполняемых Script-файлов; из этого следует, что при выполнении нескольких Scriptфайлов имена переменных в них должны быть согласованы, так как одно имя означает в каждом из них один и тот же объект вычислений; 

• в них отсутствует заголовок, т.е. первая строка определённого вида и назначения (в отличие от файл-функций, которые начинаются с заголовка function); 

• обращение к ним не требует указания никаких имен переменных:

все переменные формируются в результате выполнения программы либо сформированы ранее и существуют в рабочем пространстве.

 

Ветвление и циклы

 

В языке MATLAB для организации ветвления используются команды if и switch.

Общая форма записи оператора if имеет вид if <условие 1>

<группа операторов>;

[elseif <условие 2>]

[<группа операторов>; ]

Else

<группа операторов>; end

Пример. Разработать m-файл-функцию, осуществляющую определение знака числа. 

1, x > 0;  sgn(x) = 0,    x = 0; −1, x < 0.

Функция будет располагаться в m-файле signum.m.

function у = signum(x) if х > 0 у = 1; elseif х == 0 y = 0; 

else 

y = –1; end

Команда switch позволяет осуществлять ветвление по нескольким условиям (направлениям) так же просто, как и с двумя, причём условия рассматриваются на равенство. Ниже представлен простой пример с разделением на три условия формирования параметра ввода.

function у = count(х) switch х 

case 1 у = 'one'; case 2 

у = 'two'; otherwise у = 'many'; end

Здесь выражение switch вычисляет параметр ввода х, а затем выполнение программы в файле переходит туда, где выражение case имеет то же самое значение, что и параметр ввода. Таким образом, если параметр ввода х имеет значение, равное 1, тогда параметр вывода у определяется в виде строки 'one', если х равен 2, тогда у определяется в виде строки 'two'. После выполнения всех команд, следующих за выбранным условием, программа MATLAB встречает либо другое выражение case, либо выражение otherwise, что приводит к переходу выполнения программы к выражению end.

В языке MATLAB для организации циклов используются команды for и while.

Организация цикла с помощью команды for выглядит следующим образом:

for n=n_0: [step:] n_k

             [тело цикла]

End

Цикл начинается с выражения for и заканчивается выражением end.

Величины n_0 – начальное значение переменной цикла, step – шаг, n_k – конечное значение переменной цикла.

Пример. Требуется вычислить 10!.

Фрагмент кода для определения факториала представлен ниже. Он может быть выполнен непосредственно в командном режиме

f=1;

for n=2:1:10

          f=f*n;

end

f

 

f=

          3628800

 

Организация цикла с помощью команды while выглядит следующим образом:

while <условие>

             [тело цикла]

End

Цикл while продолжаетсядо тех пор, пока <условие> истинно.

    Пример: вычислить ряд 1 с точностью 10−9 .

2 n

n = 1; oldsum = -1; newsum = 0; 

while (newsum-oldsum)>1e-9 oldsum = newsum; newsum = newsum + 1/(n^2); n = n +1; end newsum 

 

newsum =

 1.6449

          

Фрагмент кода для вычисления ряда представлен ниже. Он может быть выполнен непосредственно в командном режиме.

Иногда бывает необходимо, чтобы программа MATLAB преждевременно вышла из цикла, например, при возникновении определённого условия. Для этой цели используется команда break.

 

КРАТКОЕ ОПИСАНИЕ РАБОТЫ В MATLAB

 

РАБОТА В КОМАНДНОМ РЕЖИМЕ

 

Работа MATLAB возможна в двух режимах: командном режиме и режиме выполнения m-файла. 

Работа системы в командном режиме напоминает работу в качестве калькулятора. В командной строке MATLAB после символа» можно сразу вводить исходные данные для вычисления с помощью встроенного текстового редактора. Ввод данных завершается нажатием клавиши ENTER.

Результаты вычислений выводятся с новой строки (без маркера»). Для блокировки вывода результатов вычислений некоторого выражения его надо закончить знаком; (точка с запятой). Это бывает удобным для скрытия результатов промежуточных вычислений.

В качестве знака присваивания используется знак равенства =. Например, ввод строки x = 1 означает объявление и инициализацию переменной x.

Имя переменной может содержать до 30 символов и должно не совпадать с именами функций, процедур системы и системных переменных. При этом система различает большие и маленькие буквы в переменных, т.е. переменные ааа и ААА в MATLAB обозначают разные переменные.

Система MATLAB имеет несколько имен переменных, которые используются самой системой и входят в состав зарезервированных: 

  i, j – мнимая единица (корень квадратный из –1);   pi – число π (сохраняется в виде 3.141592653589793);   inf – обозначение машинной бесконечности; 

  NaN – обозначение неопределённого результата (например, типа

0/0 или inf/inf);   eps – погрешность операций над числами с плавающей запятой;   ans – результат последней операции без знака присваивания;   realmax и realmin – максимально и минимально возможные ве-

личины числа, которые могут быть использованы. 

Эти переменные можно использовать в математических выражениях. 

Встроенные функции записываются строчными буквами, а их аргументы приводятся в круглых скобках, например, sin(x).

В одном сеансе работы системы MATLAB можно определить несколько переменных и/или вычислить несколько выражений, например:

 

» a=1, b=5, c=a+b Вводится с клавиатуры
a=            1 b=     Ответ системы

                  5

c=

                  6

Для вывода значения конкретной переменной достаточно ввести её имя, например:

 

» a         Вводится с клавиатуры a=       Ответ системы

                  1

Если вывод результата вычисления только что введённого выражения не заблокирован и не указана переменная, значение которой необходимо вывести, то система MATLAB сама назначает такую переменную с именем ans, присваивает ей значение последнего выражения и выводит её как результат вычислений, например:

 

» sin(pi/2)           Вводится с клавиатуры ans=   Ответ системы

                  1

 

Числа, матрицы и векторы

 

Система MATLAB изначально создавалась как «матричный вычислитель» и оптимизирована для проведения вычислений с векторами, матрицами и массивами. Более того, в системе по умолчанию предполагается, что каждая переменная – это вектор или матрица. Например, если задано X = 1, то система воспринимает это как задание вектора с единственным элементом, значение которого равно 1. В свою очередь, вектор – это матрица, число столбцов которой равно 1.

Для задания вектора с большим числом элементов, их значения надо перечислить в квадратных скобках, используя в качестве разделителя пробел или запятую. Задание матриц осуществляется аналогично, для разделения строк используется знак; (точка с запятой) Например:

 

             » X = [1 2 3 4]                                 Задание вектора из 4 элементов

X =   Ответ системы

1 2 3 4

              » Y = [1 2; 4 5]                              Задание матрицы 2×2

Y =   Ответ системы

1 2

3 4

 

В MATLAB предусмотрено наличие большого количества операций, которые можно совершать с матрицами и векторами. Среди них:

• сложение, вычитание (+,–);

• умножение (*);

• обращение (inv);

• деление слева направо (/) и справа налево (\);

• возведение в степень (^);

• транспонирование (‘);

• создание нижней треугольной матрицы А: tril(A);

• создание верхней треугольной матрицы А: triu(A);

• формирование единичной матрицы заданного размера n: eye(n);

• формирование матрицы            единиц заданного размера       n × m:

ones(n,m). Для создания квадратной матрицы: ones(n);

• формирование матрицы нулей заданного размера n × m: ze-

ros(n,m). Для создания квадратной матрицы: zeros(n);

• извлечение диагонали заданной матрицы А: daig(A);

• вычисление следа матрицы А: trace(A); • собственные числа матрицы А: eig(A);

 

Математические функции

 

В MATLAB предусмотрено наличие большого числа встроенных математических функций [1]. Среди них:

– элементарные функции:

sin(Z), cos(Z), tan(Z), cot(Z), sec(Z), csc(Z) – синус, косинус, тангенс, котангенс числа Z; 

sinh(Z), cosh(Z), tanh(Z), coth(Z), sech(Z), csch(Z) – гиперболические синус, косинус, тангенс, котангенс, секанс, косеканс числа Z; 

asin(Z), acos(Z), atan(Z), acot(Z), asec(Z), acsc(Z) – арксинус (в радианах в диапазоне от -π/2 до +π/2), арккосинус (в диапазоне от 0 до π), арктангенс (в диапазоне от -π/2 до +π/2), арккотангенс, арксеканс, арккосеканс;

asinh(Z), acosh(Z), atanh(Z), acoth(Z), asech(Z), acsch(Z) – обратные гиперболические синус, косинус, тангенс, котангенс, секанс, косеканс; 

exp(Z) – экспонента числа Z;

log(Z) – натуральный логарифм;

log10(Z) – десятичный логарифм; • sqrt(Z) – квадратный корень из числа Z;

abs(Z) – модуль числа Z.

round(Z) – обычное округление числа Z к ближайшему целому;

mod(X,Y) – целочисленное деление X на Y;

rem(X,Y) – вычисление остатка от деления X на Y;

sign(Z) – вычисление сигнум-функции числа Z; – функции комплексного аргумента.

Практически все вышеперечисленные элементарные математические функции вычисляются при комплексных значениях аргумента и получают в результате этого комплексные значения результата. Например, функция sqrt вычисляет, в отличие от других языков программирования, квадратный корень из отрицательного аргумента, а функция abs при комплексном значении аргумента вычисляет модуль комплексного числа.

В MATLAB есть несколько дополнительных функций, рассчитанных только на комплексный аргумент: 

real(Z) – выделяет действительную часть комплексного аргумен-

та Z; 

imag(Z) – выделяет мнимую часть комплексного аргумента; 

angle(Z) – вычисляет значение аргумента комплексного числа Z

(в радианах в диапазоне от –π до +π); 

conj(Z) – выдает число, комплексно сопряжённое относительно Z.

 


Поделиться с друзьями:

Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьше­ния длины пробега и улучшения маневрирования ВС при...

Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...

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

Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.112 с.