И другие программы этой серии
Одна из
распространенных ошибок начинающих пользователей – попытка запустить по
добный файл в командной строке указанием его имени:
>> myfile
??? ans =
Missing variable or function.
Error in ==> C:\\MATLAB\\bin\\myfile.m
On line 3 ==> ans =
Обычно это приводит к ошибкам, так как данный файл – это просто текстовая
запись команд и результатов их выполнения, не проверяемая на корректность и
содержащая ряд строк, ошибочных с позиций синтаксиса языка программирова
ния MATLAB – например, выражения ans =. Зато команда type позволяет про
смотреть текст такого файла со всеми записанными действиями:
>> type myfile
1+2
ans = 3
diary off
sin(1)
ans = 0.8415
diary off
Во избежание отмеченных казусов рекомендуется записывать файл с расшире
нием, отличным от .m, например .txt. Это позволит встраивать подобные тексто
вые файлы дневника сессии в документы, содержащие ее описание.
Пример ввода листинга этого файла в окне редактора/отладчика m файла пока
зан на рис. 1.6. Введенный файл можно пустить из окна редактора, исполнив команду
Run в позиции Debug (Отладка) меню окна редактора. В результате будет вычислено
выражение 2 + 3 и число 5 появится в окне сессии MATLAB. Будет также построен
в отдельном окне график синусоидальной функции. Все это и видно на рис. 1.6.
Редактор/отладчик m файлов – это в сущности специализированный тексто
вый редактор, предназначенный для записи и отладки программ на языках систе
мы MATLAB, отдельных их фрагментов, процедур и функций. Строки листинга
нумеруются, и в них можно вставлять специальные точки останова для отладки
сложных программ. В этих точках можно контролировать и изменять значения
переменных.
1.6.4. Загрузка рабочей области сессии
Для загрузки рабочей области ранее проведенной сессии (если она была сохране
на) можно использовать команду load:
• load fname … – загрузка ранее сохраненных в файле fname.mat определе
ний со спецификациями на месте многоточия, подобными описанным для
1.6.6. Завершение вычислений и работы
с системой
Иногда из за ошибок в программе или из за сложности решаемой задачи
MATLAB «зацикливается» и перестает выдавать результаты, либо непрерывно
выдает их, хотя в этом уже нет необходимости.