Разное по IT
  • Регистрация
1 1 1 1 1 1 1 1 1 1 Рейтинг 0.00 (0 Голоса)

Кафедра прикладной математики и экономической кибернетики.

МаtLAB как научный калькулятор

1.1.  Командное окно

После вызова MatLAB из среды Windows на экране возникает изображение так называемого «командного окна» среды MatLAB (рис. 1.1).

Рис. 1.1.

Это окно является основным в MatLAB. В нем появляются символы команд, которые набираются пользователем на экране дисплея, отображаются результаты выполнения этих команд, текст исполняемой программы и информация об ошибках выполнения программы, распознанных системой.

Признаком того, что MatLAB готова к восприятию и выполнению очередной команды, является возникновение в последней строке текстового поля окна знака приглашения ' >> ', после которого расположена мигающая вертикальная черта.

В верхней части окна (под заголовком) размещена строка меню, в которой находятся меню File, Edit, View, Windows, Help. Чтобы открыть какое-либо меню, следует установить на нем указатель мыши и нажать ее левую кнопку. Подробнее функции команд меню будут описаны далее, в разделе «Интерфейс MatLab и команды общего назначения. Написание М-книг».

Здесь отметим лишь, что для выхода из среды MatLAB достаточно открыть меню File и выбрать в нем команду Exit MATLAB, или просто закрыть командное окно, нажав левую клавишу мыши, когда курсор мыши установлен на изображении верхней крайней правой кнопки этого окна (с обозначением косого крестика).

1.2. Операции с числами

1.2.1. Ввод действительных чисел

Ввод чисел с клавиатуры осуществляется по общим правилам, принятым для языков программирования высокого уровня:

для отделения дробной части мантиссы числа используется десятичная точка (вместо запятой при обычной записи);

десятичный показатель числа записывается в виде целого числа после предшествующей записи символа «е»;

между записью мантиссы числа и символом «е» (который отделяет мантиссу от показателя) не должно быть никаких символов, включая и символ пропуска.

Если, например, ввести в командном окне MatLAB строку

1.20357651е-1,

то после нажатия клавиши <Еnter> в этом окне появится запись:

Рис. 1.2

Следует отметить, что результат выводится в виде (формате), который определяется предварительно установленным форматом представления чисел. Этот формат может быть установлен с помощью команды Preferences меню File (рис. 1.3). После ее вызова на экране появится одноименное окно (рис. 1.4). Один из участков этого окна имеет название Numeric Format. Он предназначен для установки и изменения формата представления чисел, которые выводятся в командное окно в процессе расчетов. Предусмотрены такие форматы:

Short (default) – краткая запись (применяется по умолчанию);

Long – длинная запись;

Hex – запись в виде шестнадцатиричного числа;

Bank – запись до сотых долей;

Plus – записывается только знак числа;

Short Е – краткая запись в формате с плавающей запятой;

Long Е – длинная запись в формате с плавающей запятой;

Short G – вторая форма краткой записи в формате с плавающей запятой;

Long G – вторая форма длинной записи в формате с плавающей запятой;

Rational – запись в виде рациональной дроби.

Рис. 1.3.

Избирая с помощью мыши нужный вид представления чисел, можно обеспечить в дальнейшем выведение чисел в командное окно именно в этой форме.

Рис. 1.4

Как видно из рис. 1.2, число, которое выведено на экран, не совпадает с введенным. Это обусловлено тем, что установленный по умолчанию формат пред­ставления чисел (Short) не позволяет вывести больше 6 значащих цифр. На самом деле введенное число сохраняется внутри MatLAB со всеми введенными его цифрами. Например, если избрать мышью селекторную кнопку Long Е (т. е. установить указанный формат представления чисел), то, повторяя те же действия, получим:

Рис. 1.5

где уже все цифры отображены верно (рис. 1.5).

Следует помнить:

введенное число и результаты всех вычислений в системе МаtLAB сохраняются в памяти ПК с относительной погрешностью около 2.10-16 (т. е. с точными значениями в 15 десятичных разрядах):

диапазон представления модуля действительных чисел лежит в диапазоне между 10-308 и 10+308.

1.2.2. Простейшие арифметические действия

В арифметических выражениях языка МаtLAB используются следующие знаки арифметических операций:

+ – сложение;

– – вычитание;

* – умножение;

/ – деление слева направо;

\ – деление справа налево;

^ – возведение в степень.

