КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Операторы языка MATLAB
Оператры языка MATLAB предназначены для организации вычислений и делятся на три категории: 1) арифметические операторы – предназначены для создания арифметических выражений и выполнения вычислений в арифметике с плавающей точкой; Арифметические операторы. Особенность арифметических выражений в MATLAB состоит в том, что они определены не только на одном числовом элементе, но и на массивах таких элементов, в том числе и многомерных. Наибольшее применение на практике имеют двумерные массивы. Среди них (двумерных массивов) особое место занимают массивы, используемые для линейных преобразований векторов. Эти двумерные массивы называют матрицами. Результаты многих операции для матриц не совпадают с такими же операциями для произвольного двумерного массива чисел. Массивы и матрицы являются базовыми объектами языка MATLAB. Они являются основным типом данных с которым работает система. Рассмотрим операции над массивами. Двумерный массив – это множество действительных или комплексных чисел , представленных в виде прямоугольной таблицы . Числа называются элементами массива; индексы определяют размещение элементов в таблице, на пересечении - ой строки и -го столбца. Если массив имеет строк и столбцов, то говорят что это массив размера . Массив размера содержит единственный элемент и называется скаляром. Особенность операций над массивами состоит в том что операции выполняются поэлементно и обозначаются. (точкой) перед обозначением операции. Сложение вычитание массивов. Сложение и вычитание массивов осуществляется поэлементно и обозначается Исходные массивы должны иметь один и тот же размер. Произведение массивов. Операция произведения массивов выполняется поэлементно и обозначается . Деление массивов. Операция деления массивов выполняется поэлементно и имеет две формы – правого и левого деления. Соответственно обозначается . Исходные массивы должны иметь один и тот же размер. Транспонирование элементов массива. Операция транспонирования элементов массива – это перемена местами его строк и столбцов. . Возведение в степень массива. Здесь основание и показатель степени - соразмерные массивы. Элементами этих массивов могут быть как действительные, так и комплексные числа. . Вычисление функций от массива. В системе MATLAB можно вычислить любую элементарную математическую функцию от элементов массива. Возможность вычисления функции одновременно для всех элементов массива является уникальным свойством системы MATLAB. Это свойство называется векторизацией вычислений и обеспечивает высокую производительность вычислений в режиме интерпретации. Рассмотрим операции над матрицами. Особенность операций над матрицами состоит в том, что матрица – это прямоугольный массив действительных или комплексных чисел со специальным образом определенными операциями транспонирования и умножения. Сложение и вычитание матриц. Операции сложения и вычитания матриц удовлетворяют следующим соотношениям. ; . Исходные матрицы должны иметь один и тот же размер. Произведение матриц. Операция произведения – это операция линейной алгебры, которая содержит в своей основе скалярное произведение двух векторов и описывается следующим образом Каждый элемент матрицы произведения является скалярным произведением вектора -ой строки матрицы на вектор -ого столбца матрицы . Число столбцов матрицы должно совпадать с числом строк матрицы . Например, если имеет размер , а – размер , то имеет размер , т.е. скаляр, а произведение это матрица размера . Решение систем линейных алгебраических уравнений. Общий вид системы линейных алгебраических уравнений можно записать как , где В MATLAB решение этой системы линейных алгебраических уравнений имеет вид или . Возведение матрицы в степень. Для случая, когда показатель степени целое число, то возведение матрицы в степень не очень сложная операция. Транспонирование матрицы. Операция транспонирования обозначается как и отличается от транспонирования массива тем, что не только меняются местами строки и столбцы, но элементы транспонированной матрицы комплексно сопряжены к элементам исходной матрицы. Действительные и комплексные числа в MATLAB. Числа при обращении к MATLAB задаются в общепринятом представлении о них. Они могут быть целыми – 5, 984, -36, дробными – 3.456. Используется формат вида – 245.651e-21, где число 245.651 умножено на . Пробелы внутри числа, а также до и после символа е не допускаются. Комплексное число задается в виде s=2.35+4.6i, где по умолчанию , 2.35 – действительная часть, а 4.6 – мнимая часть. Аналогично вместо i может использоваться j. Следует помнить, что символы i, j могут быть вами же переопределены, и в workspace могут храниться, например, как реальные числа. Но в конструкции 5+1i – это будет комплексное число, в конструкции 5+i – это будет реальное число. Максимальное положительное число представимое в MATLAB это 2.2204е-016 (). format long или format long e – после выполнения этой команды выводится 14 знаков после десятичной точки. Операторы отношения. Для сравнения элементов массивов предусмотрено 6 операций. меньше; меньше или равно; больше; больше или равно; равно тождественно (эквивалентно); не равно. Операторы отношения будут иметь вид D = E < F; D = E <= F; D = E > F; D = E >= F; D = E = = F; D = E ~ = F; Операндами в этих операторах могут быть любые массивы, допускающие сравнение элементов. Результатом операции будет логическая 1 в случае выполнения отношения или 0 если отношение не выполняется. Массив D будет логического типа. Оператор отношения вида D = = [ ] не допустим. Для проверки является ли массив пустым применяют функцию isempy (D). Для сравнения массивов строк применяют функцию strcmp. Логические операции. Логические операции предназначены для работы с данными, которые принимают значения 0 и 1. Обозначают их в следующем виде.
Первые четыре операции могут выполняться как над скалярами так над массивами (ответ либо скаляр либо массив). Последние две операции выполняются только над скалярами. Смысл укороченных операций следующий: для операции И – если А=0, то результат сразу 0 и не надо анализировать В, для операции ИЛИ – если А=1, то результат сразу 1 и не надо анализировать В. При вычислении арифметических и логических выражений выполнение операций осуществляется согласно приведенному ниже приоритету.
Поскольку высший приоритет имеют круглые скобки, то регулировать последовательность выполнения операторов в сложных выражениях можно с их помощью. Помимо приведенных ранее операций в MATLAB используются операции обработки множеств и операции побитовой обработки. Их рассмотрим на практических занятиях. Отметим что эти операции не имеют символьного обозначения (+, -,* и т.д.), а имеют обозначение в виде функций.
Тема 9 Программирование в MATLAB Проведение вычислений в MATLAB возможно путемнабора необходимых для расчетов выражений в командном окне и их выполнения. Для повторного выполнения ранее проведенных вычислений возможно извлечение нужных выражений (команд) из окна Command History и их вычисление возможно с новыми исходными данными. Однако такой подход крайне неудобен при относительно сложных вычислениях. Как и в других языках высокого уровня в MATLAB необходимые для конкретного вычисления выражения собирают в группы, которые хранят в определенных файлах. Эти группы выражений для решения конкретной задачи называют программами. В MATLAB существует два вида файлов (М – файлов, названных так по их расширению), в которых хранятся и выполняются программы – это script файлы (файлы - сценарии) и файлы - функции. Файлы сценарии. Script файлы являются самым простым типом М – файлов. У файлов – сценариев нет входных и выходных параметров. Файлы – сценарии позволяют автоматизировать выполнение последовательности операторов. Иначе их нужно было бы вводить и выполнять из командной строки командного окна. В файле – сценарии можно применять любые команды и функции языка MATLAB, в том числе другие файлы – сценарии. Однако имена файлов – сценариев нельзя использовать как операнды в арифметических выражениях и в качестве аргументов функций. Если хотим использовать другой файл-сценарий в теле текущего файла сценария, нужно записать отдельной строкой имя файла – сценария без расширения как команду. В файле – сценарии не требуется объявлять имена и типы переменных, использовать метки begin/end начала и конца программы. Файл – сценарий не требуется компилировать перед запуском на выполнение. Выполняется файл – сценарий путем записи имени файла без расширения в командной строке командного окна и нажатия клавиши Enter. Программы – сценарии могут использовать данные от всех предусмотренных в MATLAB источников, в том числе и из Workspace (рабочей области). Результаты расчетов сохраняются в Workspace и, если это предусмотрено программой, могут быть записаны на другие средства сохранения данных. Таким образом, другие файлы и команды могут использовать данные из Workspace в своей работе. Естественно это возможно, если имена переменных совпадают и Workspace предварительно не очищена командой clear. Создание файла-сценария и его структура. Создается Script-файл из окна MATLAB несколькими способами. 1) в командной строке окна MATLAB набрать команду edit и выполнить ее, нажав Enter. Откроется окно редактора с пустой неименованной (Untitled) страницей файла. Можно записывать текст файла. 2) В инструментальной строке окна MATLAB кликнуть кнопку New M-File и далее как в 1). 3) В строке меню окна MATLAB последовательно кликнуть File New M-file и далее как в 1). При написании Script-файла в первой строке обычно пишут слово Script, хотя можно этого не делать. Во второй строке записывают комментарий, который открывается знаком %. Записывать комментарий можно по-русски и содержать он может несколько строк. Каждая строка комментария обязательно должна начинаться знаком %. Далее записывается построчно текст программы. Для удобства контроля текста файла на каждой строке записывают не более одного оператора. Если на экран монитора результаты расчета текущего оператора выводить не нужно, то в конце оператора нужно ставить знак;. Допускается в одной строке записывать через; несколько операторов. Если текст оператора слишком длинный, что создает неудобство при его чтении в редакторе, применяют перенос строки. В конце строки перед переносом ставят три точки …, нажимают Enter и в новой строке пишут продолжение строки. Переносить строки можно несколько раз. После написания текста Script-файла (или хотя бы одной строки) файл нужно сохранить, дав ему имя. Для сохранения файла в редакторе кликнуть кнопку File, затем save as. Откроется окно, в котором нужно выбрать папку для хранения файла и в окошке «имя файла» записать желаемое имя файла, сохранив расширение.m. Имя файла состоит из нескольких (воспринимается до 63) символов латинского алфавита, цифр и символа подчеркивания, но начинаться имя должно с латинской буквы. В имени файла строчные и прописные буквы не различаются (напоминаю в именах переменных строчные и прописные различаются). Файлы – функции. Файлы – функции называют еще М-функции. М-функции, в отличии от М-сценариев, используют входные и выходные аргументы. М-функции работают с переменными в пределах собственной рабочей области. Собственная рабочая область М-функции отлична от упоминаемой ранее рабочей области (workspace) и невидима, в то время как workspace имеет свое окно в составе окна MATLAB. Наиболее существенное отличие файла – функции от файла-сценария состоит от способа выполнения. При обращении к файлу функции из командной строки командного окна или из Script-файла MATLAB ищет файл с соответствующим именем, просматривая все пути доступа. Когда файл найден, он проходит процедуру компиляции и размещается в оперативной памяти ЭВМ и только после этого начинает выполняться. Script-файла целиком не компилируется, а выполняется в режиме интерпретации. Это означает компиляцию одного оператора, а затем его выполнение. Потом компилируется следующий оператор и выполняется и т.д. Итак откомпилированный файл-функция хранится всю сессию работы MATLAB и к нему можно обращаться много раз за сессию работы. Script-файла интерпретируется каждый раз при обращении к нему. Напомним, что файл-функция считывает значения входных параметров из общей рабочей области и записывает туда же выходные параметры. (Значения внутренних параметров остаются неизвестными). Отметим, что файл-функция может содержать программы нескольких функций. Первая функция в файле – это основная функция, вызываемая по имени М-файла. Другие функции внутри файла – это подфункции, которые видимы только для основной функции и других функций того же файла. Создание файла-функции и его структура. Первая строка – строка определения или заголовок функции. Эта строка задает имя функции. Задает последовательность выходных переменных и последовательность входных переменных (аргументов). Последовательность выходных аргументов записывается в квадратных скобках. Если выходной аргумент один, то записывается он без скобок. Последовательность входных аргументов записывается в круглых скобках, даже если входной аргумент один. Третья строка или несколько затем – комментарий. Содержит развернутую информацию о входных и выходных переменных и выводится на экран вместе с первой строкой комментария командой help <имя функции>. Тело функции – это программа на языке MATLAB, которая реализует вычисления и присваивает значения выходным переменным. М функции используются также как обычные встроенные функции MATLAB. Их можно в отличии от файлов сценариев использовать в арифметических выражениях. Практические рекомендации по оформлению М – файлов. Списки аргументов. Одна и та же программа файла-функции может быть составлена для разного числа входных аргументов, заранее неизвестного. Фактическое количество входных аргументов определено только при обращении к ее вычислению. В таких случаях в тексте файла-функции применяют функцию varargin. Тема 10 Операторы управления выполнением программ в MATLAB В основном к операторам управления выполнением программ относятся: Начиная с версии MATLAB 6 существует 8 операторов управления выполнением программ: Рассмотрим подробнее каждый из операторов. 1) Оператор for … end else Последняя форма условного перехода else switch < выражение > case < значение 1> Диалог с пользователем. По второму направлению используется команда pause. Используется в нескольких видах. По третьему направлению. Часто для ввода информации, корректировки данных используется команда keyboard. Эта команда передает управление клавиатуре. На экране появляется знак K >>. В этом режиме можно: проверить и изменить данные в workspace. Выполнить из командного окна все действия доступные в MATLAB. Часто используют эту команду в режиме отладки.
Решение систем линейных алгебраических уравнений в MATLAB. Если размер матрицы равен , где , Если , то система переопределенная, Большие возможности для решения линейных уравнений предоставляет функция linsolve(A,B), (см.help linsolve). Вычисление однократных и двукратных интегралов в MATLAB. Для вычисления тройных интегралов применяют функцию triplequad. Численное решение произвольных алгебраических уравнений в MATLAB. D(x)=0 x=fzero(‘имя функции’,x0) . Численное решение обыкновенных дифференциальных уравнений (ОДУ) в MATLAB.
Дата добавления: 2014-12-07; Просмотров: 7091; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |