Matlab - PASAR UN ARRAY EN MATLAB A EXCEL.

 
Vista:
sin imagen de perfil

PASAR UN ARRAY EN MATLAB A EXCEL.

Publicado por carla garcia (2 intervenciones) el 04/02/2020 18:53:06
Hola, buenas tardes:

Tengo una duda de mi programa.
Una vez tengo los datos que he calculado guardados en un vector double de 1x749, lo que quiero es pasar esos datos a una columna de un documento excel. He probado con la función xlswrite pero me sale un error de este tipo:

Warning: Unable to write to Excel format, attempting to write
file to csv format. To write to an Excel file, convert your data
to a table and use writetable.

Y no se como solucionarlo...

¿Alguien me podría ayudar, por favor?

Un saludo y gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 854
Bronce
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

PASAR UN ARRAY EN MATLAB A EXCEL.

Publicado por Daniel (243 intervenciones) el 04/02/2020 19:36:47
Hola,

La respuesta es sencilla, o no esta Excel instalado o esta en Mac o Linux.

En estos casos es mejor usar writematrix como se explica en la entrada. Eso si, Matlab 2019a o posterior.

Saludos,
Daniel Rodríguez.
Analytics Lane
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de JOSE JEREMIAS CABALLERO
Val: 7.752
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

PASAR UN ARRAY EN MATLAB A EXCEL.

Publicado por JOSE JEREMIAS CABALLERO (5506 intervenciones) el 04/02/2020 21:28:32
1
2
3
4
%en plataforma windows
a=rand(1,749);
filename = 'Filename2.csv';
xlswrite(filename,a',1);


1
2
3
4
%en plataforma windows
a=rand(1,749);
filename = 'Filename2.xlsx';
xlswrite(filename,a',1);
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 854
Bronce
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

PASAR UN ARRAY EN MATLAB A EXCEL.

Publicado por Daniel (243 intervenciones) el 04/02/2020 23:43:20
Jose, no es tan difícil de entender xlswrite necesita Excel para Windows instalado, por lo que solamente funciona bien en maquinas Windows con Excel instalado.

¿Tu solución es cambiar de ordenador?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de JOSE JEREMIAS CABALLERO
Val: 7.752
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

PASAR UN ARRAY EN MATLAB A EXCEL.

Publicado por JOSE JEREMIAS CABALLERO (5506 intervenciones) el 05/02/2020 00:08:17
El punto es. Algunas personas quieran usar ese código en linux y allí pueda que no funcione correctamente, por eso la aclaración
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 854
Bronce
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

PASAR UN ARRAY EN MATLAB A EXCEL.

Publicado por Daniel (243 intervenciones) el 05/02/2020 09:21:13
Te puedo asegurar que Carla lo esta haciendo bien para que se de ese error.

Si les la documentación de xlswrite veras que SOLO funciona en Windows con Excel instalado. Así que no hay duda de que va a fallar en Linux (por cierto, cuando se usa en producción se nota que Matlab para Linux es más rápido en la misma máquina que con Windows, por eso muchos lo preferimos) y Mac. En Linux y Mac xlswrite solo exporta archivos CSV.

Además, ¿cómo puedes aconsejar una función que la propia Matlab desaconseja? Desde 2019 xslwrite esta solamente por motivos de compatibilidad, debería usarse writematrix o writetable que es independiente de la plataforma (además de mucho más rápido).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 854
Bronce
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

PASAR UN ARRAY EN MATLAB A EXCEL.

Publicado por Daniel (243 intervenciones) el 05/02/2020 11:00:07
1
2
3
# Valido en Windows, Linux y Mac
a=rand(1,749);
writematrix(a', 'Filename.xlsx')

1
2
3
# Valido en Windows, Linux y Mac
a=rand(1,749);
writematrix(a', 'Filename.csv')
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de JOSE JEREMIAS CABALLERO
Val: 7.752
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

PASAR UN ARRAY EN MATLAB A EXCEL.

Publicado por JOSE JEREMIAS CABALLERO (5506 intervenciones) el 05/02/2020 13:59:56
Tendría que instalar la versión 2019b para poder usar tal función según veo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 854
Bronce
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

PASAR UN ARRAY EN MATLAB A EXCEL.

Publicado por Daniel (243 intervenciones) el 05/02/2020 16:43:35
No, con la 2019a o posterior (una versión con un año de antiguedad).

Además, si se convierte en tabla se puede usar con writetable desde la 2013a, un paso más pero el resultado se nota.

1
2
3
4
% Valido en Windows, Linux y Mac
a=array2table(rand(1,749)');
writetable(a, 'file2.xlsx', 'WriteVariableNames', false)

Dejo la exportación a csv como ejercicio.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
-1
Comentar

PASAR UN ARRAY EN MATLAB A EXCEL.

Publicado por carla garcia (2 intervenciones) el 12/02/2020 17:38:42
Buenas tardes:

El error que me daba era efectivamente porque tengo un MAC.
Al final use el código que pasó Daniel y lo conseguí.

Muchas gracias!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar