Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Основы работы в MATLAB.






Для выполнения простейших арифметических операций в MATLAB применяются операторы:

· сложение и вычитание +, –

· умножение и деление *, /

· возведение в степень ^

 

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

 

Для определения переменной необходимо набрать её имя, символ «=» и значение переменной. Имя переменной не должно совпадать с именами встроенных переменных и функций. Система различает большие и малые буквы в именах переменных.

Некоторые специальные переменные:

ans – результат последней операции без знака присваивания;

eps – относительная погрешность при вычислениях с плавающей точкой;

realmax – наибольшее положительное число с плавающей точкой;

realmin – наименьшее положительное число с плавающей точкой;

pi – число ;

i, j – мнимая единица;

Inf – бесконечность ;

NaN – неопределенное значение.

 

Уничтожить одну или несколько переменных можно с помощью команды clear. Например,

> > x=3

x =

> > clear x

> > x

??? Не определенная функция или переменная 'x'.

 

Функции, используемые в MATLAB, можно разделить на встроенные и определенные пользователем.

Некоторые встроенные элементарные функции:

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

sec (x), csc (x) – секанс, косеканс числа x;

asin (x), acos (x), atan (x), acot (x) – арксинус, арккосинус, арктангенс, арккотангенс числа x;

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

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

log10 (x) – десятичный логарифм числа x;

log2 (x) – логарифм по основанию 2 числа x;

pow2 (x) – возведение числа 2 в степень числа x;

sqrt (x)– квадратный корень из числа x;

abs (x) – модуль числа x;

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

fix (x) – округление числа x до ближайшего целого в сторону нуля;

floor (x) – округление числа x до ближайшего целого в сторону отрицательной бесконечности;

ceil (x) – округление числа x до ближайшего целого в сторону положительной бесконечности;

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

rem (x, y) – остаток от целочисленного деления x на y;

sign (x) – возвращение знака числа x.

 

Вычислим значение выражение

> > exp(–2.5)*log(11.3)^0.3 – sqrt((sin(2.45*pi)+cos(3.78*pi))/tan(3.3))

ans =

–3.2105

Затем вычислим значение похожего выражения:

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

  1. Нажать клавишу «», при этом в командной строке появиться ранее введенное выражение;
  2. внести необходимые изменения в операциях;
  3. нажать «Enter».

> > exp(–2.5)*log(11.3)^0.3 + ((sin(2.45*pi)+cos(3.78*pi))/tan(3.3))^2

ans =

121.2446

Если оператор не удается разместить в одной строке, то возможно продолжение его ввода в следующей строке, если в конце первой строки указать знак продолжения «…», например, предыдущий пример можно выполнить в виде

> > exp(–2.5)*log(11.3)^0.3 +...

((sin(2.45*pi)+cos(3.78*pi))/tan(3.3))^2

ans =

121.2446

Найти значение выражения

> > x = sin(1.3*pi)/log(3.4);

> > y = sqrt(tan(2.75)/ cot(2.3));

> > z = (x+y)/(x-y)

z =

-0.013967

Знак «;» в конце строки означает подавления вывода на экран промежуточных значений.

 

Используя переменные x и y, найдем значение выражения

> > t = (x*y)^(3/2)

t =

-5.5344e-017 - 0.30128i

 

Большинство математических функций MATLAB предусматривает работу с комплексными аргументами.

Введем комплексное число :

> > z = 3 + 4i

z =

3.0000 + 4.0000i

Для вычисления комплексно-сопряженного числа применяется апостроф «’».

> > z1 = z'

z1 =

3.0000 - 4.0000i

 

Функции для работы с комплексными числами:

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

complex( a, b ) – конструирует комплексное число по его действительной и мнимой части:

> > complex(2.3, 5.8)

ans =

2.3 + 5.8i

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

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

3. Векторы.

Ввод, сложение, вычитание, умножение на число.

Вектор в MATLAB формируется с помощью оператора квадратные скобки [ ]. При этом элементы вектора - столбца разделяют точкой с запятой «;», а элементы вектора – строки разделяют пробелом «» или запятой «,».

Введем вектор-столбец .

> > x = [1.3; 5.4; 6.9]

x =

1.3

5.4

6.9

Введем вектор-строку .

> > y = [7.1 3.5 8.2]

y =

7.1 3.5 8.2

Для транспонирования вектора применяют апостроф «’»:

> > z = y’

z =

7.1

3.5

8.2

Для нахождения суммы и разности векторов используются знаки «+» и «–»:

> > с = x + z

c =

8.4

8.9

15.1

Умножение вектора на число осуществляется как справа, так и слева при помощи знака «*».

> > t = 3*x

t =

3.9

16.2

20.7

Векторы могут быть аргументами встроенных функций, например,

> > d = sin(c)

d =

0.8546

0.50102

0.5712

Для обращения к элементам векторов используется индексация, например,

> > h = x(2)

h =

5.4

Из элементов вектора можно составить новый вектор, например

> > g = [x(2) x(3) x(1)]

g =

5.4 6.9 1.3

Из нескольких векторов-столбцов можно составить один, например

> > t = [x; z]

t =

1.3

5.4

