Elettracompany.com

Компьютерный справочник
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Matlab команды и функции

Стандартные функции Matlab

Все операции в Matlab ориентированы прежде всего на работу с матрицами, но могут выть использованы при работе с векторами и скалярными переменными.

Элементарные функции Matlab. К ним относятся следующие функции:

sin(x) sinh(x) asin(x) asinh(x)

cos(x) cosh(x) acos(x) acosh(x)

tan(x) tanh(x) atan(x) atan2(x,y) atanh(x)

cot(x) coth(x) acot(x) acoth(x)

exp(x) log(x) log10(x) log2(x) pow2(x) sqrt(x)

Функции комплексного аргумента:

abs(z) – модуль комплексного числа; angle(z) – аргумент;

complex(x, y) – формирование комплексного числа x+y*i;

conj(z) – возвращает комплексно-сопряженное (по отношению к z) число;

real(z) – возвращает действительную часть; imag(z) – мнимую часть.

Функции округления и нецелочисленного деления:

fix(x) – округление в сторону к нулю, floor(x) – к –¥, ceil(x) – к +¥,

round(x) – до ближайшего целого;

mod(x, y) – остаток от деления x/y с учетом знака,

rem(x, y) – то же, без учета знака;

sign(x) – знак числа (+1/–1).

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

Пример 1. Разный тип параметров

» x=-8; X=[5 -1 -2]; A=[1 2 -3; -5 6 7]; z=3-4i;

Различают матричные и поэлементные арифметические операции.

+ – уточнение знака (унарная), сложение;

– – изменение знака (унарная), вычитание;

Поскольку математический смысл операций матричного и поэлементного сложения и вычитания идентичен:

C = A ± B означает

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

* – скалярное матричное умножение;

^ – матричное возведение в степень;

.^ – поэлементное возведение в степень;

– матричное деление слева;

/ – матричное деление справа;

.’ – несопряженное транспонирование (унарная).

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

В операциях +, –, .*, ./ и .^ либо оба операнда должны иметь одинаковую размерность, либо один из операндов должен быть скалярной величиной.

» A=[1 2 3; 4 5 6]; B=[7 8 9; 3 2 1];

7.0000 4.0000 3.0000

0.7500 0.4000 0.1667

0.7000 0.8000 0.9000

0.3000 0.2000 0.1000

Для операции * (матричное произведение) матрица-сомножитель2 должна иметь столько строк, сколько столбцов имеет матрица-сомножитель1:

Inner matrix dimensions must agree.

Операции транспонирования ‘ и .’ для матриц с действительными коэффициентами абсолютно равнозначны:

Для комплексных чисел и матриц с комплексными коэффициентами операция ‘ дает транспонированную сопряженную матрицу, а операция .’ – транспонированную несопряженную:

» Ac=[1+2i 1+3i 1+4i; 2+3i 2+4i 2+5i];

1.0000 — 2.0000i 2.0000 — 3.0000i

1.0000 — 3.0000i 2.0000 — 4.0000i

1.0000 — 4.0000i 2.0000 — 5.0000i

1.0000 + 2.0000i 2.0000 + 3.0000i

1.0000 + 3.0000i 2.0000 + 4.0000i

1.0000 + 4.0000i 2.0000 + 5.0000i

Операция ^ (матричное возведение в степень) выполняется только для квадратных матриц, и означает умножение матрицы саму на себя заданное число раз (второй операнд обязательно скаляр):

-0.9100 — 3.5442i 0.4163 + 1.6212i

0.6244 + 2.4318i -0.2856 — 1.1124i

генерирует обратную матрицу D -1 .

Операция X/Y эквивалентна X*Y -1 , операция XY – операции X -1 *Y.

Последняя операция широко используется при решении систем линейных уравнений вида

Действительно, представив систему уравнений в матричной форме:

и умножив обе части последнего уравнения на A -1 слева, получим:

A -1 * A * X = A -1 * B,

откуда решение системы уравнений:

Пример. Решить систему уравнений

