Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Архитектураlab1

.pdf
Скачиваний:
9
Добавлен:
10.04.2015
Размер:
1.11 Mб
Скачать

- Save Workspace As - Вызов окна сохранения МАТ-файла Рабочей облас-

ти;

-Set Path - Вызов окна сохранения и добавления в каталог маршрута доступа к М-файлу;

-Preferences - Установка системных свойств MATLAB;

-Page Setup - Установка настроек вывода на печать;

-Print - Печать выделенного фрагмента;

-Вызов разрабатываемых файлов (любого или всех вместе) (Recent);

-Exit MATLAB - Выход из MATLAB;

Окно обеспечивает:

-вызов всех других окон MATLAB;

-пользовательскую настройку обеих свойств MATLAB через меню «Файл

Свойства»,

-прямые вычисления в поле окна посредством операторов и функций

MATLAB;

-создание рабочих областей сеанса работы и его текстовый протокол («дневник сессии»).

Вычисления в окне носят односеансовый характер и не запоминаются: в окне не предусмотрено запоминание файла с вычислениями! В окне можно только запомнить: имена используемых переменных, их типы и массивы значений (в виде рабочих областей) и текстовый дневник сеанса (именуемого в MATLAB сессией).

Чтобы получить возможность запоминания вычислений с результатами и их многократного вызова, необходимо вычисления в Командном окне копировать в М - файл, создаваемый в окне Редактора - отладчика М - файлов.

Типы данных в MATLAB - рис. 4. Применяемые форматы числовых данных - на рис. 5.

Рис. 4. Типы данных (массивов) в MATLAB 6.5.

Свойства MATLAB как вычислительной системы установлены по умолчанию, но их можно изменить для окон Рабочего пространства через панель «Preferences», вызываемую через меню «Файл – Свойства». Панель состоит из двух областей (рис. 4): левой белого цвета с деревом настраиваемых объектов MATLAB и правой серой с окнами ввода значений настроечных параметров. Вид правой области меняется в зависимости от выделенного для настройки объекта (на рис. 4 выделенный объект – Командное окно).

Форматы чисел (см. пример [1]):

-Short - Короткий (по умолчанию) с фиксированной точкой, 5 знаков: 0.3894 (для sin 0.4)

-Long - Длинный с фиксированной точкой, 15 знаков: 0.38941834230865

-Short e - Короткий экспоненциальный, 5 знаков мантиссы, 2 - порядка: 3.1616е+00 (для числа

π)

-Long e - Длинный экспоненциальный, 15 знаков мантиссы, 3 - порядка:

3.16159265358979е +000

-Short g - Короткий с фиксированной точкой, 6 знаков: 0.38942

-Long g - Длинный с фиксированной точкой, 16 знаков: 0.389418342308651

-Hex - Шестнадцатиричное число: 400921fb54442d18

-Bank - Комерческий: 3.14 (рубли. копейки)

+- Плюс : + для положительного числа, - для отрицательного, пробел – для нуля 10

-Rational - 368/945 (для sin 0.4), 355/113 (для числа π), отношение двух наименьших целых чисел

-Compact - Отсутствие пробела между строками

-Loose - Наличие пробела между строками

Рис. 5. ПанельСвойствасвводомнастроекдляКомандногоокна.

Диапазон используемых в MATLAB чисел чисел: 10 –308 …10 +308 . Специальныечисла:

-inf – бесконечнобольшаявеличина;

-Pi – числоπ;

-NaN - длярезультата, непредставимоговвидечисла, например, 0/0 или0 . inf;

-Eps –бесконечномалаявеличина.

1.3. ОкноРедактора– ОтладчикаМ-файлов

Рис. 6. Окно Редактора - Отладчика

Редактор/отладчик предназначен для создания и отладки М-файлов. Он поддерживает следующие операции от кнопок окна (Кнопка окна – слева направо на рис.1.6 ):

создание нового М-файла (Новый),

открытие существующего М-файла (Открыть) ,

сохранение М-файла на диске (Сохранить),

удаление фрагмента (Вырезать),

копирование фрагмента (Копировать),

вставка фрагмента (Вставка),

печать М-файла (Печать),

текущая помощь (О программе),

установить/удалить точку прерывания (при отладке М-файла) – (Установить/Снять контрольную точку),

удалить все точки прерывания (при завершении отладки М-файла) – (Снять все контрольные точки),

пошаговую трассировку М-файла с заходом в вызываемые М-файлы (Заходить в локи),

