Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

Llame a Python desde MATLAB

En este ejemplo se muestra cómo utilizar las funciones y los módulos del lenguaje Python® en MATLAB®. El ejemplo llama a un módulo de formato de texto de la biblioteca estándar de Python.

MATLAB es compatible con la implementación de referencia de Python, a menudo denominada CPython, versiones 2,7, 3,5, 3,6 y 3,7. Si está en una plataforma Mac o Linux, ya tiene Python instalado. Si está en Windows, debe instalar una distribución, como la que se encuentra en, si todavía no lo ha hecho.https://www.python.org/download Para obtener más información, consulte.Instalar implementación admitidaPython

Llame a una función de Python para ajustar el texto en un párrafo

MATLAB tiene equivalencias para gran parte de la, pero no todo.Biblioteca estándar de Python Por ejemplo, es un módulo para formatear bloques de texto con retornos de carro y otras conveniencias.textwrap MATLAB también proporciona una función, pero solo ajusta el texto para que encaje dentro de un control de interfaz de usuario.textwrap

Crea un párrafo de texto con el que jugar.

T = 'MATLAB(R) is a high-level language and interactive environment for numerical computation, visualization, and programming. Using MATLAB, you can analyze data, develop algorithms, and create models and applications. The language, tools, and built-in math functions enable you to explore multiple approaches and reach a solution faster than with spreadsheets or traditional programming languages, such as C/C++ or Java(TM).'; 

Convierta una cadena de Python en una cadena de MATLAB

Llame a la función escribiendo los caracteres delante del nombre de la función.textwrap.wrappy. No escriba.import textwrap

wrapped = py.textwrap.wrap(T); whos wrapped 
  Name         Size            Bytes  Class      Attributes    wrapped      1x7                 8  py.list                

es una lista de Python, que es una lista de cadenas de Python.wrapped MATLAB muestra este tipo como.py.list

Convertir a una matriz de celdas de cadenas de Python.py.list

wrapped = cell(wrapped); whos wrapped 
  Name         Size            Bytes  Class    Attributes    wrapped      1x7               840  cell                 

Aunque es una matriz de celdas de MATLAB, cada elemento de celda es una cadena de Python.wrapped

wrapped{1} 
 ans =     Python str with no properties.      MATLAB(R) is a high-level language and interactive environment for  

Convierta las cadenas de Python en cadenas de MATLAB utilizando la función.char

wrapped = cellfun(@char, wrapped, 'UniformOutput', false); wrapped{1} 
 ans =      'MATLAB(R) is a high-level language and interactive environment for'  

Ahora cada elemento de celda es una cadena de MATLAB.

Personalice el párrafo

Personalice la salida del párrafo utilizando argumentos de palabra clave.

El código anterior utiliza la función de conveniencia, pero el módulo proporciona muchas más opciones utilizando la funcionalidad.wrappy.textwap.TextWrapper Para usar las opciones, llame con los argumentos de palabra clave descritos en.py.textwap.TextWrapperhttps://docs.python.org/2/library/textwrap.html#textwrap.TextWrapper

Cree argumentos de palabras clave utilizando la función MATLAB con una lista separada por comas de pares nombre/valor. formatea el texto con 30 caracteres de ancho.pyargswidth Las palabras clave y comienzan cada línea con el carácter de comentario, utilizado por MATLAB.initial_indentsubsequent_indent%

tw = py.textwrap.TextWrapper(pyargs(...     'initial_indent', '% ', ...     'subsequent_indent', '% ', ...     'width', int32(30))); wrapped = wrap(tw,T); 

Convierta en un argumento de MATLAB y visualice los resultados.

wrapped = cellfun(@char, cell(wrapped), 'UniformOutput', false); fprintf('%s\n', wrapped{:}) 
% MATLAB(R) is a high-level % language and interactive % environment for numerical % computation, visualization, % and programming. Using % MATLAB, you can analyze % data, develop algorithms, % and create models and % applications. The language, % tools, and built-in math % functions enable you to % explore multiple approaches % and reach a solution faster % than with spreadsheets or % traditional programming % languages, such as C/C++ or % Java(TM). 

Aprende más

Es suficiente recordar que Python es otra fuente potencial de bibliotecas para el usuario de MATLAB. Si desea obtener información sobre cómo mover datos entre MATLAB y Python, incluidos los tipos de datos de Python, como tuplas y diccionarios, consulte.Bibliotecas de Python