Matlab - Crear archivos .m

 
Vista:

Crear archivos .m

Publicado por xio (23 intervenciones) el 03/12/2012 05:18:36
Hola a todos, tengo el siguiente problema: necesito crear un archivo .m donde me almacene o se reescriban unas matrices que ya he creado previamente, sin embargo no he logrado obtener buenos resultados.

Les agradezco de antemano la ayuda que me pudieran brindar.
Saludos!!
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

Crear archivos .m

Publicado por xio (23 intervenciones) el 04/12/2012 16:01:16
Tengo en un script o en un editor de matlab el calculo de unas matrices, las cuales ya estan calculadas, en el momento de evaluarlas, en el command windows tengo algo asi (ejemplo):

A =
[ 1 3 4 5;
5 6 7 7;
4 5 5 7 ];

B =
[ 7 8 9 0;
5 4 0 7;
4 0 5 4 ];


Ahora lo que yo quiero es que estas matrices, escritas asi tal cual, se me escriban o se guarden en otro script, sin necesidad de yo realizarlo a mano.
Si me hago entender?

De antemano muchas gracias por la ayuda que me pudieran brindar.
Saludos!
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 Carlos
Val: 3
Ha aumentado su posición en 4 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

Crear archivos .m

Publicado por Carlos (39 intervenciones) el 06/12/2012 21:01:19
Hola XIO,

Mira, la verdad lo que puedo interpretar de tu pregunta es que quieres generar un (.m ) que tenga como contenido las matrices que crees desde el editor. Si este es el caso, mira esto:

diary ('Nombre_del_nuevo_script.m')
A=[a,b,c;d,e,f];
B=[c,v,b;a,s,d];
diary off


Tienes que tener en cuenta que el nuevo (.m) que estás generando se va aguardar en el directorio actual, te recomiendo que antes de generarlo escojas un directorio (current folder) de fácil acceso. Busca en la ayuda: doc diary.


PD: Si ejecutas ese mismo comando pero desde la ventana del editor, evitas unos comentarios, que es la hora y desconozco su procedencia XD...
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

Crear archivos .m

Publicado por xio (23 intervenciones) el 10/12/2012 19:11:34
Hola Carlos!
Muchas gracias por tu ayuda, sin embargo tengo ahora otro pequeño problema.

Mi código actual esta así:

1
2
3
4
diary('NBus.m')
Bus.con = busM;
Bus.con
diary off


y me imprime lo siguiente en el archivo 'NBus.m'

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Bus.con = busM;
Bus.con
 
ans =
 
    1.0000   16.5000    1.0084         0    4.0000    1.0000
    2.0000   18.0000    1.0489         0    5.0000    1.0000
    3.0000  230.0000    1.0000         0    2.0000    1.0000
    4.0000  230.0000    1.0000         0    2.0000    1.0000
    5.0000  230.0000    1.0000         0    2.0000    1.0000
    6.0000  230.0000    1.0000         0    2.0000    1.0000
    7.0000  230.0000    1.0000         0    2.0000    1.0000
    8.0000  230.0000    1.0000         0    2.0000    1.0000
 
diary off


Sin embargo en este archivo 'NBus.m', me gustaría que la impresión o lo que se guarde aquí saliera de la siguiente manera:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Bus.con = busM;
Bus.con = [
 
    1.0000   16.5000    1.0084         0    4.0000    1.0000
    2.0000   18.0000    1.0489         0    5.0000    1.0000
    3.0000  230.0000    1.0000         0    2.0000    1.0000
    4.0000  230.0000    1.0000         0    2.0000    1.0000
    5.0000  230.0000    1.0000         0    2.0000    1.0000
    6.0000  230.0000    1.0000         0    2.0000    1.0000
    7.0000  230.0000    1.0000         0    2.0000    1.0000
    8.0000  230.0000    1.0000         0    2.0000    1.0000
 
] ;
 
diary off


Es decir que salga sin el "ans = " y que salga entre corchetes, ya que este nuevo .m lo necesitare para ingresarlo en otro programa, he estado tratando de hacer esto con el comando fprintf, pero aun no logro lo que necesito.

Te agradecería nuevamente la ayuda que me pudieran brindar.
Saludos!
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 Carlos
Val: 3
Ha aumentado su posición en 4 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

Crear archivos .m

Publicado por Carlos (39 intervenciones) el 10/12/2012 23:48:21
Mmmm!

Bueno, si lo que quieres es generar una matriz que luego utilizarás en otro programa, lo que se me ocurre sería ejecutar el .m que me va a crear la matriz, y si te fijas en la WORKSPACE se almacenan todas esas variables, que posteriormente si deseas las puedes guardar desde el icono que tiene forma de "Diskette" . El te la guarda en .mat y así cuando quieras utilizarla en otro programa, tendrías que cargarla a la WS y listo, ya puedes llamar la variable cuando quieras :D

Un ejemplo sería ejecutar una matriz desde el editor, guardarla desde la WS (.mat), borrar la variable (clear variable), luego cargarla y llamarla desde otro programa. "Es hasta redundante el ejemplo, pero así es como yo lo veo jajaaj "



PD: De que se puede hacer lo que tu dices no existe la menor duda, el problema es como?, pues no tengo mucho tiempo en matlab y lo poco que he aprendido ha sido por mis propios medios XD
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