Использование MatLAB в режиме калькулятора может происходить путем простой записи в командную строку последовательности арифметических действий с числами, то есть обычного арифметического выражения, например: 4.5^2*7.23 – 3.14*10.4.

Если после ввода с клавиатуры этой последовательности нажать клавишу <Enter>, в командном окне возникнет результат выполнения в виде, представленном на рис. 1.6, т. е. на экран под именем системной переменной ans выводится результат действия последнего выполненного оператора.

Рис. 1.6.

Вообще вывод промежуточной информации в командное окно подчиняется таким правилам:

если запись оператора не заканчивается символом ';', результат действия этого оператора сразу же выводится в командное окно;

если оператор заканчивается символом ';', результат его действия не отображается в командном окне;

если оператор не содержит знака присваивания (=), т. е. является просто записью некоторой последовательности действий над числами и переменными, значение результата присваивается специальной системной переменной по имени ans;

полученное значение переменной ans можно использовать в следующих операторах вычислений, применяя это имя ans; при этом следует помнить, что значение системной переменной ans изменяется после действия очередного оператора без знака присваивания;

в общем случае форма представления результата в командном окне имеет вид:

<Имя переменной> = <результат>.

Пример. Пусть нужно вычислить выражение (25+17)*7. Это можно сделать таким образом. Сначала набираем последовательность 25+17 и нажимаем <Enter>. Получаем на экране результат в виде ans = 42.Теперь записываем последовательность ans*7 и нажимаем <Enter>. Получаем ans = 294 (рис. 1.7). Чтобы предотвратить выведение промежуточного результата действия 25+17, достаточно после записи этой последовательности добавить символ ';'. Тогда будем иметь результаты в виде, представленном на рис. 1.8.

Применяя MatLAB как калькулятор, можно использовать имена переменных для записи промежуточных результатов в память ПК. Для этого служит операция присваивания, которая вводится знаком равенства '=' в соответствия со схемой: <Имя переменной> = <выражение>[;]

Имя переменной может содержать до 30 символов и должно не совпадать с именами функций, процедур системы и системных переменных. При этом система различает большие и маленькие буквы в переменных. Так, имена 'amenu', 'Amenu', 'aMenu' в MatLAB обозначают разные переменные.

Выражение справа от знака присваивания может быть просто числом, арифметическим выражением, строкой символов (тогда эти символы нужно заключить в апострофы) или символьным выражением. Если выражение не заканчивается символом ';', после нажатия клавиши <Еnter> в командном окне возникнет результат выполнения в виде:

<Имя переменной> = <результат>.

Рис. 1.7. Рис. 1.8.

Рис. 1.9.

Например, если ввести в командное окно строку 'х = 25 + 17', на экране появится запись (рис. 1.9).

Система MatLAB имеет несколько имен переменных, которые используются самой системой и входят в состав зарезервированных:

i, j – мнимая единица (корень квадратный из –1); pi – число p (сохраняется в виде 3.141592653589793); inf – обозначение машинной бесконечности; Na – обозначение неопределенного результата (например, типа 0/0 или inf/inf); eps – погрешность операций над числами с плавающей запятой; ans – результат последней операции без знака присваивания; realmax и realmin – максимально и минимально возможные величины числа, которое может быть использованы.

Эти переменные можно использовать в математических выражениях.

1.2.3. Ввод комплексных чисел

Язык системы MatLAB, в отличие от многих языков программирования высокого уровня, содержит в себе очень простую в пользовании встроенную арифметику комплексных чисел. Большинство элементарных математических функций допускают в качестве аргументов комплексные числа, а результаты формируются как комплексные числа. Эта особенность языка делает его очень удобным и полезным для инженеров и научных работников.

Для обозначения мнимой единицы в языке МatLAB зарезервированы два имени i и j. Ввод с клавиатуры значения комплексного числа осуществляется путем записи в командное окно строки вида:

<имя комплексной переменной> = <значение ДЧ> + i[j] * <значение МЧ>,

где ДЧ – действительная часть комплексного числа, МЧ – мнимая часть. Например:

Рис. 1.10

Из приведенного примера видно, в каком виде система выводит комплексные числа на экран (и на печать).

1.2.4. Элементарные математические функции

Общая форма использования функции в MatLAB такова:

<имя результата> = <имя функции>(<перечень аргументов или их значений>).

В языке MatLAB предусмотрены следующие элементарные арифметические функции.

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