пошаговую трассировку М-файла без захода в вызываемые М-файлы (Пошаговое выполнение),

продолжить выполнение программы без трассировки (Продолжить),

завершить отладку (Окончить отладку).

При написании М-файла в окне осуществляется синтаксический контроль его программы с цветовым выделением синтаксических объектов:

-ключевые слова языка программирования (function, for, end и т.п.)

синий цвет;

-операторы, константы и переменные — черный цвет;

-комментарии после знака «%» — зеленый цвет;

-символьные переменные (в апострофах) — зеленый цвет;

-синтаксические ошибки — красный цвет.

М-файлы бывают двух типов: сценарии и функции.

Файл-сценарий, именуемый также Script-файлом, является просто записью серии команд без входных и выходных параметров. Он имеет следующую структуру.

%Основной комментарий %Дополнительный комментарий Тело файла с любыми выражениями

Важны следующие свойства файлов-сценариев:

они не имеют входных и выходных аргументов;

работают с данными из рабочей области;

в процессе выполнения не компилируются;

представляют собой зафиксированную в виде файла последовательность операций, полностью аналогичную

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

Основным комментарием является первая строка текстовых комментариев,

адополнительным — последующие строки. Основной комментарий выводится привыполнении команд lookfor и help имя_каталога. Полный ком-

ментарий выводится при выполнении команды help Имя_файла.

М-файл- функция является типичным объектом языка программирования системы Матлаб. Одновременно он является полноценным модулем с точки зрения структурного программирования, поскольку содержит входные и вы-

ходные параметры и использует аппарат локальных переменных. Структура такого модуля с одним выходным параметром выглядит следующим образом:

function vаг = f_name(Список_параметров) %Основной комментарий

%Дополнительный комментарий Тело файла с любыми выражениями vаг=выражение

М-файл функции имеет следующие свойства:

он начинается с объявления function, после которого указывается имя переменной var — выходного параметра, имя самой функции и список ее входных параметров;

функция выдает значение и может использоваться в виде name(Список_параметров) в математических выражениях;

все переменные, имеющиеся в теле файла-функции, являются локальными, то есть действуют только в пределах тела функции;

файл-функция является самостоятельным программным модулем, который общается с другими модулями через свои входные и выходные параметры;

правила вывода комментариев те же, что у файлов-сценариев;

файл-функция служит средством расширения системы Матлаб;

при обнаружении файла-функции он компилируется и затем исполняется, а созданные машинные коды хранятся в рабочей области системы Матлаб.

Последняя конструкция vаг = выражение вводится, если требуется, чтобы функция выдавала результат вычислений.

Приведенная форма файла-функции характерна для функции с одним выходным параметром. Если выходных параметров больше, то они указываются в квадратных скобках после слова function. При этом структура модуля имеет следующий вид:

function [vаг1,vаг2,...] = f_namе(Список_параметров) %Основной комментарий

%Дополнительный комментарий Тело файла с любыми выражениями var1-выражение

vaг2=выpaжeниe

Такая функция во многом напоминает процедуру. Ее нельзя слепо использовать непосредственно в математических выражениях, поскольку она выдает не единственный результат, а множество результатов — по числу выходных параметров. Если функция, имеющая несколько выходных параметров, входит в состав математического выражения, для вычислений в выражении будет ис-

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

отдельный элемент программ в виде

[varl,var2, …] = namе(Список_параметров)

После такого вызова выходные переменные varl, var2, … становятся определенными и их можно использовать в последующих математических выражениях и иных сегментах программы Если функция используется в виде f_namе(Список_параметров), то выдается значение только для первого выходного параметра - переменной varl.

При отладке и вычислениях в окне Редактора - отладчика СООБЩЕНИЯ ОБ ОШИБКАХ И РЕЗУЛЬТАТЫ ВЫЧИСЛЕНИЙ ВЫДАЮТСЯ В КОМАНДНОЕ ОКНО МАТЛАБА, что исключает возможность искажения восприятия пользователем отлаживаемой или работающей программы!

1.4.Правила вычислений в Командном окне

Работа с системой в режиме прямых вычислений носит диалоговый харак-

тер и происходит по правилу «Задал выражениеполучиответ».

Пользователь набирает на клавиатуре вычисляемое выражение, редактирует его (если нужно) в командной строке и завершает ввод нажатием клавиши Enter.

Для указания места ввода используется символ >>.

