Лекции по Matlab

Автор: Пользователь скрыл имя, 12 Ноября 2010 в 00:08, курс лекций

Описание работы

Переменные рабочего пространства. Арифметические выражения. Типы данных. Скрипты и функции. Операторы MATLAB. Работа с файлами. Работа с текстовыми файлами.

Работа содержит 1 файл

Лекции по MATLAB.doc

— 650.00 Кб (Скачать)

Лекции  по MATLAB 

Введение

     MATLAB – продукт фирмы MathWorks.

     Назначение  – моделирование, анализ и визуализация динамических процессов.

     Пакет MATLAB включает большое количество дополнительных компонент, например,

  • Simulink – моделирование и анализ динамических систем;
  • Database Toolbox – анализ и визуализация информации, хранящейся в БД, использование SQL;
  • Fuzzy Logic Toolbox – моделирование и анализ систем на базе аппарата нечеткой логики;
  • MATLAB Compiler – компилятор m-файлов в коды C, C++;
  • Neural Network – применение нейронных сетей для решения трудно формализуемых задач)
  • и т.д.

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

     После запуска MATLAB на экране появляется комбинированное окно, состоящее из нескольких панелей (рис. 1): Окно команд (Command Window), История команд (Command History), Рабочее пространство (Workspace) и Текущий каталог (Current Directory). Далее, выполняя команды MATLAB, будем подразумевать их ввод в панель Окно команд.

     Рис. 1 Главное окно MATLAB

 

     Переменные  рабочего пространства

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

  • имя переменной может состоять из букв латинского алфавита, цифр и символов подчеркивания;
  • большие и малые буквы в именах различаются;
  • имя должно начинаться с буквы;
  • длина имени может быть любая, но первые 31 символа должны обеспечивать уникальность.

     Команды, часто используемые для работы с  рабочим пространством:

who вывод списка имен всех переменных рабочего пространства
whos вывод подробной  информации об именах переменных, их размерности, занимаемой памяти в байтах, типе данных
clear удаление всех переменных рабочего пространства
clear x y удаление только переменных x и y
 

     Название  MATLAB является сокращением названия Matrix Laboratory (матричная лаборатория). Поэтому основной вид данных в MATLAB – массивы. Скалярные переменные рассматриваются как массивы 1x1, но при обращении к ним индекс можно опускать. Например, для присвоения переменной x значения 2 нужно написать:

     >>x=2

     При этом MATLAB после каждой введенной команды выводит результат ее выполнения. В данном случае в окно команд будет выведено:

     x=

         2

     Для подавления автоматического вывода результата в конце строки нужно  поставить точку с запятой:

     >>x=2;

     Для инициализации вектора введите числа в квадратных скобках через пробел:

     >>a=[15 4]

     a=

        15 4

     Для ввода двумерной матрицы используется точка с запятой в качестве разделителя строк:

     >>b=[1 2; 3 4]

     b=

         1 2

         3 4

     Обращение к элементам массивов осуществляется через круглые скобки, например

     >>b(2,1)

     ans=

            3

     Если  в левой части от знака равно  ничего не указано, то система присвоит результат системной переменной ans и выведет ее значение в окно команд.

     Матрицы могут содержать и символы:

     >>s=['ABCDEF'; '12345'];

     При этом длины всех элементов массива  должны быть одинаковыми (нужно дополнять  пробелами справа строки, в которых  символов меньше), так как такой массив рассматривается как двумерный массив символов. 

     Арифметические  выражения

     Некоторые свойства вещественных переменных

  • При делении на 0 или переполнении не возникает сообщения об ошибке, а результату присваивается значение ±Inf ~ ±1.8e+308.

     >>x=1/0

     Warning: Divide by zero.

     x=

         Inf

  • Если математический результат не определен, то результат становится равным NaN (Not a Number).

     >>z=0/0

     Warning: Divide by zero.

     z=

         NaN

  • Полезные переменные и константы:
eps относительная погрешность при вычислениях с плавающей точкой (2.2e-6)
realmax наибольшее  положительное число с плавающей  точкой (1.8e+308)
realmin наименьшее  положительное число с плавающей  точкой (2.2e-308)
pi число π
 

     Комплексные числа

     Мнимая  часть в записи числа сопровождается символом i либо j:

     >>z=1.5-0.5i;

     Функции для работы с комплексными числами:

real(z) действительная  часть
imag(z) мнимая часть
complex(u,v) составление комплексного числа по 2-м вещественным
conj(z) сопряженное число (можно использовать апостроф: >>z')
abs(z) для формы записи z=pe возвращает значение p
angle(z) для формы записи z=pe возвращает значение φ
 

     Матрицы

     Для задания вектора-строки [1xN] используются квадратные скобки, в которых данные отделены пробелами или запятыми:

     >>y=[1 2 3];

     Для задания вектора-столбца [Nx1] в качестве разделителей используются точки с запятой:

     >>b=[1; 4; 2];

     Комбинируя  оба подхода, можно задать двумерный  массив:

     >>a=[1 -1 1; 2 0 2; 0 1 1];

     Пример. Для нахождения корней СЛАУ достаточно написать

     >>x=inv(a)*b

     x=

        1

         1

         1

     Обращение к элементам массива через  круглые скобки, нумерация индексов с 1:

     >>a(2,3)

     Для выполнения однотипных операций над  элементами массива можно использовать диапазон:

     >>z(2:5)=3

     z=

         0 3 3 3 3 

     Формирование  типовых матриц

zeros заполнение прямоугольной матрицы нулями

>>a=zeros(5) – заполнится нулями матрица 5x5

>>a=zeros(3,4) – заполнится нулями матрица 3x4

ones заполнение  прямоугольной матрицы единицами
eye создание единичной  прямоугольной матрицы (единицы  по диагонали, остальные элементы – нули)
rand заполнение  случайными величинами с равномерным  распределением
randn заполнение  случайными величинами с нормальным распределением
 

     Объединение матриц по вертикали:

     >>a=[1 2; 3 4]

     >>b=[5 6; 7 8]

     >>c=[a; b]

     c=

         1 2

         3 4

         5 6

         7 8 

     При подготовке табличных данных часто  пользуются диапазонной записью:

     >>x=[0:0.2:1]

     x=

         0 0.2000 0.4000 …. 1.0000

     Практически все функции MATLAB обрабатывают векторные аргументы:

     >>y=sin(x)

     y=

         0 0.1987 0.3894 ….0.8415 

     Арифметические  и логические операции 

+ покомпонентное  сложение числовых массивов одинаковой размерности

добавление  скалярной величины к каждому  элементу массива

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

вычитание скалярной величины из каждого элемента массива

* умножение матриц в соответствии с правилами линейной алгебры (число столбцов первого  сомножителя должно быть равно числу  строк второго сомножителя)
.* покомпонентное  умножение элементов массивов одинаковой размерности
/ деление скаляра  на скаляр

покомпонентное  деление всех элементов массива  на скаляр

./ покомпонентное  деление элементов массивов одинаковой размерности
\ левое матричное  деление A\B=A-1*B
.\ A.\B – покомпонентное деление элементов B на A (левое поэлементное деление)
^ возведение скаляра в любую степень

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

' вычисление  сопряженной матрицы
.' транспонирование  матрицы
= = проверка на равенство
~= проверка на неравенство
> проверка на больше
>= проверка на больше или равно
< проверка на меньше
<= проверка на меньше или равно

Информация о работе Лекции по Matlab