Рабочее пространство и численные расчеты в MATLAB
Основные математические операции системы MATLAB, причины замедления работы. Вещественные числа и функции для них. Стандартные (встроенные) элементарные функции вещественного аргумента, обработка системных переменных. Операции с комплексными числами.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | реферат |
Язык | русский |
Дата добавления | 31.05.2010 |
Размер файла | 25,0 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Рабочее пространство и численные расчеты в MATLAB
1. Рабочее пространство MATLAB.
Командная строка системы MATLAB начинается со знака приглашения » (prompt), после которого можно записать любое алгебраическое выражение, т.е. выражение, состоящее из чисел, имен переменных и знаков операций. Имена переменных MATLAB должны начинаться с буквы и могут состоять не более чем из 31 символа (остальные символы игнорируются). Система также распознает верхний регистр в имени переменной.
Ниже приведено описание часто используемых математических операций
Описание математических операций
Операция |
Описание |
|
a+b |
сложение |
|
a-b |
вычитание |
|
a=b |
оператор присваивания |
|
a.*b |
поэлементное умножение |
|
a*b |
матричное умножение |
|
a./b |
правое поэлементное деление |
|
a.\b |
левое поэлементное деление |
|
a/b |
правое матричное деление |
|
a/b |
левое матричное деление |
|
a.^b |
поэлементное возведение в степень |
|
a^b |
матричное возведение в степень |
|
a<b |
меньше |
|
а>b |
больше |
|
а<=b |
меньше или равно |
|
а>=b |
больше или равно |
|
а~=b |
не равно |
|
a= =b |
равно |
|
а&b |
логическое И |
|
a|b |
логическое ИЛИ |
|
~ а |
логическое НЕ |
|
а.' |
транспонирование |
|
а' |
комплексно-сопряженное транспонирование |
|
[а b] |
горизонтальная конкатенация |
|
[а;b] |
вертикальная конкатенация |
|
a (S1,S2,...,Sn) |
ссылка по индексу |
|
a(S1,S2,...,Sn) =b |
присваивание по индексу |
|
b(a) |
индексирование |
Для того чтобы увидеть результат вычисления математического выражения, которое вводится после знака », нужно нажать клавишу Enter. После вычисления в нижней части экрана появится строка для ввода новых данных, которая также начинается со знака приглашения ».
Вся информация, которая набирается в строке ввода, запоминается в специальной области памяти, называемой стеком команд. С помощью нажатия клавиш управления курсором ^ или v можно вернуть в строку ввода ранее набранные команды. Расположение информации, которая отображена в рабочем окне MATLAB, можно условно разделить на две зоны: зону просмотра и зону ввода (или редактирования) информации. В зоне просмотра можно выделять (с помощью мыши) любую информацию и копировать ее в буфер обмена Windows, однако в ней ничего нельзя исправлять. Зона ввода занимает последнюю строку рабочего окна. В ней можно вводить и редактировать набранные выражения.
Для того чтобы ввести в строке ввода значения нескольких переменных подряд, между выражениями ставится знак ;. Необходимо отметить, что знак ; используется также для того, что бы система не выводила на экран результат после нажатия клавиши Enter.
Иногда работа в системе MATLAB существенно замедляется. Это происходит из-за того, что в специальной области памяти компьютера запоминается огромное количество значений всех переменных, вычисленных в течение текущего сеанса работы. Данная область называется рабочим пространством системы MATLAB. Для того чтобы скорость работы не замедлялась, переменные, которые уже не нужны для работы, необходимо стирать из памяти компьютера. Это делается с помощью команды clear, имеющей следующий синтаксис:
clear (`имя1' ,'имя2' ,...) .
Указанная команда удаляет из рабочего пространства переменные с именами имя1, имя2 и т.д.
Выполнив команду who, можно узнать, какие переменные остались в рабочем пространстве:
>> who
Your variables are:
ans x
Удалить из памяти компьютера все ранее использованные переменные можно, выполнив команду clear без указания их имен и без скобок.
Команда clc очищает видимую часть рабочего пространства.
Для просмотра значения какой-либо переменной, содержащейся в рабочем пространстве, достаточно набрать ее имя и нажать кнопку Enter
Подробное описание любой команды MATLAB можно получить, выполнив команду
hеlр_имя команды.
2. Вещественные числа и функции для них
Базовым типом данных, с которым работает система MATLAB, является тип double. Этот тип означает множество вещественных значений в диапазоне от 1.797693134862316Е+308 до - 2.2250738585D7202E-308. Указанным граничным значениям диапазона соответствуют встроенные имена: realmax и realmin соответственно. Вещественные числа можно записывать в форме с фиксированной точкой и в форме с плавающей точкой. В первом случае целая и дробная части числа разделяются символом '. '(точка), например:
19.127, 0.35, -71.82.
В форме с плавающей точкой вещественное число записывается в следующем формате:
мантисса Е степень,
где буква Е означает основание степени, равное 10.
Например, 3.147Е+5 означает 3.1147*105, 7.3Е-9 означает 7.3*10-9.
Для вывода результатов вычислений можно использовать три формата записи вещественных чисел: short, long и rat. По умолчанию система MATLAB округляет результаты вычислений до четырех знаков после запятой. Формат такой записи вещественных чисел называется short
>> format short
>> c=4/27
c =
0.1481
Для вычислений с большей точностью нужно использовать формат long,
>> format long
>> c=4/27
c =
0.14814814814815
После использования команды format long результаты вычислений будут выводиться на экран в указанном формате в течение всего сеанса работы. Если необходимо вернуться к формату (четыре знака после запятой), то для этого достаток набрать команду format short и нажать Enter
Формат rat показывает вещественные числа в виде обыкновенных дробей. Например:
>> format rat
>> c
c =
4/27
Наконец, если результатом вычислений является целое число, то, независимо от формата, на экран будет выводиться целое число. Ниже приведен пример такого вычисления:
>> a=3.5; b=4;
>> c=a*b
c =
14
Формат выводимого на экран результата вычислений можно также задать с помощью опции в подменю Preference меню Filе
Изменение формата осуществляется с помощью переключателей. Здесь можно выбрать следующие форматы чисел
Short(default) - краткая запись (по умолчанию);
ShortE - краткая запись в формате с плавающей точкой;
ShortG - вторая форма краткой записи с плавающей точкой;
Long - длинная запись;
LongE - длинная запись в формате с плавающей точкой;
LongG - вторая форма длинной записи с плавающей точкой;
Heх- запись в шестнадцатеричной системе;
Bank- запись до сотых;
Plus - запись только знака числа;
Rational - запись в виде рациональной дроби.
Над переменными типа double можно производить операции сложения, вычитания, умножения, деления и возведения в степень. Результаты их применения приведены ниже:
>> b=10^3
b =
1000
>> t=b/3.5
t =
285.7143.
Степень приоритетности арифметических операций в системе MATLAB обычная: высший приоритет - у операции возведения в степень, затем - деление и умножение, и самый низкий приоритет - у сложения и вычитания. Следует отметить, что круглые скобки могут менять порядок выполнения операций, т.е. операции в скобках выполняются в первую очередь.
Описание правил использования и записи операций, по сути, является внутренним языком системы MATLAB, который называется М-языком. Этот язык построен таким образом, чтобы можно было удобно и эффективно решать любые специфические математические задачи.
Кроме арифметических операций, над переменными типа double можно также выполнять операции отношения и логические операции.
Операции отношения сравнивают между собой значения двух переменных по величине. Если отношение является истинным, то результат равен 1, если ложным - 0. Например:
>> a=5; b=8; c=2;
>> d= (a>b) + (b~=c) +(c<a)
d =
2
Приоритетность операций отношения ниже приоритетности арифметических операций. Однако ввиду того, что круглые скобки могут менять порядок выполнения операций в рассмотренном примере значение переменной d равно алгебраической сумме операций отношения. Здесь результатом отношения а>b является 0, т.к. а меньше b (т.е. это «ложь»), результатом отношения b~=c является 1 т.к. это "истина", и, наконец, отношение с<а также истинно и поэтому ее результат является также 1. В результате переменная d получается равной 2.
Логические операции обозначаются знаками, приведенными в таблице
Обозначение |
Операция |
|
& |
Логическое И |
|
| |
Логическое ИЛИ |
|
~ |
Логическое НЕ |
Знаки операций И и ИЛИ ставятся между переменными, а знак операции НЕ - перед переменной. Приоритет логических операций самый низкий.
3. Стандартные математические функции системы MATLAB
В системе MATLAB существуют стандартные (встроенные) элементарные функции вещественного аргумента.
Стандартные функции вещественного аргумента
Обозначение |
Описание |
|
Экспоненциальные функции |
||
a^х |
степенная функция |
|
x^а |
показательная функция |
|
sqrt(x) |
квадратный корень |
|
ехр(х) |
экспонента |
|
log(x) |
натуральный логарифм |
|
log10(x) |
десятичный логарифм |
|
abs(x) |
модуль |
|
fix(x) |
отбрасывание дробной части числа |
|
floor (x) |
округление до меньшего целого |
|
ceil(x) |
округление до большего целого |
|
round (x) |
обычное округление |
|
rem(x, y) |
остаток от деления x на у без учета знака |
|
mod(x, y) |
остаток от деления x на у с учетом знака |
|
sign(x) |
знак числа |
|
Factor (x) |
разложение числа x на простые множители |
|
Функции преобразования координат |
||
cart2sph |
преобразование декартовых координат в сферические |
|
cart2pol |
преобразование декартовых координат в полярные |
|
pol2cart |
преобразование полярных координат в декартовы |
|
sph2cart |
преобразование сферических координат в декартовы |
|
Функции Бесселя |
||
besselj (nu, x) |
функция Бесселя первого рода |
|
bessely (nu, x) |
функция Бесселя второго рода |
|
besseli (nu, x) |
модифицированная функция Бесселя первого рода |
|
besselk (nu, x) |
модифицированная функция Бесселя второго рода |
|
Бета - функции |
||
beta(z, w) |
бета-функция |
|
betainc (z, w) |
неполная бета - функция |
|
betaln (z, w) |
логарифм бета - функции |
|
Гамма - функции |
||
gamma(a) |
гамма-функция |
|
gammainc(x,a) |
неполная гамма- функция |
|
gammaln(a) |
логарифм гамма- функции |
|
Эллиптические функции и интегралы |
||
elliptj(u,n) |
эллиптическая функция Якоби |
|
elliptke(m) |
полный эллиптический интеграл |
|
expint(x) |
функция экспоненциального интеграла |
|
Функции ошибок |
||
erf(x) |
функция ошибок |
|
erfc(x) |
дополнительная функция ошибок |
|
erfcx(x) |
масштабированная дополнительная функция ошибок |
|
erfinv(x) |
обратная функция ошибок |
|
Другие функции |
||
gcd(a,b) |
наибольший общий делитель |
|
lcm(а, Ь) |
наименьшее общее кратное |
|
legendre(n , х) |
обобщенная функция Лежандра |
|
log2(x) |
логарифм по основанию 2 |
|
pow2(n) |
возведение числа 2 в степень n |
|
rat(x) |
представление числа в виде рациональной дроби |
|
primes (n) |
формирование списка простых чисел |
|
Тригонометрические функции |
||
sin(x) |
синус |
|
sinh(x) |
синус гиперболический |
|
asin(x) |
арксинус |
|
asinh(x) |
арксинус гиперболический |
|
cos (x) |
косинус |
|
cosh(x) |
косинус гиперболический x |
|
асоs (х) |
арккосинус |
|
acosh (x) |
арккосинус гиперболический |
|
tan(x) |
тангенс |
|
tanh(x) |
тангенс гиперболический |
|
atan(x) |
арктангенс |
|
atanh(x)0 |
арктангенс гиперболический |
|
cot(x) |
котангенс |
|
coth(x) |
котангенс гиперболический |
|
acot(x) |
арккотангенс |
|
acoth(x) |
арккотангенс гиперболический |
|
sec(x) |
секанс |
|
asec(x) |
арксеканс |
|
asech(x) |
арксеканс гиперболический |
|
csc(x) |
косеканс |
|
cscр(x) |
косеканс гиперболический |
|
acsc(x) |
арккосеканс |
|
acsch(x) |
арккосеканс гиперболический |
|
Функции комбинаторики |
||
perms(v) |
вычисляет число перестановок |
|
nchoose |
вычисляет количество сочетаний из n по k |
Далее представлены примеры применения функций.
Пример. Разложение чисел 5, 27, 46 на, простейшие множители.
>> factor(5)
ans =
5
>> factor (27)
ans =
3 3 3
>> factor (46)
ans =
2 23
Пример. Представление числа 1.25 в виде рациональной дроби.
>> rat(1.25)
ans =
1 + 1/(4)
Пример. Вычисление всех возможных комбинаций перестановок чисел 1,2,3.
>> a=[1,2,3];
>> p=perms(a)
p =
3 2 1
3 1 2
2 3 1
2 1 3
1 2 3
1 3 2
4. Системные переменные MATLAB
В системе MATLAB существует особой вид переменных, значение которых, за исключением переменой ans, нельзя изменить. Эти переменные называются системными. Они предназначены для более эффективной работы при вычислениях, а также для вывода системой сообщений при некорректной постановке задачи пользователем. В таблице приведен список системных переменных, используемых в MATLAB.
Обозначения системных переменных MATLAB
Переменная |
Значение переменной |
|
i, j |
мнимая единица ( ) |
|
pi |
число (3.14159265) |
|
eps |
погрешность для операций над числами с плавающей точкой (по умолчанию -52) |
|
realmin |
минимальное значение вещественного числа (2-1022) |
|
realmax |
Максимальное значение вещественного числа (21023) |
|
inf |
бесконечность () |
|
naN |
неопределенность, например, 0/0) |
|
ans |
переменная, хранящая результат последней операции |
5. Комплексные числа
В системе MATLAB комплексные числа, тате же, как и вещественные, имеют тип double. Поэтому нет необходимости в отдельной маркировке, отмечающей работу с комплексными числами. Запись производится следующим образом: 3+7i; -7.1+0.831Е+2*i; 5-3j . Из примера видно, что для обозначения мнимой единицы можно использовать одну из букв: i или j. По умолчанию MATLAB использует букву i.
Ниже приведен пример вычисления корня квадратного из -1
>> a=-1;
>> b=sqrt(a)
b =
0 + 1.0000i
Для комплексных чисел можно применять те же функции, что и для вещественных, кроме очевидных случаев, когда у функции не может быть комплексного аргумента. Например, функция rem (x,y) вычисляет остаток от деления x на у, поэтому использование в качестве ее аргумента комплексного числа приведет к ошибке:
>> a=2+3*i;
>> rem(a,3)
??? Error using ==> rem
Arguments must be real.
Наряду с этим, существует также ряд функций, применяемых только к комплексным переменным.
Функции комплексных переменных
Функция |
Описание |
|
abs |
абсолютное значение комплексного числа |
|
conj |
комплексно-сопряженное число |
|
imag |
мнимая часть комплексного числа |
|
real |
действительная часть комплексного числа |
|
angle |
аргумент комплексного числа |
|
isreal |
"истина", если число действительное |
Например:
>> abs(2+3i)
ans =
3.6056
>> conj(2+3i)
ans =
2.0000 - 3.0000i
>> x=2+3i;
>> isreal(x)
ans =
0
В последнем примере функция isreal возвратила число 0, т.к. переменная x не является действительной.
Подобные документы
Особенности работы в режиме командной строки в системе Matlab. Переменные и присваивание им значений. Комплексные числа и вычисления в системе Matlab. Вычисления с использованием функции sqrt. Неправильное использование функций с комплексными аргументами.
дипломная работа [1,9 M], добавлен 30.07.2015Создание матриц специального вида в Matlab: использование функций и анализ основного синтаксиса. Проведение вычислений с элементами массивов. Логические функции, поиск в массиве. Матричные и поэлементные операции. Операции "деления" слева и справа.
презентация [189,4 K], добавлен 24.01.2014Общие свойства и возможности рабочего стола. Получение справок (Getting Help). Рабочее пространство системы MATLAB. Просмотр и редактирование массивов данных при помощи редактора Array Editor. Пути доступа системы. Операции с файлами.
учебное пособие [1021,2 K], добавлен 28.05.2007Схема речеобразования у человека. Запись и считывание данных из речевого сигнала в MATLAB. Синтаксис вызова функции. Операции над звуковыми файлами. Исследование мужского и женского голосов. Спектрограммы голосов. Обработка речи в Simulink, Wavelet.
контрольная работа [2,2 M], добавлен 18.04.2013Использование программного обеспечения MatLab для выполнения математических расчетов в области линейной алгебры, теории информации и обработки сигналов, автоматического и автоматизированного управления. Возможности стандартного интерфейса программы.
курсовая работа [178,7 K], добавлен 08.08.2011Создание и представление символьных переменных в программе Matlab, операции над полиномами и упрощение выражений. Пример подстановки значения в функцию, решения уравнений и систем, дифференцирования, интегрирования и вычисления пределов функций.
презентация [359,2 K], добавлен 24.01.2014Типы численных данных с фиксированной точкой и основные операции обращения с ними. Целые двоичные числа: классификация, особенности, основные понятия. Наработка практических навыков обращения с целыми числами на компьютере (запись, считывание, хранение).
контрольная работа [24,8 K], добавлен 12.03.2011Изучение методов и этапов создания класса Complex, позволяющего работать с комплексными числами и производить с ними следующие операции: сложение, вычитание, умножение, деление двух комплексных чисел. Написание кода для ввода и вывода исходных данных.
курсовая работа [628,4 K], добавлен 11.09.2010Графики вещественнозначных функций вещественного переменного. Построение двумерных графиков. Пример построения графика синусоиды. Пример использования функции subplot. Оформление двумерных графиков в системе MatLab. Основные функции оформления графиков.
курсовая работа [826,3 K], добавлен 30.04.2019Общие сведения о языке программирования Matlab. Функции работы с векторами и матрицами. Операторы условных переходов. Построение двумерных графиков. Построение гистограммы изображения. Функции его преобразования и зашумления, метрики определения качества.
лабораторная работа [853,5 K], добавлен 25.10.2015