6.9

7.1

3.5

8.2

Из нескольких векторов-строк можно составить одну строку, например

> > r = [x’ y]

r =

1.3 5.4 6.9 7.1 3.5 8.2

 

Символ двоеточие «:» используется для выделения элементов из вектора

> > w = r(3: 5)

w =

6.9 7.1 3.5

Символ двоеточие «:» также позволяет заменять элементы вектора, например,

> > r(3: 5)= 0

r =

1.3 5.4 0 0 0 8.2

 

Символ «:» также можно использовать для построения вектора, каждый элемент которого отличается от предыдущего на постоянное число, т.е. шаг, например

> > h = [1: 0.2: 2]

h =

1 1.2 1.4 1.6 1.8 2

Шаг может быть отрицательным (в этом случае начальное число должно быть больше конечного).

Шаг, равный единице, можно не указывать

> > k = [1: 5]

k =

1 2 3 4 5

 

Поэлементные операции с векторами.

Операции «.*», «.^», «./» приводят к поэлементному умножению, поэлементному возведению в степень, поэлементному делению двух векторов.

Для того чтобы, к каждому элементу вектора прибавить одно и тоже число используется знак «+», для вычитания из элементов вектора одного и того числа используется знак «–».

Разделить элементы вектора на число можно при помощи знака «/».

Деление числа на вектор, осуществляется с помощью операции «./».

 

Пример.

Даны векторы

, , ,

Выполните команды, опуская знак «;» в конце выражения.

> > v1 = [2 –3 4 1];

 

> > v2 = [7 5 –6 9];

 

> > p = [4 6 8 10];

 

> > f = [4 2 6];

 

> > s1 = v1.*v2;

 

> > s2 = v1.^2;

 

> > s3 = v1.^v2;

 

> > s4 = v1./v2;

 

> > a = p + 1.2;

 

> > b = p – 1.2;

 

> > p = p/2;

 

> > df = 12./f;

 

Основные функции для работы с векторами.

  • length( z ) – определение длины вектора;
  • prod( z ) – перемножение всех элементов вектора;
  • sum( z ) – суммирование всех элементов вектора;
  • mean( z ) – вычисление среднего арифметического элементов вектора;
  • sort( z ) – упорядочение вектора по возрастанию его элементов;
  • max( z ) – нахождение максимального элемента;
  • min( z ) – нахождение минимального элемента.

Если вызвать функцию min или max с двумя выходными аргументами [m, k] = min(z),

то первой переменной присваивается значение минимального (максимального элемента), а второй переменной присваивается номер этого элемента.

 

Пример.

Дан вектор

,

Выполните команды, опуская знак «;» в конце выражения.

> > z = [3; 2; 1; 4; 6; 5];

 

> > l = length(z);

 

> > p = prod(z);

 

> > s = sum(z);

 

> > q = mean(z);

 

> > M = max(z);

 

> > m = min(z);

 

> > [m, k] = min(z);

 

> > sr = sort(z);

4. Матрицы.

Различные способы ввода матрицы.

1. Матрицу можно вводить как вектор-столбец, состоящий из двух элементов, каждый из которых является вектор - строкой и отделяется точкой с запятой. Например, введем матрицу

> > A = [3 1 –1; 2 4 3 ]

A =

3 1 –1

2 4 3

 

2. Матрицу можно вводить построчно, выполняя последовательность команд:

> > A = [3 1 –1

«Enter»

2 4 3]

«Enter»

В результате получим ту же матрицу.

 

3. Матрицу можно составить из блоков, например

> > A = [ [3; 2] [1; 4] [-1; 3]]

или

> > A = [ [3 1; 2 4] [-1; 3]]

 

Доступ к элементам матрицы осуществляется при помощи двух индексов – номеров строки и столбца:

> > A (2, 3)

ans =

Создание матриц специального вида.

Функция

  • zeros (m, n) формирует нулевую матрицу размера ;
  • eye (n) формирует единичную матрицу размера ;
  • ones (m, n) формирует матрицу размера из единиц;
  • rand (m, n) создает матрицу размера из случайных чисел.

 

Пример.

Выполните команды, опуская знак «;» в конце выражения.

> > O = zeros(3, 6);

 

> > E = eye(4);

 

> > E = eye(8, 4);

 

> > EI = ones(3, 8);

 

> > R = rand(3, 5)

 

Функция diag (d) формирует диагональную матрицу из вектора d, например

> > d = [1; 2; 3; 4];

> > D = diag(d)

D =

1 0 0 0

0 2 0 0

0 0 3 0

0 0 0 4

 

Функция diag( A ) служит также для выделения диагонали матрицы A в вектор, например

> > A = [10 1 2; 1 20 3; 2 3 30];

> > d = diag(A)

 

d =

 

Выделение блоков и заполнение матрицы при помощи индексации.

Символ двоеточие «:» используется для выделения блоков из матрицы.

