Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

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




При вызове 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 <список имен>.

 




Поделиться с друзьями:


Дата добавления: 2014-01-05; Просмотров: 367; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.075 сек.