كيف يمكنني إيقاف MATLAB من العودة حتى بعد سطر أوامر البرنامج النصي يكتمل ؟
-
08-06-2019 - |
سؤال
أرى في MATLAB مساعدة (matlab -h
) يمكنني استخدام -r
العلم إلى تحديد m
-ملف الترشح.لقد لاحظت عندما أفعل هذا, MATLAB يبدو أن يبدأ السيناريو ، ولكن العودة فورا.السيناريو عمليات بخير لكن التطبيق الرئيسي وقد عاد بالفعل.
هل هناك أي طريقة للحصول على مطلب سوى العودة مرة الأمر الانتهاء ؟ إذا كنت تتصل من برنامج منفصل يبدو أنه من الأسهل إلى الانتظار على العملية بدلا من استخدام ملف أو مآخذ للتأكد من الانتهاء.
لتوضيح ، وهنا عينة وظيفة waitHello.m
:
function waitHello
disp('Waiting...');
pause(3); %pauses 3 seconds
disp('Hello World');
quit;
وأنا أحاول أن تشغيل هذا باستخدام:
matlab -nosplash -nodesktop -r waitHello
المحلول
إجابة سريعة:
matlab -wait -nosplash -nodesktop -r waitHello
في Matlab 7.1 (النسخة لدي) هناك لا يحملون وثائق خيار سطر الأوامر -الانتظار في matlab.الخفافيش.إذا كان لا يعمل على الإصدار الخاص بك, ربما يمكن إضافته في.وهنا ما وجدت.الأمر في أسفل أخيرا تطلق matlab (خط 153):
start "MATLAB" %START_WAIT% "%MATLAB_BIN_DIR%\%MATLAB_ARCH%\matlab" %MATLAB_ARGS%
ذات الصلة الجملة من بدء الأمر (انظر "المساعدة" في cmd.exe) في هذه الحالة هو:
start ["window title"] [/wait] myprogram.exe args ...
أعلى قليلا بين كل من وثقت خيارات سطر الأوامر ، وجدت (خط 60):
) else if (%opt%) == (-wait) (
set START_WAIT=/wait
) else (
حتى تحديد انتظر ينبغي أن تفعل ما تريد طالما أنك أيضا الخروج matlab من السيناريو الخاص بك (وإلا فإنه سوف الانتظار بالنسبة لك لإنهاء الأمر بشكل تفاعلي).