Представляется в следующих формах:

  • M(i,:) – выбирается i-я строка из матрицы M;
  • M(:, j) – выбирается j-й столбец из матрицы M;
  • M(:) – представление матрицы M в виде столбца;
  • M(k: l, n: m) – выбирается блок из матрицы M, ограниченный элементами , , , ;
  • Команда M(k: l, n: m) = число заменяет элементы блока матрицы M;
  • Команда M(i,:) = [] удаляет i-ю строку из матрицы M;
  • Команда M(:, j) = [] удаляет j-й столбец из матрицы M;

 

Пример.

Дана матрица

Выполните команды, опуская знак «;» в конце выражения.

> > P = [5 2 1 3; 3 -1 1 2; 1 2 4 8; 3 -1 1 2];

 

> > P1 = P(2: 3, 2: 3);

 

> > P(2: 3, 2: 3)=0;

 

> > st = P(2,:);

 

> > rt = P(2, 2: end);

 

> > P(1,:) = [];

 

Пример.

Создать матрицу .

Для этого применяем последовательность команд

> > T = zeros(5);

> > T(1,:) = 1;

> > T(end, 3: end) = –1

T =

1 1 1 1 1

0 0 0 0 0

0 0 0 0 0

0 0 0 0 0

0 0 –1 –1 –1

Действиями с матрицами и элементами матриц.

Транспонирование матрицы из действительных чисел осуществляется с помощью апострофа «’».

Сложение и вычитание матриц одного размера осуществляется при помощи знаков «+» и

«–».

Для умножения согласованных матриц используется знак «*». Этот же знак используется для произведения матрицы на число.

Возведение квадратной матрицы в целую степень производится с использованием оператора «^».

Операторы «.*», «./», «.^» служат для умножения, деления, возведения в степень каждого элемента одной матрицы на соответствующий элемент другой матрицы. Символы «.^» служит также для возведения каждого элемента матрицы в степень.

 

 

Пример.

Даны матрицы

и .

Выполните команды, опуская знак «;» в конце выражения.

 

> > A = [2 5 –1; 3 4 9];

 

> > B = [–1 2 8; 7 –3 –5];

 

> > S = A+B;

 

> > R = A – B;

 

> > A’;

 

> > D = A*A’;

 

> > D1 = D*3;

 

> > С = A.*B;

 

> > Q = A./B;

 

> > P = A.^B;

 

> > D = A.^2;

 

Некоторые функции для работы с матрицами.

Функция

  • size( M ) определяет размер матрицы M;
  • sum( M ) суммирует элементы матрицы M по столбцам;
  • sum( M, 2 ) суммирует элементы матрицы M по строкам;
  • prod( M ) находит произведения элементов матрицыM по столбцам;
  • prod( M, 2 ) находит произведения элементов матрицыM по строкам;
  • sort( M ) упорядочивает элементы каждого столбца матрицы M в порядке возрастания;
  • sort( M, 2 ) упорядочивает элементы каждой строки матрицы M в порядке возрастания;
  • max( M ) формирует вектор - строку, содержащую максимальные элементы в столбцах матрицы M;
  • min( M ) формирует вектор - строку, содержащую минимальные элементы в столбцах матрицы M;
  • max (M, [], 2) формирует вектор - столбец, содержащий максимальные элементы в строках матрицы M;
  • min (M, [], 2) формирует вектор - столбец, содержащий минимальные элементы в строках матрицы M;
  • rot90 (M) осуществляет поворот матрицы M на ;
  • tril (M) формирует из матрицы M нижнюю треугольную матрицу, начиная с главной диагонали;
  • triu (M) формирует из матрицы M верхнюю треугольную матрицу, начиная с главной диагонали;

 

Пример.

Дана матрица

.

Выполните команды, опуская знак «;» в конце выражения.

> > M = [1 –2 –4; 3 –6 4; 2 –2 0];

 

> > SZ = size(M);

 

> > S = sum(M);

 

> > S2 = sum(M, 2);

 

> > P = prod(M);

 

> > P2 = prod (M, 2);

 

> > mx = max(M);

 

> > mn = min(M);

 

> > MX = max(M, [], 2);

 

> > MN = min(M, [], 2);

Операции отношения и логические операции.

Операторы отношения производят поэлементное сравнение двух матриц и возвращают матрицу той же размерности с элементами 1, где отношение истинно и 0, где отношение ложно:

 

< – меньше чем (< = означает " меньше или равно");

> – больше чем (> = означает " больше или равно").

 

Логические операции осуществляются с помощью операторов:

= = – логический оператор эквивалентности;

& – логическое " И".

A & B – это матрица, элементы которой равны 1, если соответствующие элементы и A и B ненулевые, иначе равны 0;

| – логическое " ИЛИ".

A | B – это матрица, элементы которой равны 1, если соответствующие элементы или A или B ненулевые, иначе равны 0;

~= – логическое дополнение " НЕ" (~= означает не " равно").

Пример.

Даны матрицы

,

Выполните команды, опуская знак «;» в конце выражения.

> > A = [1 2 3; 4 0 6; 7 1 9];

 

> > В = [1 0 -1; 0 0 -6; 1 2 9];

 

> > D1 = A> B;

 

> > D2 =A< =B;

 

> > D3 = A& B;

 

> > D4 = A==B;

 


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

mylektsii.su - Мои Лекции - 2015-2024 год. (0.05 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал