Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Тригонометрические, гиперболические и обратные к ним функции




Ниже перечислены встроенные в 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 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...