Данные вводятся с помощью строчного редактора (встроенного в Матлаб (по умолчанию) иливнешнего, выбираемогопользователем).

Знаком присваивания является привычный математикам знак равенства = , а некомбинированный знак :=, как во многихдругих математических системах.

Правила записи матрицы, вектора и скаляра: большимы буквами (например, А) обозначаются матрицы, малыми (а) - векторы и скаляры. Векторные функции (выдающие значения в виде вектора) обозначаются большими буквами ( F(x) ), скалярные функции (их значение — скаляр — действительное число) обозначаются малымибуквами(f(x)).

Комплексное или мнимое число определяется по наличию в его составе кон-

стант i или j, которым присваивается значение sqrt(-1) =

1 . Комплексное число

можно вводить одним из следующих способов: 5+3i;

5+3*I; 5+3j; 5+3*j или

5+3*sqrt(-1) -разные виды одногои тогоже числа.

Значения аргумента функции в виде выражения присваивания вводятся раньше выражения функции и отделяются от него точкой с запятой (см. пп. 11-13). Аргумент в виде одного числа можно вставлять в окаймлении круглых скобок непосредственно в выражение функции. Правильный ввод простейшего вычисляемого выражений : y = sin (0.35) Enter или sin (0.35) Enter. Если аргументов несколько, то они отделяются запятыми.

Арифметические операции для массивов отличаются от матричных операций

наличием

 

точки

 

перед

знаком

 

операции:

 

А.*Б (умножение массивов - массивы должны иметь одинаковое коли-

чество

чисел

или

один

из

них

должен

быть

числом),

 

А./Б

(деление),

А.\Б (левое

деление),

А.^Б (возведение

в степень).

Точка перед «+» и «-» не ставится!

Встроенные функции (например sin) записываются строчными буквами и их аргументы указываются в круглых скобках (см. табл. 2 [1]). Если аргументов несколько, то они отделяются запятыми.

Элементарные функции в MATLAB (Большими буквами обозначены массивы, малыми— элементмассиваиличисло)

Таблица2

Вид

Чтовычисляет

Вид

Чтовычисляет

 

 

 

 

 

 

 

 

 

 

 

 

 

Абс.значения для действ. и комплекс-

 

 

Аргументы

 

комплексных

abs(X)

ных аргументов, ASCII-коды вместо

angle(Z)

чисел в радианах в пределах от до

 

символовипробеловдлястроковых

 

 

 

 

 

 

 

 

 

 

 

 

 

 

real(Z), imag(Z)

Действ. имнимуючастикомпл. чисел

conj(Z)

 

Комл.соряженныечисладля

чиселZ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

cplxpair(Z),

 

ceil(X)

Округляет

действ.Х

до

ближайшего

cplxpair(Z,tol),

Сортировка комплексных чисел по раз-

целого

≥Х

Удаляет

дробную

часть

cplxpair(Z[],dim)

fix(X)

числа. Округляет действ.Х до бли-

,

нымправилам

floor(X)

cplxpair(Z,tol,d

 

round(X)

жайшего целого ≤Х Округляет

im)

Вычисляет остаток от деления х на у;

 

действХдоближайшегоцелого

 

 

 

Г 1,х>0,

Для

действ.

чисел:

mod(X,Y)

по определениюmod(x,o)=x. Вычисляет

sign(X)

sign(x)=

0,x

=0,

1-1,

х<0.

Для

rem(X,Y)

остаток от деления х на у; по опреде-

sign(Z)

компл.. чисел: sign(z) = z/abs(z)

 

 

лениюmod(x,o)=NaN

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

factor(n)

Выдаетвсепростыемножителичислаn

primes(n)

Выдаетвсепростыечиславдиапазоне

от0 доn

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

gcd(m,n),

 

icm(m n),

Вычисляетнаименьшееобщеекратное

[g,c,d]=

Функциинаибольшегообщегоделителя

чисел mиn или — пар чисел в масси-

gcd(m,n),

icm(A,B)

gcd(A,B),

 

 

вахАиВ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

[N,D]=rat(X),

Функции представления результата в

 

Формирует матрицу из всех переста-

rat(X),

 

новок элементов вектора v {сам век-

виде рационального числа или цепной

perms(v)

rat(X,tol),

тор является одной из строк этой мат-

S= rat(X),

дроби

 

 

рицы)

 

 

 

 

 

 

 

 

S= rat(X,k)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

sqrt(Z)

