Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

Режим командной строки. Форматы данных



При вызове MatLab на дисплей выводится заставка, которая сменяется командным окном, в верхней части которого размещено окно управления - меню с пунктами Файл, Правка, Окно и Помощь и панель инструментов. Ниже выводится командная строка (начинается символом ">>") с предварительными предложениями вызвать перечень разделов, войти в справочник, открыть окно помощи, приступить к демонстрации и др.

В командной строке в режиме диалога можно набрать команду (оператор) или выражение и, нажав Enter, получить ответ (answer). Например, после набора команды (оператора присваивания) a=3.2 в последующих строках появится a = 3.20000000000000 (переменной а присвоено значение 3.2), после набора выражения sin(a)/aувидим его значение ans = -0.01824191982112.

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

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

Кстати, если команда не помещается полностью в видимой части одной строки экрана, поставьте многоточие (хотя бы две точки), нажмите Enter и продолжайте в следующей строке.

Для очистки командного окна достаточно выполнить команду clr.

Заметим, что всегда можно обратиться к помощи, выбрать интересующий раздел (например, matlab/elfun - элементарные математические функции) и воспользоваться полученной информацией. Имейте в виду, что любой фрагмент окна командной строки можно выделить и копировать в буфер, например, для переноса в Word. Возможен перенос в командную строку текстовых фрагментов из других систем.

Полезно сразу обратить внимание на подпункт Свойства (Preference) пункта Файл (File) окна управления.

В первом его окне (General) предусматривается установка Numeric Format формата представления чисел : Short - короткое 5-значное , Long - длинное 15-значное, Hex - шестнадцатеричное, Bank - доллары и центы, ShortE и LongE - экспоненциальное, Rational - отношение целых чисел (обратите внимание на эту форму - такой нет ни в одной универсальной среде программирования), межстрочного интервала (с пробелом между строкамиLoose или без такового Compact), а также вывод на экран панели инструментов и поддержка возможности отладки графики.

Во втором окне (Сommand Window Font) имеются 6 полей: Font (шрифт), Style (Light-светлый, Regular - нормальный, Bold - жир-ный), Size (размер 10, 12 или 15), BackGround Color (цвет фона) , Color (цвет символа) и др.

Как и в любой системе, в MatLab'e присутствует понятие переменной величины, но в роли ее значения выступает массив (array).

В системе определены 6 встроенных типов данных (массивов):

· числа удвоенной точности (double);

· массивы символов - строки(char), при задании строковой константы ее символы заключают в апострофы;

· двумерные разреженные матрицы (sparse), массивы ячеек (cell), массивы записей (struct) и специальные массивы целых чисел от 0 до 255 (uint8).

Здесь мы ограничимся рассмотрением лишь обычных числовых массивов и строк.

Для задания массива (в частности, скалярной величины) используется команда присваивания. Например, командой >> a=[1 2 3; 4 5 6]формируется матрица размерности 2 x 3 с соответствующими элементами; командой " b=[1 2 3] - вектор-строка; командой >> b=[1; 2; 3] - вектор-столбец; d=zeros(4,7) - матрица размерности 4 x 7 с нулевыми элементами. Для выборки отдельных элементов массивов можно пользоваться индексами, например, а(k,3) определяет третий элемент k-ой строки, a(:,3) - весь третий столбец. Встроенная система контроля отлавливает типичные ошибки при задании массивов: например, при попытке выполнения команды >> a=[1 2 3; 4 5 ] получаем:

Number of elements in each row must be the same.
(Число элементов в каждой строке должно быть тем же)

Обратите внимание на то, что следует :

- при задании массива значениями заключать их в квадратные скобки;

- элементы в строке массива разделять пробелами или запятыми;

- при указании списка индексов использовать круглые скобки и разделительные запятые (указание индекса символом двоеточия соответствует заданию всех значений по соответствующему индексу).

При работе с массивами можно пользоваться списками i:k иi:j:k : в первом варианте понимаем "от i до k с шагом 1" и во втором -то же с шагом j, например t=-pi:0.01:pi или p=0:8 (некоторые сочетания дают пустое множество, например q=3:1).

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

- нулей zeros(n), zeros(m,n), zeros(m,n,p,..), zeros(size(А)) (одномерный, двумерный, многомерный, соразмерный с массивом А);

- единиц ones(n), ones (m,n), ones (size(А)) и др.

Естественно, что к числовым переменным применимы все арифметические операции, но при выполнении ряда операций приходится различать поэлементные операции с массивами и операции над матрицами по правилам линейной алгебры (для массивов перед знаком операции ставят точку):

+A -A   A\B Решение системы m уравнений АХ=В c несколькими правыми частями: B -матрица m x k {тождественно (B'/A')' }
A+B A-B A .*B Предполагается одинаковая размерность или один из операндов - скаляр
A.\ B Левое деление (В на А)
A ./B Правое деление (А на В)
A .^B Поэлементное возведение в степень A^k Степень матрицы (при k=0 - единичная матрица, при целом k<0 - умножение обратной и при целом k>0 исходной матриц; для других k вычисляются собственные числа R и векторы D и A^k= RTD.^k/R
A.' Транспонирование массива A' Транспонирование матрицы (для комплексных дополняется комплексным сопряжением)

Система работает не только с действительными, но и с комплексными числами и роль мнимой единицы играют символы i, j:

>> a=1+2i a = 1.0000 + 2.0000i
>> b=1-3i b = 1.0000 - 3.0000i
>> a*b ans = 7.0000 - 1.0000i
>> exp(ans) ans = 592.51 -922.78 i

Над массивами можно выполнять операции поэлементного отношения : A < B , A <= B , A > B , A>= B (только для действительных частей), A == B, A~=B (равно/не равно - для действительных и мнимых частей), которые порождают массив с единицами (истина) и нулями (ложь) той же размерности. Аналогично реализуются и логические операции: отрицания ~A, конъюнкции (логического умножения - И) A &B, дизъюнкции (логического сложения - ИЛИ) A|B.

Все переменные системы размещаются в т.н. рабочей области, содержимое которой (имена, размерность, тип) можно просмотреть командами who и whos:

>> who
Your variables are:
i r t
>>whos
Name Size Bytes Class
i 1 x 1 8 double array
r 4 x 629 20128 double array
t 1 x 629 5032 double array
"Grand total is 3146 elements using 25168 bytes

Рабочую область можно сохранять (save)как МАТ-файл и вызывать (load). Так командойsave myfile v1 v2сохраняем в файле с именем myfile переменные v1и v2, а командой save myfile du*rak - переменные, имена которых начинаются на du и заканчиваются на rak.

Можно очищать рабочую область полностью командой clear или частично - clear <список имен>.

 

 

 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.