Матлаб пошаговое выполнение программы

Отладка программ. Общие замечания по отладке m-файлов.

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

Общие замечания по отладке m-файлов

Вряд ли существует программа с длиной более десятка строк, которая после запуска сразу бы выдала верный результат. Как правило, любую программу надо отлаживать в интерактивном режиме, запуская и анализируя полученные при каждой модификации результаты. Основным средством отладки m-файлов в системе MATLAB является встроенный редактор/отладчик (M-File Editor/Debuger) с современным графическим интерфейсом. Работа с ним была описана в уроке 5. Однако MATLAB предусматривает основные возможности отладки и в командном режиме. Именно они и рассматриваются в данном разделе.

MatLab. Урок 1. Практическое задание.

Вообще говоря, отладка программ – процесс сугубо индивидуальный и творческий. Большинство пользователей средней квалификации обычно отлаживают программы, не обращаясь к специальным средствам отладки, требующим дополнительного времени для освоения и приобретения навыков использования. Если алгоритм решения задачи достаточно прост, то после нескольких модернизаций программы ее удается довести до нужной «кондиции», т. е. заставить работать корректно.

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

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

Источник: samoychiteli.ru

Читайте также:
В какой программе лучше всего создать сайт

План семестра поурочный по ВычМат-2014 / Занятие-1-Алгоритмы_блок-схемы / 2 лекция Матлаб (Основы программирования)

Программа, написанная на языке МАТЛАБа, сохраняется в файл с расширением .m (это так называемый М-файл).

Ее нельзя написать в Command Window. Ее необходимо написать в соответствующем редакторе М-файлов. Его можно открыть так: File—New—M-file.

После того как программа готова ее сохраняют (File—Save as). Причем сохранить надо обязательно именно с тем именем файла, которое не отличается (полностью по буквам совпадает) с именем функции, описанной в программе.

При написании программы ее следует оформлять как описание функции, имеющей список исходных аргументов (их значения передаются в функцию и должны быть определены до ее вызова), а также список возвращаемых переменных (их значения вычисляются при работе функции). Текст функции заканчивается словом end. Если возвращаемое значение одно, то можно написать заголовок так: function y=ext(x) где слово function является обязательным, у имя возвращаемой переменной, х имя аргумента, ext имя функции выбранное ее составителем по своему усмотрению. При сохранении в М-файл, конечно, файл будет называться так же как и функция и иметь расширение .m то есть ext.m.

MatLab. Урок 1. Основы программирования.

Если возвращаемых значений много, то их заключают в квадратные скобки function[a,b,c]=ertVert(x,y,z) и когда необходимо вызвать функцию, например, в Command Window, то сначала определяют значения аргументов x,y,z, и уже затем вызывают функцию (без использования слова function, просто [a,b,c]=ertVert(x,y,z) и получают вывод в окне Command Window значений возвращаемых переменных).

Сначала рассмотрим ввод-вывод для программ, не снабженных индивидуальным визуальным интерфейсом. (Они уже упоминались чуть выше). Для ввода используется команда x=input(‘x = ?’) где х имя переменной, которая вводится. Для вывода используется команда disp(‘a=’) и с ней еще disp(a). Кроме того, можно не ставить точку с запятой при вычислении переменных и тогда они сразу будут появляться в Command Window. Если ввод-вывод программы не требует указания исходных аргументов и возвращаемых переменных, то скобки пишутся пустыми function[]=ertVert2()

Читайте также:
Как заполнить форму сзв стаж в программе spu orb

В МАТЛАБе есть оператор УСЛОВНЫЙ то есть проверяющий истинно или нет какое-то условие. Для этого в условии должно быть указано х==у (х равно у), ху (х больше у), х=у (х больше или равно у), x~=y (х не равно у). Также есть логические выражения.

Источник: studfile.net

Русские Блоги

Заявление: Пожалуйста, укажите источник для перепечатки, спасибо.

предисловие

Раньше я часто использовал MATLAB, но случайно остался в зоне комфорта, даже не освоив основные методы отладки. Эта статья предназначена, главным образом, для краткого изложения общего метода отладки программ MATLAB, но также и для самообучения. Полный текст условно разделен на три абзаца:

1) отладка в коде;

2) метод отладки точки останова;

3) метод отладки команд;

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

1. Отладка в коде

Переменные A-print

z=hilbert(testdata’); % Преобразование Гильберта
a= abs (z) % Конверт
fnor=instfreq(z); % Мгновенная частота

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

Б-локальное исполнение

z=hilbert(testdata’); % Преобразование Гильберта
a= abs (z); % Конверт
fnor=instfreq(z); % Мгновенная частота

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

Этот метод можно использовать для отладки локального кода.

C-сотрудничество с рисунком (эту операцию можно использовать с помощью следующих методов)

График легче наблюдать, чем данные.В процессе отладки откройте переменные в рабочей области (сочетание клавиш: Crtl + D), а затем выберите график, вы можете построить данные в соответствии с потребностями, что удобно для наблюдения характеристик:

Читайте также:
Из чего состоит программа концерта

Например, выберите данные для наблюдения и выберите команды «bar» и «surf» соответственно, чтобы нарисовать соответствующую графику:

Во-вторых, метод отладки точки останова

Самый классический способ отладки кода — это использование метода установки точек останова. Вот соответствующие сочетания клавиш:

  • F12: установить / отменить точку останова
  • F10: пошаговое исполнение
  • F11: одношаговое выполнение, и когда функция переходит в функцию, F10 не включается, это очевидная разница между двумя
  • Shift + F11: после перехода в функцию, запустите функцию с помощью этой инструкции
  • F5: выполнить все команды, видимые в двух соседних точках останова, например: точка останова находится в цикле for, затем F5 один раз, цикл выполняется один раз
  • Shift + F5: выход из точки отладки

Три, метод отладки команд

A-keyboard +(return)

Часто возникают ситуации, такие как: когда матрица умножается на A * B (при условии, что A известна, B должен быть рассчитан), размер матрицы B трудно определить, является ли это A * B или A ‘* B трудно определить, возможно ли это Сначала вычислите B, изучите характеристики B после расчета, а затем решите, использовать ли A или A ‘? Клавиатура может решить эту проблему.

Клавиатура, как следует из названия,КлавиатураОзначает: дать контроль над клавиатурой. Во время выполнения программы управление предоставляется клавиатуре, как вернуться в программу снова? Поэтому:

клавиатура и возврат

Обычно используется в комбинации. Если выполнено:

max_eig = max ( eig (G ‘* pinv (F) * G));% здесь трудно определить, или max_eig = max (eig (G * pinv (F) * G’) ) )

P_tmp = real (m+1 — max_eig);

Но трудно определить, можно ли с помощью клавиатуры изменить G или G ’на:

P_tmp = real (m+1 — max_eig);

После ввода K >> в это время можно наблюдать размер F и G, поэтому введите в Command Windows:

max_eig = max ( eig (G’* pinv (F)*G) );

Может обеспечить бесперебойное выполнение программы.

B-try + (catch) +end

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru