Главная страница
Навигация по странице:

  • Краткая характеристика MATLAB

  • 2. Интерфейс MATLAB

  • 3. Работа в режиме командной строки

  • Удаление созданных переменных

  • Константы и системные переменные

  • Простые вычисления

  • 4. Основные типы данных, используемых в MATLAB

  • Числовые ( NUMERIC ) типы данных

  • МATLAB_ЛР№1. Лабораторная работа 1 Работа в режиме командной строки в системе matlab


    Скачать 470.57 Kb.
    НазваниеЛабораторная работа 1 Работа в режиме командной строки в системе matlab
    Анкор МATLAB_ЛР№1.docx
    Дата14.09.2022
    Размер470.57 Kb.
    Формат файлаdocx
    Имя файлаМATLAB_ЛР№1.docx
    ТипЛабораторная работа
    #676183
    страница1 из 3
      1   2   3


    Лабораторная работа №1

    Работа в режиме командной строки в системе MATLAB

    Цель работы:Освоение принципов и правил работы в системе MATLAB в режиме командной строки. Знакомство с основными типами данных в MATLAB.

    1. Краткая характеристика MATLAB

    MATLAB (сокращение от англ. «MatrixLaboratory») – это пакет прикладных программ для решения задач технических вычислений и одноименный язык программирования, используемый в этом пакете.

    Основными достоинствами системы MATLAB являются быстрые численные алгоритмы, визуализация вычислений, интерактивная среда программирования, связь с языками программирования С, С++, FORTRAN и Java, а так же обмен данными с другими приложениями.

    Система MATLAB поддерживает работу в двух режимах:

    - режим командной строки;

    - режим программирования.

    В режиме командной строки система MATLAB представляет собой мощный инженерный калькулятор, позволяющий пошагово реализовывать достаточно сложные алгоритмы расчетов.

    В режиме командной строки диалог с пользователем осуществляется в окне Command Window, при этом должны соблюдаться следующие основные правила:

    1. Ввод осуществляется после приглашения системы в виде последовательности символов '>>' в начале строки и завершается нажатием клавиши 'Enter', после чего на экран выводится результат вычисления введенного выражения;

    2. Символ ' ; ' (точка с запятой) в конце строки блокирует автоматический вывод результата вычисления;

    3. Символ ' … ' (многоточие) в конце строки означает, что следующая строка является продолжением предыдущей;

    4. Любой текст, введенный после символа ' % ' (процент), воспринимается как комментарий.

    В текущей сессии вводимый построчно текст сохраняется в буфере, что позволяет вызывать его повторно с помощью клавиш управления курсором ↑ и ↓.

    Последовательность команд текущей сессии отображается в окне CommandHistory и сохраняется после выхода из MATLAB.
    2. Интерфейс MATLAB

    Пользователь имеет возможность самостоятельно настроить интерфейс системы MATLAB. При использовании настроек по умолчанию (Layout→Default) открывается интерфейс (рисунок 1), который содержит следующие элементы:

    1. Командное окно (CommandWindow), предназначенное для работы в режиме командной строки;

    2. Рабочая область (Workspace), в которой отображаются текущие переменные;

    3. Путь к рабочему каталогу, используемому для хранения файлов данной сессии;

    4. Содержимое рабочего каталога (CurrentFolder);

    5. История команд (CommandHistory), введенных в командное окно.



    Рисунок 1. Основные элементы пользовательского интерфейса MATLAB

    3. Работа в режиме командной строки

    В режиме командной строки MATLAB выделяют следующие базовые объекты:

    1. команды;

    2. операторы;

    3. константы;

    4. переменные;

    5. функции;

    6. выражения.

    Команды

    Команда – это объект языка MATLAB со стандартным именем, предназначенный для взаимодействия с системой MATLAB и имеющий формат:

    <команда><содержательная часть>

    где:

    <команда> стандартное имя команды;

    <содержательная часть> уточняется для каждой конкретной команды и может отсутствовать.

    Например, для очистки окна CommandWindowиспользуется команда clc:

    >> clc

    Операторы

    Оператор это объект языка MATLAB со стандартным именем, предназначенный для разработки программ.

    В режиме командной строки используют оператор присваивания. Различают две его разновидности:

    • оператор явного присваивания (=) с форматом <имя переменной>= <выражение>. С помощью оператора присваивания '=' переменной с указанным именем присваивается значение выражения.



    • Оператор неявного присваивания с форматом <выражение>. В данном случае значение выражения присваивается переменной со стандартным именем ans.

    Переменные

    Переменная – это объект языка MATLAB, который в процессе вычисления может менять свое значение.

    Переменные представляются своими именами – идентификаторами. Для создания переменной в MATLAB необходимо присвоить значение переменной с заданным именем с помощью оператора присваивания '='. Для примера создадим переменную x=2:

    >> x = 2

    x =

    2

    Встречая имя новой переменной, MATLAB автоматически создает новую переменную и выделяет для нее необходимый объем памяти. Если данная переменная уже существовала, то MATLAB изменит ее значение.

    Имя переменной в MATLAB может содержать латинские буквы (A-Z и a-z), цифры (0-9), знак подчеркивания (_). Имя обязательно должно начинаться с буквы и не должно совпадать с ключевыми словами MATLAB. Так же необходимо учитывать, что MATLAB чувствителен к регистру, и поэтому будет считать переменные x и X разными. В таблице 1 приведены примеры допустимых и недопустимых имен переменных:

    Таблица 1. Примеры имен переменных

    допустимые имена переменных

    недопустимые имена переменных

    x6

    6x

    lastValue

    end

    n_factorial

    n!


    Тип созданной переменной не объявляется, а определяется типом присваиваемого значения. Основные типы данных, используемых в MATLAB, рассмотрены далее в п.п. 4. В данном примере переменная x будет иметь тип double (число с плавающей точкой двойной точности), так как все числа в MATLAB по умолчанию имеют тип double. Все переменные по умолчанию считаются матрицами.

    Удаление созданных переменных

    Все созданные переменные и их значения отображаются в окне workspace (рисунок 2).


    Рисунок 2. Текущие переменные


    Для удаления переменных в MATLAB из рабочей области предусмотрена команда clear. Так, для удаления переменной x вводят:

    >>clear x

    Для удаления нескольких переменных достаточно после команды сlear перечислить имена переменных через пробел. Если нужно удалить сразу все переменные, команду clear вводят без аргументов:

    >>clear

    Константы и системные переменные

    Константаэто предварительно определенное числовое или символьное значение, представленное уникальным именем. Числа (например 1, -2 и 1.23) являются безымянными числовыми константами. Другие виды констант в MATLAB принято называть системными переменными, поскольку, с одной стороны, они задаются системой при ее загрузке, а с другой – могут переопределяться. Основные системные переменные, применяемые в системе MATLAB, указаны в таблице 2.

    Таблица 2. Основные системные переменные

    Системная переменная

    Значение

    i, j

    мнимая единица (корень квадратный из -1: 0.0000 + 1.0000i)

    pi

    число (3.1415926...)

    eps

    погрешность операций над числами с плавающей точкой (2.2204e-16)

    realmin

    наименьшее число с плавающей точкой ( 2.2251e-308)

    realmax

    наибольшее число с плавающей точкой (1.7977e+308)

    inf

    значение машинной бесконечности;

    ans

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

    NaN

    указание на нечисловой характер данных (Not-a-Number)

    true

    логическая переменная, означающая «истину», в MATLAB ассоциирована с единицей: true== 1

    false

    логическая переменная, означающая «ложь», в MATLAB ассоциирована с нулем: false == 0

    Функции

    В MATLAB различают две разновидности функций – встроенные и внешние.

    Встроенная функция – это объект языка MATLAB со стандартным именем, предназначенный для выполнения действий с параметрами (аргументами), заключенными в круглые скобки. Обращение к функции происходит по ее имени и имеет формат:

    [Y1, Y2,…] = <имя функции>(Х1, Х2,…)

    где:

    <имя функции> – стандартное имя функции;

    (Х1, Х2,…) – входные параметры в круглых скобках;

    [Y1, Y2,…] – выходные параметры в квадратных скобках, если выходной параметр единственный, скобки можно не ставить.

    Некоторые встроенные функции MATLAB приведены в приложении. Подробное описание встроенных функций и порядок их вызова доступен в командной строке с помощью команды help <имя функции>.

    Внешние функции (функции пользователя) как правило должны быть расположены в рабочем каталоге.

    Выражения

    Выражение – это объект языка MATLAB, представляющий собой имеющую смысл совокупность констант, переменных и функций, объединенных символами операций. Особенностью выражений MATLAB является то, что входящие в них переменные по умолчанию считаются матрицами. Различаются следующие виды выражений в MATLAB:

    - арифметические;

    - логические;

    - символьные.

    В выражениях могут использоваться любые операции, а так же их комбинации. При этом операции в выражении последовательно, в соответствии с установленным для них приоритетом. Приоритет операций представлен в таблице 3.
    Таблица 3. Приоритеты операций

    Уровень

    Операции

    1

    поэлементное транспонирование «.'», поэлементное возведение в степень «.^», эрмитово сопряженное транспонирование матрицы «'», возведение матрицы в степень «^»

    2

    унарное сложение «+», унарное вычитание «-», логическое отрицание «»

    3

    поэлементное умножение «.*», поэлементное деление «./» и «.\», матричное умножение «*», матричное деление «/» и «\»

    4

    сложение «+», вычитание «-»

    5

    оператор формирования массивов «:»

    6

    Операторы отношения (>, >=, <, <=, ==, =)

    7

    Поэлементное «И» &

    8

    Поэлементное «ИЛИ» |

    9

    Сокращенное «И» &&

    10

    Сокращенное «ИЛИ» ||


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

    Приведем пример:

    >> x = [0 pi*5/2];

    >> y = ( sin( 2 * x ) + 1 ) .* x

    y =

    0 7.8540

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

    >> 3 * 2 ^ 2 - 4 * 2 + 10

    и нажмем Enter.

    ans =

    14

    Теперь попробуем вычислить более сложное выражение  при Заметим, что для вычисления представленного выражения необходимо использовать встроенные функции MATLAB sin, cos и константу pi. Теперь вычислим данное выражение:

    >>cos(pi/2)*cos(-pi/6)-sin(pi/2)*sin(-pi/6)

    ans =

    0.5000

    Проделаем вычисления с использованием переменных:

    >> x = 2;

    >> y = 3 * x ^ 2 - 4 * x + 10;

    Отметим, что после выражения был поставлен символ «;». Символ «;» подавляет вывод в консоль значения вычисленного выражения или результата, присвоенного переменной. Для того, чтобы вывести значение данной переменной, достаточно просто ввести ее имя:

    >> y

    y =

    14

    Приведем другой пример:

    >> a = pi / 2;

    >> b = - pi / 6;

    >>cos(a) * cos(b) - sin(a) * sin(b)

    ans =

    0.5000

    В приведенном выше примере результат вычисления выражения не был присвоен какой либо переменной. В таких случаях используется оператор неявного присваивания, то есть MATLAB присваивает результаты вычислений переменной ans.

    4. Основные типы данных, используемых в MATLAB

    Как говорилось ранее, тип созданной переменной в MATLAB определяется типом присваиваемого ей значения. Все типы данных в MATLAB являются матричными. Матрицей называется прямоугольная таблица, состоящая из строк и столбцов. Если число строк не равно числу столбцов ( ), то матрица называется прямоугольной, если количество строк и столбцов одинаково, матрица называется квадратной. В случае, когда в прямоугольной матрице число строк , матрица представляет собой вектор-строку. Если же число столбцов – матрица является вектором-столбцом. Система MATLAB воспринимает скаляр или 1 символ как вектор с единственным элементом, или точнее – матрицу размером 1×1.

    Матрица содержит элементы одного типа данных. В матрице обращение к элементу осуществляются по индексу. В круглых скобках указывается сначала номер строки, а затем, через запятую, номер столбца элемента, к которому выполняется обращение. Например, запись А(1, 3) означает, что выполняется обращение к элементу матрицы А, содержащемуся в 1 строке, 3 столбце.

    Для каждого типа данных устанавливаются свои операции. Рассмотрим основные типы данных в MATLAB.

    Числовые (NUMERIC) типы данных

    Все арифметические операции в системе MATLAB выполняются над числами с плавающей запятой двойной точности - double. Любая переменная, перед выполнением операций над ней, должна быть преобразована к типу double. При создании числовая переменная по умолчанию получает тип double.

    При вводе и выводе чисел в MATLAB можно использовать формат чисел с фиксированной запятой. Дробная часть числа отделяется от целой точкой, а не запятой.

    Все операции в MATLAB реализуются посредством функций. Например, для выполнения операции сложения MATLAB вызывает функцию plus( ). Перечень основных встроенных в систему MATLAB функций для числовых данных приведены в учебном пособи «Алгоритмизация и структурное программирование в MATLAB».

    Для матриц в MATLAB существуют две различные операции, связанные с умножением, делением и возведением в степень. Для обозначения поэлементной операции перед соответствующим оператором ставится точка. Так, при матричном умножениидвух матриц с помощью оператора «*» будет выполнено умножение согласно правилам линейной алгебры, порядок следования матриц в выражении определяет значение произведения. При поэлементном умножение двух матриц с помощью оператора «.*»каждый элемент первой матрицы будет умножен на соответствующий элемент второй матрицы. Порядок следования матриц в выражении не важен. Пример матричного и поэлементного умножения двух матриц приведен ниже.

    >> a=[1 2; 3 4]

    a =

    1 2

    3 4

    >> b=[4 3; 2 1]

    b =

    4 3

    2 1

    >> c=a*b

    c =

    8 5

    20 13

    >> c=b*a

    c =

    13 20

    5 8

    >>d=a.*b

    d =

    4 6

    6 4

    >>d=b.*a

    d =

    4 6

    6 4
      1   2   3



    написать администратору сайта