sin (z) – синус числа z;

sinh (z) – гиперболический синус;

asin (z) – арксинус (в радианах, в диапазоне от к );

аsinh (z) – обратный гиперболический синус;

соs (z) – косинус;

соsh(z) – гиперболический косинус;

acos (z) – арккосинус (в диапазоне от 0 к p);

асоsh (z) – обратный гиперболический косинус;

tan (z) – тангенс;

tanh (z) – гиперболический тангенс;

atan (z) – арктангенс (в диапазоне от от к );

аtап2 (Х, Y) – четырехквадрантный арктангенс (угол в диапазоне от –p до +p между горизонтальным правым лучом и лучом, который проходит через точку с координатами Х и Y);

atanh (z) – обратный гиперболический тангенс;

sec (z) – секанс;

sech (z) – гиперболический секанс;

asec (z) – арксеканс;

asech (z) – обратный гиперболический секанс;

csc (z) – косеканс;

csch (z) – гиперболический косеканс;

acsc (z) – арккосеканс;

acsch (z) – обратный гиперболический косеканс;

cot (z) – котангенс;

coth (z) – гиперболический котангенс;

acot (z) – арккотангенс;

acoth (z) – обратный гиперболический котангенс

Экспоненциальные функции

exp (z) – экспонента числа z;

log (z) – натуральный логарифм;

log10 (z) – десятичный логарифм;

sqrt (z) – квадратный корень из числа z;

abs (z) – модуль числа z.

Целочисленные функции

fix (z) – округление к ближайшему целому в сторону нуля;

floor (z) – округление к ближайшему целому в сторону отрицательной бесконечности;

ceil (z) – округление к ближайшему целому в сторону положительной бесконечности;

round (z) – обычное округление числа z к ближайшему целому;

mod (X, Y) – целочисленное деление X на Y;

rem (X, Y) – вычисление остатка от деления X на Y;

sign (z) – вычисление сигнум-функции числа z

(0 при z = 0, –1 при z < 0, 1 при z > 0)

1.2.5. Специальные математические функции

Кроме элементарных в языке MatLAB предусмотрен целый ряд специальных математических функций. Ниже приведен перечень и краткое содержание этих функций. Правила обращения к ним и использования пользователь может отыскать в описаниях этих функций, которые выводятся на экран, если набрать команду help и указать в той же строке имя функции.

Функции преобразования координат

cart2sph – преобразование декартовых координат в сферические;

cart2pol – преобразование декартовых координат в полярные;

pol2cart – преобразование полярных координат в декартовые;

sph2cart – преобразование сферических координат в декартовые.

Функции Бесселя

besselj – функция Бесселя первого рода;

bessely – функция Бесселя второго рода;

besseli – модифицированная функция Бесселя первого рода;

besselk – модифицированная функция Бесселя второго рода.

Бета-функции

beta – бета-функция;

betainc – неполная бета-функция;

betaln – логарифм бета-функции.

Гамма-функции

gamma – гамма-функция;

gammainc – неполная гамма-функция;

gammaln – логарифм гамма-функции.

Эллиптические функции и интегралы

ellipj – эллиптические функции Якоби;

ellipke – полный эллиптический интеграл;

expint – функция экспоненциального интеграла.

Функции ошибок

erf – функция ошибок;

erfc – дополнительная функция ошибок;

erfcx – масштабированная дополнительная функция ошибок;

erflnv – обратная функция ошибок.

Другие функции

gcd – наибольший общий делитель;

lern – наименьшее общее кратное;

legendre – обобщенная функция Лежандра;

log2 – логарифм по основанию 2;

pow2 – возведение 2 в указанную степень;

rat – представление числа в виде рациональной дроби;

rats – представление чисел в виде рациональной дроби.

1.2.6. Элементарные действия с комплексными числами

Простейшие действия с комплексными числами – сложение, вычитание, умножение, деление и возведение в степень – осуществляются при помощи обычных арифметических знаков +,–,*,/, \ и ^ соответственно.

Примеры использования приведены на рис. 1.11.

Рис. 1.11.

Примечание. В приведенном фрагменте использована функция disp (от слова 'дисплей'), которая тоже выводит в командное окно результаты вычислений или некоторый текст. При этом численный результат, как видно, выводится уже без указания имени переменной или ans.

1.2.7. Функции комплексного аргумента

