
- •Лабораторная работа № 1 основы программирования в пакете прикладных программ matlab
- •1. Использование matlab в качестве научного калькулятора
- •1.1. Операции с числами
- •1.1.1. Ввод действительных чисел
- •1.1.2. Простейшие арифметические действия
- •1.1.3. Ввод комплексных чисел
- •1.1.4. Элементарные математические функции
- •1.1.5. Специальные математические функции
- •1.1.6. Элементарные действия с комплексными числами
- •1.1.7. Функции комплексного аргумента
- •1.2 Простейшие операции с векторами и матрицами
- •1.2.1. Ввод векторов и матриц
- •1.2.2. Формирование векторов и матриц
- •1.2.3 Действия над векторами
- •1.2.4 Поэлементное преобразование матриц
- •1.2.5 Матричные действия над матрицами
- •1.3 Функции прикладной численной математики
- •1.3.1. Операции с полиномами
- •2. Программирование в среде MatLab
- •2.1 Операторы цикла и условные операторы
- •If условие
- •If условие
- •2.2 Ввод исходных данных и вывод результатов
- •3. Графика
- •4. Создание м-файлов
- •4.1. Особенности создания м-файлов
- •4.2. Основные особенности оформления м-файлов
- •4.3 Создание функциональных файлов
- •4.3.1 Общие требования к построению
1.1.6. Элементарные действия с комплексными числами
Простейшие действия с комплексными числами - сложение, вычитание, умножение, деление и возведение в степень - осуществляются при помощи обычных арифметических знаков +, -, *, /, \ и ^ соответственно.
1.1.7. Функции комплексного аргумента
Практически все элементарные математические функции, вычисляются при комплексных значениях аргумента и получают в результате этого комплексные значения результата.
Благодаря этому, например, функция sqrt(-2) вычисляет, в отличие от других языков программирования, квадратный корень из отрицательного аргумента, а функция abs при комплексном значении аргумента вычисляет модуль комплексного числа.
В MatLAB есть несколько дополнительных функций, рассчитанных только на комплексный аргумент:
real(Z) - выделяет действительную часть комплексного аргумента Z;
imag(Z) - выделяет мнимую часть комплексного аргумента;
angle(Z) - вычисляет значение аргумента комплексного числа Z (в радианах в диапазоне от -π до +π );
conj(Z) - выдает число, комплексно сопряженное относительно Z.
Кроме того, в MatLAB есть специальная функция cplxpair(V), которая осуществляет сортировку заданного вектора V с комплексными элементами такимо бразом, что комплексно-сопряженные пары этих элементов располагаются в векторе-результате в порядке возрастания их действительных частей, при этом элемент с отрицательной мнимой частью всегда располагается первым. Действительные элементы завершают комплексно-сопряженные пары.
1.2 Простейшие операции с векторами и матрицами
MatLAB - система, специально предназначенная для осуществления сложных вычислений с векторами, матрицами и полиномами. Под вектором в MatLAB понимается одномерный массив чисел, а под матрицей - двумерный массив. При этом по умолчанию предполагается, что любая заданная переменная является вектором или матрицей. Например, отдельное заданное число система воспринимает как матрицу размером (1*1), а вектор-строку из N элементов - как матрицу размером (1*N).
1.2.1. Ввод векторов и матриц
Начальные значения векторов можно задавать с клавиатуры путем поэлементного ввода. Для этого в строке следует сначала указать имя вектора, потом поставить знак присваивания ' = ', затем, - открывающую квадратную скобку, а за ней ввести заданные значения элементов вектора, отделяя их пробелами или запятыми. Заканчивается строка записью закрывающей квадратной скобки.
Например, запись строки M = [1.2 -0.3 1.2e-1] задает вектор M, который содержит три элемента со значениями 1.2, -0.3 и 1.2е-1.
Длинный вектор можно вводить частями, которые потом объединять с помощью операции объединения векторов в строку : v = [ v1 v2 ]. Например:
Рис. 3
Язык MatLAB дает пользователю возможность сокращенного введения вектора, значения элементов которого составляют арифметическую прогрессию. Формирование вектора-строки из равноотстоящих значений аргумента выполняется с помощью команды x=x1:h:x2. По умолчанию шаг принимается равным единице. Например, команда i=1:n формирует вектор-строку i=[1 2 . . . n]. Выражение x=0:dx:xmax создает вектор-строку x=[0 dx 2dx . . . xmax]. Например,
Рис.4
Начальное значение, шаг и конечное значение можно задавать с помощью арифметических выражений. Например, оператор B1=[sin(pi/6) sqrt(-4) acos(.866)] создает вектор c элементами: B1(1)=.5, B1(2)=j2,B1(3)=pi/6.
Возможно формирование подматрицы из матрицы. Для этого используется знак двоеточие :. Например, A(1:4,3) является вектором-столбцом, состоящим из первых четырех элементов третьего столбца матрицы A. Использование просто двоеточия означает соответствующий столбец или строку. Например, A(:,3) есть третий столбец A и A(1:4,:) есть первые четыре строки A.
Так вводятся векторы-строки. Вектор-столбец вводится аналогично, но значения элементов отделяются знаком ";".
Ввод значений элементов матрицы осуществляется в MatLAB в квадратных скобках, по строкам. При этом элементы строки матрицы один от другого отделяются пробелом или запятой, а строки одна от другой отделяются знаком ";"
рис. 5