Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторные работы по КПРЗПФ.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
2.46 Mб
Скачать

Работа в среде matlab

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

После загрузки MATLAB на экран дисплея выводится окно управления, в котором можно вводить команды, посылать сценарии на вычисление, а также производить вычисления различных выражений в режиме непосредственного счета. Вверху имеется линейка кнопок, облегчающих работу. Для каждой функции и оператора можно получить краткую справку, поясняющую их назначение и форму записи. Для этого необходимо набрать ключевое слово help и имя функции или оператора. Например: help sin, help det, help plot и т. д. Можно получить также перечень и назначение функций, относящихся к целому разделу: help funfun, help elmat, help lang, help symbolic, и т.д.

Мощным средством оптимизации программ является возможность их профилирования, которое заключается в определении времени выполнения каждой строки программы, что позволяет идентифицировать те фрагменты программы, которые тормозят ее выполнение. Для включения профилировщика необходимо дать команду profile<имя программы>. Для получения рапорта после профилирования вводится команда profile report.

Рассмотрим простой пример. Пусть имеется программа по вычислению таблицы функций sin(x)/x, оформленная в виде m-файла с именем Si.m:

function MAS = Si(X0,DX,X1)

i=0;

for x = X0:DX:X1,

if abs(x) < 0.001,

s=1;

else

s=sin(x)/x;

end;

i=i+1;MAS(1,i)=x;

MAS(2,i)=s;

end;

Проведем профилирование этой функции, для чего в окне управления введем команды

profile Si

MN=Si(-1,0.02,1)

profile report

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

Total time in "C:\MATLAB\LIBRMLAB\Si.m": 0.4 seconds

100% of the total time was spent on lines:

[7 4 3 10 9]

2: i=0;

0.07s, 18% 3: for x = X0:DX:X1,

0.09s, 23% 4: if abs(x) < 0.001,

5: s=1;

6: else

0.16s, 40% 7: s=sin(x)/x;

8: end;

0.04s, 10% 9: i=i+1;MAS(1,i)=x;

0.04s, 10% 10: MAS(2,i)=s;

Здесь вектор [7 4 3 10 9] содержит номера строк в порядке убывания времени, затраченного на их выполнение.

Следует обратить внимание на то, что профилировать сценарий (основную программу) нельзя. Разрешается профилирование только функций (подпрограмм).

Командой profile plot выводится гистограмма времени выполнения каждой строки программы. После завершения профилирования необходимо дать команду profile done, которая выключает профилировщик и очищает его данные.

В состав MATLAB входит редактор/отладчик, имеющий широкий набор команд по редактированию и отладке программ. Редактор может быть вызван командой edit – вызов редактора и открытие файла untitle.m, или командой edit fun1 – вызов редактора и открытие файла fun1.m.

Редактор позволяет набирать и редактировать текст программ, останавливать их выполнение, устанавливать контрольные точки останова, осуществлять пошаговое выполнение программы, просматривать значения переменных, просматривать содержание рабочей области ОЗУ, запускать программу на счет и многое другое. Следует отметить, что в редактор может быть вызвано несколько программ.

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