Вычисляетквадратныйкорень

log(X)

Натуральный

логарифм

(по

основа-

ниюе)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

exp(Z)

е в степени, показатели которой - значе-

expm(X)

матричная

экспонента - ев

степени,

нияэлементовмассиваZ

показателькоторойматрца

 

 

 

 

 

 

 

 

 

 

pov2(Z),

Степень числа 2. V =

nextpov2(n)

Вычисляет p = nextpov2(n), что 2.^p ≥n

pov2([M,P])

pov2(Z) = 2.^Z (компл. или действ.), X

nextpov2(v)

(n-число) Вычисляет p = nextpov2(v),

log2(Z)

Логарифм чисел массива Z по

 

Десятичный логарифм чисел иассива

основанию 2. Вычисляет массив М ман-

log10(Z)

[M,P]=log2(X)

Z.

 

 

 

 

 

 

 

 

тисс m и массив Р целочисленных пока-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

sin(Z),

Тригонометрич. игиперболич.синусы

сsс(Z),

Тригонометрич. и гиперблич. косекан-

сы

 

 

 

 

 

 

 

 

sinh(Z)

 

сsсh(Z)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

asin(Z),

 

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

aсsс(Z),

 

Тригонометрич. и гиперболич. арк-

 

 

косекансы

 

 

asinh(Z)

 

 

 

 

 

 

aсsсh(Z)

 

 

 

 

 

 

 

 

 

 

 

 

 

cos(Z),

 

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

acos(Z),

 

Тригонометрич. и гиперболич. аркко-

 

 

синусы

 

 

cos h(Z)

 

 

 

 

 

 

acosh(Z)

 

 

 

 

 

 

 

 

 

 

 

 

 

sec(Z),

 

Тригонометрич. игиперболич.секансы

 

asec(Z),

 

Тригонометрич. и гиперболич. арксе-

 

 

 

кансы

 

 

sech(Z)

 

 

 

 

 

 

asech(Z)

 

 

 

 

 

 

 

 

 

 

 

 

 

tan(Z),

 

Тригонометрич. игиперболич.тангенсы

atan(Z),

 

Тригонометрич. и гиперболич. арк-

 

 

тангенсы

 

 

tanh(Z)

 

 

 

 

 

 

atanh(Z)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Г arctg(y/x),

x>0,

-

<y< +

оо

cot(Z),

 

Тригонометрич. и гиперболич. котан-

atan2(Y,X)

 

atan2(Y,X)= J

π -arctg(y/|x|), x<0,0∞≤у<

 

 

 

генсы

 

 

 

 

[ -7t+arctg(|y/x|), x<0,-

у<0

 

coth(Z)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

[TH,R]

=

Преобразует

декартовые

координаты

 

 

Тригонометрический

и

гипербличе-

 

=cart2pol(X,Y

(х,у) вполярные(ТН,R);уголТН-врад.

acot(Z),coth(Z)

 

 

)

 

Преобразует

3-мерные

декартовые

 

скийарккотангенсы

 

 

 

[TH,R,Z]

=

 

 

 

 

 

 

 

=cart2pol(X,Y

координаты (х,у,z) в цилиндрические

 

 

 

 

 

 

 

,Z)

 

(ТН,R,z); угол ТН-в рад.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

[X,Y]

=

 

 

 

 

 

Преобразование 3-мерных декартовых

pol2cart(TH,

Преобразование полярных и цилинд-

[AZ,EL,R]

=

координат в сферические; углы AZ и

R)

 

=

рическихкоординатвдекартовы

=cart2sph(X,Y,Z)

EL - в радианах

 

 

 

[X,Y,Z]

 

 

 

 

 

pol2cart(TH,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

R,Z)

 

 

 

 

[X,Y,Z]

=

Преобразование сферических коорди-

 

 

 

 

 

=sph2cart(AZ,EL,

нат в декартовы

 

 

 

 

 

 

 

 

R)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Для изменения формата вывода результата вычисления необходимо до нажатия клавиши Enter установить нужный формат через меню «Файл - Свойства» (см.

рис. 1.3 и1.5).

Для блокировки вывода результата вычислений некоторого выражения (ввиду промежуточного характера ) после него надо установить знак ; (точка с запятой): если блокировка отсутствует, то Матлаб выдаст результат расчета по части выражения до неустановленного знака и сообщение об ошибке, а остальную часть вычисляемого выраженияигнорирует(см. рис. 6В).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]