Решение сводится к набору в интерактивном режиме следующих команд:

Проверку вычисления корней можно выполнить следующим образом:

| – логическое «или» (0|0 – 0, 1|0 – 1, 0|1 – 1, 1|1 – 1);

xor – логическое исключающее «или» (0xor0 – 0, 0xor1 – 1, 1xor0 – 1, 1xor1 – 0);

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

Операции отношения (сравнения)

> – больше; >= – больше или равно; 1

» A=[1 8 3; 6 2 5]; B=[4 3 1; 2 6 8];

» A d 0 , 10 dk ]. Шаг по показателю степени hd= . Отношение двух соседних элементов есть величина постоянная =10 hd .

10 100 1000 10000

1.0000 2.0000 3.0000 4.0000

zeros – матрица, состоящая из нулей; ones – матрица, состоящая из единиц;

rand – матрица, состоящая из случ. чисел с равномерным распределением;

randn – матрица, состоящая из случ. Чисел с нормальным распределением.

zeros(n) – формирует квадратную матрицу n´n, состоящую из нулей;

zeros(m, n) – формирует матрицу m´n, состоящую из нулей;

(zeros(1, n) – вектор-строка; zeros(m, 1) – вектор-столбец)

zeros(size(A)) – формирует матрицу, состоящую из нулей, той же размерности, что и матрица A.

Формат обращения к функциям ones, rand и randn аналогичный.

Разницу между функциями rand и randn можно показать графически:

» xr=rand(1,100); xrs=sort(xr); bar(xrs)

» yr=randn(1,100); yrs=sort(yr); bar(yrs)

eye(n) – формирует единичную диагональную матрицу n´n.

diag(B) (B – двухмерная матрица) – выделяет главную диагональ матрицы B и помещает ее в вектор-столбец;

diag(x) (x – вектор) – формирует диагональную матрицу, используя вектор x в качестве главной диагонали.

» A=[1 2 3; 4 5 6; 7 8 9];

Манипуляции с матрицами

tril (A) – формирует треугольную матрицу как нижнюю часть от матрицы A;

triu(A) – формирует треугольную матрицу как верхнюю часть от матрицы А.

» A=[1 2 3; 4 5 6; 7 8 9];

lu(A) – разложение Холецкого – заменяет квадратную матрицу A скалярным произведением двух треугольных матриц L и U методом Гаусса:

» A=[1 2 3; 4 5 6; 7 8 9];

0.5714 0.5000 1.0000

7.0000 8.0000 9.0000

inv(A) – возвращает матрицу A -1 , обратную заданной квадратной матрице A;

det(A) – возвращает определитель квадратной матрицы A.

fliplr(A) – поворот матрицы A на 180° в горизонтальном направлении;

Читать еще:  Сызнова index php threads

flipud(A) – поворот матрицы A на 180° в вертикальном направлении;

rot90(A) – поворот матрицы A на 90° против часовой стрелки;

rot90(A, k) – поворот матрицы A на k*90° против часовой стрелки (k – целое число).

Манипуляции с векторами

cross(x, y) – векторное произведение векторов x и y в трехмерном пространстве;

cross(A, B, dim) – векторное произведение многомерных массивов A и B по размерности dim;

dot(x, y) – скалярное произведение векторов x и y;

dot(A, B, dim) – скал. произведение многомерных массивов A и B по размерности dim.

Длины векторов x и y, а также длина матриц A и B по размерности dim должны быть равны 3.

Базовые операции анализа

Пусть a,b,c – числа, х,у,z – векторы, А,В,C – матрицы.

c=max(a, b) – возвращает максимальное из двух чисел a и b (при комплексных аргументах по умолчанию сравниваются модули):

z=max(x, y) – вектор той же размерности, что x и y, составленный из максимальных элементов векторов;

C=max(A, B) – матрица той же размерности, что и , составленная из максимальных элементов матриц.

xmax=max(x) – максимальный элемент вектора x;

[xmax, imax]=max(x) – дополнительно записывает адрес максимального элемента в числовую переменную imax (если максимальных элементов несколько, возвращается адрес первого из них);

