Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Основы работы в 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 Затем вычислим значение похожего выражения: Для этого необязательно снова набирать его в командной строке. Для вычисления этого выражения, надо проделать шаги:
> > 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;
Основные функции для работы с векторами.
Если вызвать функцию 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 = Создание матриц специального вида. Функция
Пример. Выполните команды, опуская знак «;» в конце выражения. > > 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 =
Выделение блоков и заполнение матрицы при помощи индексации. Символ двоеточие «:» используется для выделения блоков из матрицы. Представляется в следующих формах:
Пример. Дана матрица Выполните команды, опуская знак «;» в конце выражения. > > 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;
Некоторые функции для работы с матрицами. Функция
Пример. Дана матрица . Выполните команды, опуская знак «;» в конце выражения. > > 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;
|