Clear Filters
Clear Filters

Can the MATLAB Engine API implement interactive operations in the MATLAB Command Window?

35 views (last 30 days)
In the MATLAB interface window, when running some programs or scripts, some interactive instructions are required, such as giving a prompt in the command window and asking the user to enter some numbers ,Y or N, and pressing the enter key, then the program will continue to execute based on the input content. Can the above operation be achieved using Python through the Matlab Engine API interface without opening the Matlab interface now?The following is a function that requires interactive operations in the command window of Matlab:
function my_function()
disp('Step 1: Please enter a number:');
x = input('');
disp(['You entered: ', num2str(x)]);
disp('Step 2: Please enter another number:');
y = input('');
disp(['You entered: ', num2str(y)]);
end
How to use Python to call the above function through the Matlab Engine API and achieve its normal operation? The prompt words and input content are completed through programming or input in Python.

Answers (1)

SACHIN KHANDELWAL
SACHIN KHANDELWAL on 25 Jun 2024 at 9:51
Hi @HCH ,
You can use the MATLAB Engine API to interact with MATLAB from Python. However, if you need to perform interactive operations in the MATLAB command window, it can be tricky.
Instead, I recommend using MATLAB's built-in functions directly in your Python code to streamline your workflow. For more details, check out the MathWorks documentation on the MATLAB Engine API for Python.
You might also find the following getting started page helpful for your workflow:
Hope it helps!
  1 Comment
HCH
HCH on 30 Jun 2024 at 14:01
Hello SACHIN KHANDELWAL, thank you for your thoughtful answer!
We can continue to discuss it, or help me analyze it. I ran a Matlab script file in Python through the Matlab Engine API and found that prompt words that should have been displayed in the Matlab command window can be displayed on the Python terminal. The prompt words here refer to the information that is usually displayed in the input() function to help users in the Matlab command window. Does that mean that Python can perform interactive operations on Matlab script files through the Matlab Engine API?
Another question I would like to ask is: when using Matlab Engine for Python, most of the time Matlab is not started, which means the command window is not displayed. In this case, the input() function can still work because the input() function plays a crucial role in interactive operations. Currently, the system does not enable the command window by default. Will the input() function also be restricted or can it be completed in the background?

Sign in to comment.

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!