amax=max(A) – возвращает вектор-строку amax из максимальных элементов столбцов матрицы А;

[amax, imax]=max(A) – дополнительно формируется вектор-строка imax, составленный из номеров строк, в которых расположены максимальные элементы столбцов.

» a=1; b=2; x=[1 3 2]; y=[2 1 3]; A=[1 2 3; 4 5 6]; B=[3 2 1; 6 5 4];

Работа с окном команд и редактором в MATLAB

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

1 Работа с окном команд в среде MATLAB

В среде MATLAB есть несколько режимов работы. Самый простой – это ввод команд непосредственно в окно команд (Command Window).

Окно команд MATLAB

Если оно не видно в интерфейсе программы, откроем его. Найти окно команд можно через меню Desktop Command Window.

Давайте для примера введём в это окно последовательно друг за другом команды

и нажмём клавишу «Ввод» (Enter). Программа моментально создаст переменную X, создаст переменную Y и посчитает её значения по заданной функции, а затем построит её график.

Стрелками клавиатуры вверх и вниз в окне команд мы можем переключаться между введёнными командами, тут же изменять их, а по нажатию Enter отправлять среде MATLAB на исполнение. Стрелками влево и вправо можно перемещаться по введённой команде и редактировать её. Если в конце команды стоит точка с запятой, то результат будет посчитан, но не будет выведен в окно команд; в противном случае результат выполнения команды будет отображён тут же. По любой функции в среде MATLAB есть подробная встроенная справка. Например, чтобы получить справку по команде plot, выделите эту команду, нажмите на неё правой кнопкой мыши, и в открывшемся контекстном меню выберите пункт Help on Selection или нажмите клавишу F1.

Получение справки по командам MATLAB

Удобно? Безусловно. И главное – очень быстро. Все эти действия занимают несколько секунд.

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

2 Работа с редактором в среде MATLAB

Чтобы упростить жизнь учёному, инженеру или студенту, служит окно редактора (Editor). Давайте откроем окно редактора через меню Desktop Editor.

Открытие редактора MATLAB

В окне редактора можно создавать новые переменные, строить графики, писать программы (скрипты), создавать компоненты для обмена с другими средами, создавать приложения с пользовательским интерфейсом (GUI), а также редактировать имеющиеся.

Нас в данный момент интересует написание программы, содержащей функции для повторного использования в будущем. Поэтому идём в меню File редактора и выбираем New M-File.

Создание нового M-файла в MATLAB

М-файлами в среде МАТЛАБ называются файлы, содержащие текст программ (скрипты) или определённые пользователем функции.

Давайте напишем в редакторе простую функцию draw_plot:

Ввод текста программы в окне редактора MATLAB

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

Не забудем сохранить программу. Стандартное расширение файла с программой МАТЛАБ – *.m. Теперь закройте редактор и окно с графиком, который мы построили ранее.

Переходим обратно в окно команд.

Можно очистить историю команд, чтобы лишняя информация нас не отвлекала. Для этого кликните правой кнопкой мыши на поле ввода команд и в открывшемся контекстном меню выберите пункт Clear Command Window.

Переменная X у нас осталась после предыдущего эксперимента, мы её не изменяли и не удаляли. Поэтому в окно команд можно сразу ввести:

Вы увидите, что MATLAB прочитает нашу функцию из файла и выполнит её, нарисовав график.

Результат выполнения скрипта, написанного в редакторе MATLAB

Нейронные сети в matlab

Login

В программе MATLAB вы будете использовать как встроенные функции, так и
Matlab функции, созданные вами.

Встроенные функции

Программа MATLAB имеет много встроенных функций. В их число входят
функции sqrt, cos, sin, tan, log, exp и atan (для функции арктангенс), а также
более специализированные математические функции, такие как gamma, erf и besselj. Программа MATLAB имеет также некоторые встроенные константы,
включая pi (число п), i (комплексное число i = корень(-1)) и Inf (°° — бесконечность). Ниже показано несколько примеров:

Читать еще:  Пирамидальная сортировка matlab

Функция log является натуральным логарифмом и во многих текстах называется In.

Функции, задаваемые пользователем

В этом разделе мы проверим два способа задания ваших собственных функций в
программе MATLAB. Первый способ использует команду inline, а второй
использует оператор @, чтобы создать так называемую «анонимную функцию».
Второй метод является новым в программе MATLAB 7, и в настоящее время этому
методу отдается предпочтение. Периодически мы будем упоминать о команде
inline ради пользователей более ранних версий программы. Однако мы
настоятельно рекомендуем пользователям MATLAB 7 и пользователям более ранних
версий, когда они обновят программу, использовать оператор @ в качестве
обычного метода для задания функций. Функции можно также задавать в
отдельных файлах, которые называются М-файлами (см. главу 3).
В этом примере показано, как задается функция f (x) = х 2 с использованием
этих команд.

Можно сделать и по-другому:

f1 =
Inline function:
f1(x) = х^2

Когда функция задана, не важно каким методом, вы можете ее вычислить, например:

Как мы отмечали ранее, большинство функций программы MATLAB могут
оперировать как векторами, так и скалярами. Чтобы быть уверенным, что заданная
вами функция может оперировать с векторами, вставляйте точки перед
математическими операторами .* ./ и .^ Таким образом, чтобы получить векторизованную версию функции f (x) = х 2 , введите строку

Теперь мы можем вычислить любую функцию для вектора, например:

ans =
1 4 9 16 25

Используя графические возможности программы MATLAB, вы можете начертить
графики функций f и f1. Это можно сделать несколькими способами, которые
мы рассмотрим в разделе «Графика» далее в этом уроке. В завершении этого
раздела отметим, что функции можно также задавать с двумя или более
переменными. Например, решение любой из этих функций

g = @(x, y) x^2 + y^2; g (1, 2);
g1 = inline (‘x^2 + y^2’, ‘x’, ‘y’); g1 (1, 2)

даст ответ 5. Если вместо этого вы зададите функцию следующим образом

тогда вы сможете вычислить векторы; таким образом, выполнение следующего
выражения

дает значения функции в точках (1, 3) и (2, 4).

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

Основные команды МATLAB — понятие и виды. Классификация и особенности категории «Основные команды МATLAB» 2017, 2018.

Читайте также

Схема моделирования СУ ВГЭУ с использованием магнитопорошковой муфты приведена на рис. 4. Результаты исследования во временной области для синусоидального изменения ветра и для скачкообразного изменения ветра приведены соответственно на рис.5 и рис. 6. Рисунок 4 Схема. [читать подробнее].

Цель работы. Лабораторная работа №5. Контрольные вопросы Лабораторный отчет · Введение в лабораторную работу, цель работы и что было достигнуто в ходе выполнения. · Описание работы вашей программы. Если вы выполнили любое из. [читать подробнее].

Для MATLAB имеется возможность создавать специальные наборы инструментов (англ. toolbox), расширяющих его функциональность. Наборы инструментов представляют собой коллекции функций, написанных на языке MATLAB для решения определённого класса задач. Компания Mathworks поставляет. [читать подробнее].

