2015-05-17 7 views
1

У меня есть код Matlab (из журнала), и я пытаюсь повторно имитировать их данные. Я выполнил код неделю назад. Я думаю, что код занимает так много времени для запуска. Matlab все еще занят и занимает 50% моего процессора. Мне было интересно, завершился ли процесс некоторыми ошибками где-то в коде. Мой вопрос: Когда я не вижу ошибок, могу ли я быть уверен, что с этим запущенным процессом все в порядке? И я могу подождать, пока это не закончится? Есть ли способ проверить, какая часть кода выполняется сейчас (без остановки выполнения)? Или я должен остановить программу и попробовать что-то еще? На самом деле я не хочу потерять эту 1 неделю, и если вы думаете, что все в порядке, я бы подождал, пока код не остановится. (Авторы статьи не ответили на мой вопрос, и я не знаю, как долго это должно быть естественно ... Они просто упоминали, что для моделирования данных может потребоваться много времени).Код Matlab занимает много времени для запуска

ответ

3

К сожалению, мы мало что можем для вас сделать.

  • Когда я не вижу ошибок, могу ли я быть уверенным, что с этим ходом все в порядке?

Это в значительной степени определение ошибки. Если ошибка не возникает, значит, программа все еще работает.

  • Есть ли способ проверить, какая часть кода выполняется (без остановки выполнения)?

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

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

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

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

Лучшее,

+0

Спасибо, очень большое спасибо! :) Я думаю, у меня есть то, что я должен делать. На самом деле в начале я получил несколько сообщений ... Но теперь сообщений больше нет. В цикле for для создания файлов я вижу, что один из них длится долго. Поэтому я предполагаю, что есть некоторая ошибка. – user3034939

+0

Хорошо, рад, что это помогло. – Ratbert

+0

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