В настоящее время я работаю с программным обеспечением с конечным элементом, которое называется DIANA. Я всегда умею запускать «простые» модели с MATLAB, исполняющим командный файл. Тем не менее, теперь я начинаю использовать более «сложные» модели (просто более надежные, с большим количеством элементов), но процедура точно такая же, как и в той, которую я использовал раньше. Проблема в том, что теперь я не могу запустить модель из MATLAB, она, похоже, начинает ее запускать, но внезапно останавливается. Я использую следующие команды:Запуск командного файла MATLAB - DIANA TNO
dos('path\filename.bat')
или
system(fullfile(path,'filename.bat'))
Обе строки запустите файл .bat. Я думал, что у меня что-то не так с файлами, поэтому я просмотрел их, но, видимо, с ними ничего не случилось. Затем я просто дважды щелкнул файл .bat, и процедура выполняется без проблем. Тогда я понял, что проблема не в файлах, а в исполнении MATLAB. Теперь, когда вы знаете контекст проблемы, можете ли вы дать мне несколько советов, чтобы избежать того, что MATLAB «убивает» процесс внутри?
Трассировка выполнения показал в MATLAB:
diana: working directory is *CURRENT DIRECTORY NAME*
diana: input file is *FILENAME*.dat
diana: command file is *FILENAME*.dcf
diana: output file is *FILENAME*.out
diana: filos file is diana.ff
DIANA JOB 8028 finished
Выполнение трассировки делает непосредственно двойной щелчок в пакетном файле выглядит следующим образом:
В Заметил файлов показал на предыдущем рисунке содержатся выходные данные модели, а при непосредственном выполнении из MATLAB они не отображаются, потому что MATLAB завершает процесс раньше.
Заранее благодарим за любой ответ!
Pd: Я использую компьютер со следующими характеристиками: Windows7, оперативная память 12 ГБ, 64-разрядная ОС, процессор Intel Xeon 2,53 ГГц.
Спасибо! Жан-Франсуа Фабре за ответ! Ну, я понимаю, что вы имеете в виду, но на самом деле я меняю текущий каталог с MATLAB, чтобы избежать того, что вы упомянули.Однако я попробовал то, что вы предлагаете, включая строку в пакетном файле, например: [rem === Diana Environment Setup === // вызов «C: \ Program Files \ Diana 10.0 \ dialogin.bat» // Cd/d% ~ dp0 // diana FILENAME]. Но, к сожалению, такая же проблема продолжается. – lisandrojim
Хорошо, тогда, возможно, добавьте оператор 'pause' в конце вашего командного файла. Если это не удастся из Matlab, по крайней мере, вы поймете, почему. –
Это то, что я получаю в командных окнах MATLAB: diana: рабочий каталог CURRENTDIRECTORY // diana: входной файл FILENAME.dat // diana: командный файл FILENAME.dcf // diana: выходной файл FILENAME .out // Диана: файл filos - diana.ff // DIANA JOB 8028 завершено // Не сообщалось о проблемах. – lisandrojim