MatLab (http://www.mathworks.com/) Минимальные требования к системе: процессор Pentium III, 4, Xeon, Pentium M; AMD Athlon, Athlon XP, Athlon MP; 256 Мбайт оперативной памяти (рекомендуется 512 Мбайт); 400 Мбайт дискового пространства (только для самой системы MatLab и ее Help); операционная система Microsoft Windows 2000. [читать подробнее].

MATLAB предоставляет пользователю большое количество (несколько сотен) функций для анализа данных, покрывающие практически все области математики, в частности: · Матрицы и линейная алгебра — алгебра матриц, линейные уравнения, собственные значения и вектора. [читать подробнее].

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

Рассмотрим несколько пакетов более подробно. Для решения задач моделирования программа MatLab дополнена пакетом SIMULINK с визуально-ориентированным программированием. На рисунке 2.8 представлен интерфейс пакета расширения Simulink. Для визуализации моделирования система. [читать подробнее].

При работе в Windows запустить систему MATLAB можно из меню Пуск (стартового меню) этой операционной системы. Альтернативным вариантом запуска MATLAB является двойной щелчок на ярлыке системы MATLAB, расположенном на рабочем столе Windows. Запуск MATLAB6.x отображает на экране окно. [читать подробнее].

Конспект лекций по дисциплине «ОСНОВЫ КОМПЬЮТЕРНОГО МОДЕЛИРОВАНИЯ ЭЛЕКТРИЧЕСКИХ ЦЕПЕЙ» для студентов специальности 2-45 01 03 – Сети телекоммуникаций Минск УДК 519.6 ББК 22.18 0-75 Рекомендовано к изданию кафедрой программного обеспечения сетей. [читать подробнее].

СОДЕРЖАНИЕ ЛИТЕРАТУРА Варианты Задание 3 (11). Решить систему линейных алгебраических уравнений Варианты Задание 2 (10). Вычислить матричное выражение Варианты Задание 1 (8). Ввести и вычислить. [читать подробнее].

Технология построения графиков в Matlab

Построение графика по узловым точкам

Графики в Matlab, также как в табличном процессоре, могут быть построены по узловым точкам. Поскольку MATLAB — матричная система, совокупность узловых точек у(х) для построения графика задается векторами X и Y одинакового размера.

Графики MATLAB строит в отдельных окнах, называемых графическими окнами. В главном меню окна есть позиция Tools (Инструменты), которая позволяет вывести или скрыть инструментальную панель, видимую в верхней части окна графики. Средства этой панели позволяют легко управлять параметрами графиков и наносить на них текстовые комментарии в любом месте.

В Matlab для построения графиков функций по узловым точкам в декартовой системе координат служит функция plot. Функция plot имеет несколько синтаксических конструкций:
plot (X, Y) — строит график функции у(х), координаты точек (х, у) которой берутся из векторов одинакового размера Y и X. Если X или Y матрица, то строится семейство графиков по данным, содержащимся в колонках матрицы;
plot(Y) — строит график у(i), где значения у берутся из вектора Y, a i представляет собой индекс соответствующего элемента. Если Y содержит комплексные элементы, то выполняется команда plot (real (Y), imag(Y)). Во всех других случаях мнимая часть данных игнорируется;
plot(X,Y,S) — аналогична команде plot(X,Y), но тип линии графика можно задавать с помощью строковой константы S. Значениями константы S могут быть следующие символы:

Читать еще:  Как в matlab увеличить шрифт

Если функция задана аналитической моделью, то для построения графика нужно определить вектор значений аргумента для узловых точек, вычислить значения функции при заданных значениях аргумента и сохранить эти значения в виде вектора, а затем применить функцию plot. Приведенный ниже пример иллюстрирует построение графика функций — sin(x) по узловым точкам :

>> x=[0; 0.4; 0.8; 1.2; 1.4;1.8;2.2;2.6;3;3.4;3.8]; Y=sin(x); plot(x,Y)

В этом примере уже определены значения вектора x , вычисляемые значения функции содержатся в векторе Y.

Построение двумерного графика одной функции

Для того, чтобы построить график функции y = f(x) , необходимо сформировать два одномерных массива x и y одинаковой размерности, а затем использовать функцию plot .

Пример 1 . Требуется построить график функции на интервале значений X [-1; 1].

Технология построения графика этой функции в MS Excel рассмотрена в статье . Результат решения представлен на рис. 1.

Окно команд с инструкциями для решения задачи в Matlab приведены на рис. 2.

Пояснения к инструкциям

В результате обращения к функции plot(x,y) будет создано окно с именем Figure 1 , в котором будет построен график. Результат решения приведен на рис. 3.

Построение графиков нескольких функций в одной системе координат

Построение графиков нескольких функций в одной системе координат можно выполнить двумя способами:
— использовать функцию plot в формате :
plot (x1, y1, x2, y2, … , xn, yn ) ,
где x1, y1 – массивы значений абсцисс и ординат графика первой функции, x2, y2 – массивы значений абсцисс и ординат графика второй функции , … , xn, yn – массивы значений абсцисс и ординат графика n-ой функции;
— использовать каждый раз функцию plot( x, y) для построения каждого графика, но перед построением каждого последующего графика включать команду hold on , блокирующую режим создания нового окна.

Пример 2 . Требуется построить в одной системе координат графики функций y1=1-2х и у2=Ln x на интервале значений аргумента х [0,2 ; 3 ] . Построение графиков этих функций в Excel при решении систем уравнений рассматривалось в статье .

Решение первым способом
В окне команд Matlab введем инструкции, как показано на рис. 4.

В результате выполнения инструкций Matlab выведет графики, как показано на рис. 5.

Решение вторым способом

В окне команд Matlab введем инструкции, как показано на рис. 6.

В результате выполнения инструкций Matlab сначала выведет график первой функции, а затем в этом же окне выведет график второй функции y2 (рис. 7).

Как видим, графики на рис. 5 и 7 идентичны.
Относительно сравнения сложности создания графиков в Matlab и Excel можно сделать вывод, что в Matlab не требуется предварительно создавать таблицу значений функций и аргументов, величину шага можно сделать значительно меньше, поэтому графики получаются более точными.

Построение графиков без использования узловых точек

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

Построить в Matlab график без узловых точек можно с помощью специальной графической функции fplot. Функция имеет синтаксис:
fplot(‘f(x)’, [ xmin xmax ]) ,
где f(x) – аналитическая запись выражения функции, xmin и xmax — числовые значения границ диапазона изменения аргумента.
Функция fplot позволяет строить функцию, заданную в символьном виде, в интервале изменения аргумента х от xm in до xmax без фиксированного шага изменения х .

В ряде случаев бывает необходимо, чтобы на графике была отображена сетка. Включение отображения сетки, которая строится пунктирными линиями, выполняется командой grid on. Например, график функции sin(x) (рис. 3) в диапазоне x =[-pi/2 : pi/2] можно построить с помощью инструкции >> fplot (‘sin(x)’, [-pi/2 pi/2]); grid on.

Оформление графиков

Оформление графиков в MATLAB можно выполнить двумя способами:
— с помощью команд Matlab, размещенных в пиктографическом меню Insert ;
— функциями Matlab, которые записываются в виде инструкций в командном окне.

В списке пиктографического меню есть следующие команды (рис. 8):

x Label, Y Label, Z Labe l — подписи осей осей;
Title — надпись названия диаграммы;
Legend — легенда, т.е. обозначение линий графиков;
Colorbar — вывод цветовой палитры;
Arrow — рисование стрелки;
Line — рисование линии;
Text — позволяет поместить текст в области построения диаграммы;
Axes — позволяет построить оси.

Команды Matlab для оформления графиков

— команда grid on наносит сетку на график;
— функция title(‘заголовок’) выводит заголовок графика;
— функции xlabel(‘подпись оси х’), ylabel(‘подпись оси у’) служат для подписи осей х и у соответственно;
— функция legend(‘легенда1’, ‘легенда2’, … , ‘легендаn’, k) выводит легенды для каждого из n графиков, параметр k определяет месторасположение легенды в графическом окне: -1 – в правом верхнем углу графического окна, за пределами графика; 0 – автоматически выбрать наилучшее месторасположение; 1 – в правом верхнем углу графика (значение по умолчанию); 2, 3, 4 – в левом верхнем, в левом нижнем, в правом нижнем углах графика соответственно.

Пример 3. Требуется построить график функции Sin(x) на интервале х=<-pi/2; pi/2] и оформить его.

Решение. Создадим М-файл с названием Chart.
Запишем инструкции, как на рис. 9.

Запустим М-файл на выполнение- будет выведен график с соответствующими подписями (рис. 10).

Ссылка на основную публикацию
Adblock
detector