Практически все элементарные математические функции, приведенные в п. 1.2.4, вычисляются при комплексных значениях аргумента и получают в результате этого комплексные значения результата.

Благодаря этому, например, функция sqrt вычисляет, в отличие от других языков программирования, квадратный корень из отрицательного аргумента, а функция abs при комплексном значении аргумента вычисляет модуль комплексного числа. Примеры приведены на рис. 1.12.

В МаtLАВ есть несколько дополнительных функций, рассчитанных только на комплексный аргумент:

real (z) – выделяет действительную часть комплексного аргумента z;

іmag (z) – выделяет мнимую часть комплексного аргумента;

angle (z) – вычисляет значение аргумента комплексного числа z (в радианах в диапазоне от –p до +p);

conj (z) – выдает число, комплексно сопряженное относительно z.

Примеры приведены на рис. 1.13.

Рис. 1.12. Рис. 1.3.

Кроме того, в MatLAB есть специальная функция cplxpair (V), которая осуществляет сортировку заданного вектора V с комплексными элементами таким образом, что комплексно-сопряженные пары этих элементов располагаются в векторе-результате в порядке возрастания их действительных частей, при этом элемент с отрицательной мнимой частью всегда располагается первым. Действительные элементы завершают комплексно-сопряженные пары. Например (в дальнейшем в примерах команды, которые набираются с клавиатуры, будут написаны жирным шрифтом, а результат их выполнения – обычным шрифтом):

>> v = [ -1, -1+2i,-5,4,5i,-1-2i,-5i]

v =

Columns 1 through 4

-1.0000 -1.0000 +2.0000i -5.0000 4.0000

Columns 5 through 7

0 + 5.0000i -1.0000-2.0000i 0 - 5.0000i

>> disp(cplxpair(v))

Columns 1 through 4

-1.0000 - 2.0000i -1.0000 + 2.0000i 0 - 5.0000i 0 + 5.0000i

Columns 5 through 7

-5.0000 -1.0000 4.0000

Приспособленность большинства функций MatLAB к оперированию с ком­плексными числами позволяет значительно проще строить вычисления с действи­тельными числами, результат которых является комплексным, например, находить комплексные корни квадратных уравнений.

2.  Рекомендуемая литература

1.  Гультяев А. К. MatLAB 5.2. Имитационное моделирование в среде Windows: Практическое пособие. - Спб.: КОРОНА принт, 1999. - 288 с.

2.  Гультяев А. К. Визуальное моделирование в среде MATLAB: Учебный курс. - Спб.: ПИТЕР, 2000. - 430 с.

3.  Дьяконов В. П. Справочник по применению системы PC MatLAB. - M.: Физматлит, 1993. - 113с.

4.  Дьяконов В. Simulink 4. Специальный справочник. - Спб: Питер, 2002. – 518 с.

5.  Дьяконов В., Круглов В. Математические пакеты расширения MatLAB. Специальный справочник. - СПб.: Питер, 2001. - 475с.

6.  Краснопрошина А. А., Репникова Н. Б., Ильченко А. А. Современный анализ систем управления с применением MATLAB, Simulink, Control System: Учебное пособие. - К.: "Корнійчук", 1999. – 144 с.

7.  Лазарев Ю. Ф. Початки програмування в среде MatLAB: Уч. пособие. - К.: "Корнійчук", 1999. - 160с.

8.  Лазарев Ю. MatLAB 5.x. – К.: "Ирина" (BHV), 2000. – 384 с.

9.  Медведев В. С., Потемкин В. Г. Control System Toolbox. MatLAB 5 для студентов. - Г.: "ДИАЛОГ-МИФИ", 1999. – 287 с.

10.  Потемкин В. Г. MatLAB 5 для студентов: Справ. пособие. - M.: "ДИАЛОГ-МИФИ", 1998. - 314 с.

 

Добавить комментарий


Защитный код
Обновить

По темам:

История Украины

Культурология

Высшая математика

Информатика

Охотоведение

Статистика

География

Военная наука

Английский язык

Генетика

Разное

Технологиеские темы

Украинский язык

Филология

Философия

Химия

Экология

Социология

Физическое воспитание

Растениевосдство

Педагогика

История

Психология

Религиоведение

Плодоводство

Экономические темы

Бухгалтерские темы

Маркетинг

Иностранные языки

Ветеринарная медицина

Технические темы

Землеустройство

Медицинские темы

Творчество

Лесное и парковое хозяйство