Тригонометрические, гиперболические и обратные к ним функции
Ниже перечислены встроенные в MatLab тригонометрические функции и обратные к ним: ¨ sin, cos, tan, cot - синус, косинус, тангенс и котангенс; ¨ sec, сsc - секанс, косеканс ¨ asin, acos, atan, acot - арксинус, арккосинус, арктангенс и арккотангенс; ¨ asec, acsc - арксеканс, арккосеканс. Замечание Аргументы тригонометрических функций должны быть выражены в радианах. Обратные тригонометрические функции возвращают результат также в радианах. В MatLab встроены следующие гиперболические функции и обратные к ним: ¨ sinh, cosh, tanh, coth - гиперболические синус, косинус, тангенс и котангенс; ¨ seen, csch - гиперболические секанс и косеканс; ¨ asinn, acosh, atanh, acoth - гиперболические арксинус, арккосинус, арктангенс и арккотангенс; ¨ asech, acsch - гиперболические арксеканс и арккосеканс. Экспоненциальная функция, логарифмы, степенные функции Ниже перечислены примеры этих функций в MatLab: ¨ ехр - экспоненциальная функция; ¨ log - натуральный логарифм; ¨ log10 - десятичный логарифм; ¨ log2 - логарифм по основанию 2; ¨ pow2 - возведение числа 2 в степень; ¨ sqrt - квадратный корень; ¨ nextpow2 - степень, в которую надо возвести число 2, чтобы получить ближайшее число (большее или равное аргументу), например >> nextpow2(1000) ans= Функции для работы с комплексными числами К ним относятся следующие функций MatLab: ¨ abs, angle - модуль r и фаза j(в радианах от -p до p)комплексного числа а+i·b = r·(cosj+ i·sinj); ¨ complex - конструирует комплексное число по его действительной и мнимой части: >> complex(2.3, 5.8) ans = 2.3000 + 5.8000i; ¨ conj - возвращает комплексно-сопряженное число; ¨ imag, real - возвращает мнимую и действительную часть комплексного числа. Округление и остаток от деления Ниже приведены примеры использования этих функций в MatLab:
¨ fix - округление до ближайшего целого по направлению к нулю: >> fix(l.8) >> fix(-1.9) ans = ans = 1 -1 ¨ floor, ceil - округление до ближайшего целого по направлению к минус бесконечности или плюс бесконечности: >> floor(3.2) >> ceil(3.2) ans = ans = 3 4 ¨ round - округление до ближайшего целого: >> round(4.1) >>round(4.5) ans = аns = 4 5 ¨ mod - остаток от целочисленного деления (со знаком): >> mod(5,2) >>mod(5,-2) ans = ans = 1 -1 ¨ rem - остаток от целочисленного деления: >> rem(5,2) >> rem(5,-2) ans = ans = 1 1 ¨ sign - возвращает знак числа. Замечание В MatLab имеются встроенные специальные математические функции, такие как: функция Бесселя, полиномы Лежандра и т. д. Команда help specfun выдает список специальных функций с кратким описанием. Для более подробной информации требуется набрать в командной строке help и имя функции. 2.5. Использование переменных Как и во всех языках программирования, в MatLab предусмотрена возможность работы с переменными. Причем пользователь не должен заботиться о том, какие значения будет принимать переменная (комплексные, вещественные или только целые). Для того чтобы присвоить, например, переменной z значение 1.45, достаточно написать в командной строке z=1.45, при этом MatLab сразу же выведет значение z: >> z = 1.45 z = 1.4500 Здесь знак равенства используется в качестве оператора присваивания. Часто не очень удобно после каждого присваивания получать еще и результат. Поэтому в MatLab предусмотрена возможность завершать оператор присваивания точкой с запятой для подавления вывода результата в командное окно. Именем переменной может быть любая последовательность букв и цифр без пробела, начинающаяся с буквы. Строчные и прописные буквы различаются, например MZ и mz являются двумя разными переменными. Количество воспринимаемых MatLab символов в имени переменной составляет 31 (такие длинные имена и не нужны).
В качестве упражнения на использование переменных найдите значение следующего выражения:
Наберите последовательность команд, приведенную ниже (обратите внимание на точку с запятой в первых двух операторах присваивания для подавления вывода промежуточных значений на экран): >> х = sin(1.3*pi)/log(3.4); >> у = sqrt(tan(2.75)/tanh(2.75)); >> z = (x+y)/(x-y) z = 0.0243 - 0.9997i Последний оператор присваивания не завершается точкой с запятой для того, чтобы сразу получить значение исходного выражения. Конечно, можно было бы ввести сразу всю формулу и получить тот же результат: >>(sin(1.3*pi)/log(3.4)+sqrt(tan(2.75) … /tanh(2.75)))/(sin(1.3*pi)/log(3.4)… -sqrt (tan (2.75)/tanh (2.75))) ans = 0.0243 - 0.9997i Но обратите внимание, насколько первая запись компактнее и яснее второй! Во втором варианте формула не помещалась в командном окне на одной строке, и пришлось записать ее в две строки, для чего в конце первой строки поставлены три точки. МatLab запоминает значения всех переменных, определенных во время сеанса работы. Если после ввода примера, приведенного выше, были проделаны еще какие-либо вычисления, и возникла необходимость вывести значение х, то следует просто набрать х в командной строке и нажать <Enter>: >> x x = -0.6611 Переменные, определенные выше, можно использовать и в других формулах. Например, если теперь необходимо вычислить выражение то достаточно ввести следующую команду: >> (х-у)^(3/2) ans = 0.8139 + 0.3547i Вызов функций в MatLab обладает достаточной гибкостью. Например, вычислить е3.5 можно, вызвав функцию ехр из командной строки: >> ехр(3.5) ans = 33.1155 Другой способ состоит в использовании оператора присваивания: >> t = ехр(3.5) t = 33.1155 Предположим, что часть вычислений с переменными выполнена, а остальные придется доделать во время следующего сеанса работы с MatLab. В этом случае понадобится сохранить переменные, определенные в рабочей среде. 2.6. Сохранение рабочей среды Самый простой способ сохранить значения всех переменных - использовать в меню File пункт Save Workspace As. При этом появляется диалоговое окно Save Workspace Variables, в котором следует указать каталог и имя файла. По умолчанию предлагается сохранить файл в подкаталоге work основного каталога MatLab. Оставьте пока этот каталог. Удобно давать файлам имена, содержащие дату работы, например work20-09-01. MatLab сохранит результаты работы в файле work20-09-01.mat. Теперь можно закрыть MatLab одним из следующих способов:
¨ выбрать в меню File пункт Exit MATLAB; ¨ нажать клавиши <Ctrl>+<Q>; ¨ набрать команду Exit в командной строке и нажать <Enter>; ¨ нажать на кнопку с крестиком в правом верхнем углу окна программы MatLab. В следующем сеансе работы для восстановления значений переменных следует открыть файл work20-09-01.mat при помощи подпункта Open меню File. Теперь все переменные, определенные в прошлом сеансе, стали доступными. Их можно использовать во вновь вводимых командах. Сохранение и восстановление переменных рабочей среды можно выполнить и из командной строки. Для этого служат команды save и load. В конце сеанса работы с MatLab надо выполнить команду >> save work20-09-01 Расширение можно не указывать, MatLab сохранит переменные рабочей среды в файле work20-09-01.mat. В начале следующего сеанса работы для считывания переменных следует ввести команду >> load work20-09-01 Подробную информацию о командах save и load можно получить, набрав в командной строкеhelp save или help load. Замечание Переменные в файлах с расширением mat хранятся в двоичном виде. Просмотр этих файлов в любом текстовом редакторе не даст никакой информации о переменных и их значениях. В MatLab имеется возможность записывать исполняемые команды и результаты в текстовый файл (вести журнал работы), который потом можно легко прочитать или распечатать из текстового редактора. Для начала ведения журнала служит команда diary. В качестве аргумента команды diary следует задать имя файла, в котором будет храниться журнал работы. Набираемые далее команды и результаты их исполнения будут записываться в этот файл, например последовательность команд >> diary d20-09-01.txt >> a1 = 3; >> а2 = 2.5; >> а3 = al + a2 >> а3 = >> 5.5000 >> save work20-09-01 >> quit производит следующие действия: 1. Открывает файл d20-09-01.txt. 2. Производит вычисления. 3. Сохраняет переменные в двоичном файле work20-09-01.mat. 4. Сохраняет на диске в подкаталоге work корневого каталога MatLab журнал работы в файле d20-09-01.txt и закрывает MatLab.
Посмотрите содержимое файла d20-09-01.txt в каком-нибудь текстовом редакторе, например в стандартной программе Windows Блокнот (NotePad). В файле окажется следующий текст: a1 = 3; a2 = 2.5; а3 = a1+a2 а3 = 5.5000 save work20-09-01 quit Запустите снова MatLab и введите команду load work20-09-0l, или откройте файл work20-09-01.mat при помощи меню, как описано в начале этого пункта. Изучим возможность просмотра переменных, определенных в рабочей среде. 2.7. Просмотр переменных При работе с достаточно большим количеством переменных необходимо знать, какие переменные уже использованы, а какие нет. Для этой цели служит команда who, выводящая в командное окно MatLab список используемых переменных: >> who Your variables are: al a2 a3 Команда whos позволяет получить более подробную информацию о переменных в виде таблицы: >> whos Name Size Bytes Class al 1x1 8 double array a2 1x1 8 double array a3 1x1 8 double array Grand total is 3 elements using 24 bytes Первый столбик Name состоит из имен используемых переменных. То, что содержится в столбике size, по существу, определяется основным принципом работы MatLab. Программа MatLab все данные представляет в виде массивов. Переменные a1, a2 и а3 являются двумерными массивами размера один на один. Каждая из переменных занимает по восемь байтов, как указано в столбике Bytes. Наконец, в последнем столбике class указан тип переменных - double array, т. е. массив, состоящий из чисел двойной точности. В строке под таблицей написано, что в итоге три элемента, т. е. переменные, занимают двадцать четыре байта. Оказывается, что представление всех данных в MatLab в виде массивов дает определенные преимущества. Для освобождения из памяти всех переменных используется команда clear. Если в аргументах указать список переменных (через пробел), то только они будут освобождены из памяти, например: >> clear a1 а3 >> who Your variables are: a2 Начиная с версии 6.0, появилось удобное средство для просмотра переменных рабочей среды - окно Workspace (рис. 4), для перехода к которому следует активизировать одноименную закладку. Данное окно содержит таблицу, аналогичную той, что выводится командой whos. Двойной щелчок по строке, соответствующей каждой переменной, приводит к отображению ее содержимого в отдельном окне, что особенно полезно при работе с массивами. Панель инструментов окна Workspace позволяет удалить лишние переменные, сохранить и открыть рабочую среду. Рис. 4. Окно Workspace
2.8. М-файлы Работа из командной строки MatLab затрудняется, если требуется вводить много команд и часто их изменять. Ведение дневника при помощи команды diary и сохранение рабочей среды незначительно облегчает работу. Самым удобным способом выполнения команд MatLab является использование М-файлов, в которых можно набирать команды, выполнять их все сразу или частями, сохранять в файле и использовать в дальнейшем. Для работы с М-файлами предназначен редактор М-файлов. При помощи редактора М-файлов можно создавать собственные функции и вызывать их, в том числе и из командной строки.
2.8.1. Работа в редакторе М-файлов Раскройте меню File основного окна MatLab и в пункте New выберите подпункт M-file. Новый файл открывается в окне редактора М-файлов, которое для версии 6.x имеет вид, изображенный на рис. 5. Рис. 5. Редактор М-файлов MatLab 6.x Наберите в редакторе команды, приводящие к построению двух графиков на одном графическом окне. Необязательно набирать много команд - наша цель сейчас состоит в том, чтобы научиться выполнять команды из редактора М-файлов. Ограничьтесь командами, приведенными в листинге 1.
Читайте также: Асимптоты графика функции Воспользуйтесь поиском по сайту: ©2015 - 2025 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|