Если ваша программа генерирует неправильные ответы, рассмотрите следующее.
Проверьте ошибки в вычислительной логике.
Проверяйте, читает ли программа из неинициализированного раздела памяти. Например, чтение 11-го элемента вектора с 10 элементами приводит к непредсказуемым результатам.
Проверяйте, перезаписывает ли программа допустимые данные из-за плохого обращения памяти. Например, запись в 15-й элемент вектора с 10 элементами перезаписывает данные в смежной переменной в памяти. Этот случай может быть обработан подобным образом как нарушения сегментации.
Во всех этих случаях можно использовать mexPrintf
, чтобы исследовать значения данных в промежуточных стадиях. Также запустите MATLAB® в отладчике.