Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Режим командной строки. Форматы данныхСтр 1 из 3Следующая ⇒
ЛАБОРАТОРНАЯ РАБОТА № 1
РАБОТА С СИСТЕМОЙ MATLAB В РЕЖИМЕ ПРЯМЫХ ВЫЧИСЛЕНИЙ ЗАПИСЬ АРИФМЕТИЧЕСКИХ ВЫРАЖЕНИЙ Цель работы 1. Ознакомиться с командным окном системы, заданием значений переменным, их выводом по умолчанию и блокировкой вывода с помощью точки с запятой. 2. Получить навыки работы в командном режиме MatLab. 3. Освоить запись арифметических выражений, изучить элементарные операции и математические функции на языке MatLab.
Теоретическая часть
Режим командной строки. Форматы данных
При вызове MatLab на дисплей выводится заставка, которая сменяется командным окном, в верхней части которого размещено окно управления - меню с пунктами Файл, Правка, Окно и Помощь и панель инструментов. Ниже выводится командная строка (начинается символом " > > ") с предварительными предложениями вызвать перечень разделов, войти в справочник, открыть окно помощи, приступить к демонстрации и др. В командной строке в режиме диалога можно набрать команду (оператор) или выражение и, нажав Enter, получить ответ (answer). Например, после набора команды (оператора присваивания) a=3.2 в последующих строках появится a=3.20000000000000 (переменной а присвоено значение 3.2), после набора выражения sin(a)/a увидим его значение ans=-0.01824191982112. В именах переменных (последовательностях латинских букв и цифр, начинающихся с буквы; знак _ относится к буквам) строчные и заглавные буквы не тождественны! Для выполнения команды без вывода результата в конце команды ставится символ точки с запятой. Если команда не помещается полностью в видимой части одной строки экрана, ставят многоточие (хотя бы две точки), нажимают Enter и продолжают в следующей строке. Для очистки командного окна достаточно выполнить команду clc. Заметим, что всегда можно обратиться к помощи, выбрать интересующий раздел (например, 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 (цвет символа) и др. Как и в любой системе, в MatLabe присутствует понятие переменной величины, но в роли ее значения выступает массив (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(А)) и др. Естественно, что к числовым переменным применимы все арифметические операции, но при выполнении ряда операций приходится различать поэлементные операции с массивами и операции над матрицами по правилам линейной алгебры (для массивов перед знаком операции ставят точку):
Система работает не только с действительными, но и с комплексными числами. Роль мнимой единицы играют символы 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 < список имен>.
|