Matlab - Matlab, exportar a un archivo excel

   
Vista:

Matlab, exportar a un archivo excel

Publicado por Silvia Elena (6 intervenciones) el 14/04/2012 22:09:11
Hola, estoy con un pequeño o gran problema, tengo que hacer un generador de numeros aleatorios,y exportar los resultados a un archivo de excel,
lo hago pero me guarda el mismo valor en todos los registros....En realidad la consigna del profesor de mi facu fue que generemos un archivo de 32 Mb, desde matlab a excel, por lo cual pense que con los numeros aleatorios podria exportar y cumplir el objetivo...
aunque la finalidad en si del desarrollo es ver luego el comportamiento del sistema con un programa monitor, que eso ya lo tengo...

adjunto el codigo,si pueden ayudarme les agradecere:

clc;
clear all;
disp ('UNIVERSIDAD NACIONAL DEL NORDESTE ');
disp ('FACULTAD DE CIENCIAS EXACTAS, NATURALES Y AGRIMENSURA');
disp ('LIC. EN SISTEMAS DE INFORMACION');
disp ('__________________________________________________________________________');
disp(' METODO MULTIPLICATIVO DE CONGRUENCIAS EN EL INTERVALO [0;1] ');
disp ('__________________________________________________________________________');
disp(' ');

n = input ('INGRESE LA CANTIDAD DE NUMEROS ALEATORIOS A GENERAR : ');
m = 1000;
pa = 1511;
semilla = 1539;
disp(' ');
disp(' ');

sem=semilla;
a=pa;

while ~isprime(sem)
sem=sem+1;
end

while ~isprime(a)
a=a+1;
end

if (pa==a)
disp('EL PARAMETRO INGRESADO ES PRIMO : ');
else
fprintf('%s%i%s%i%','EL PARAMETRO INGRESADO NO ES PRIMO :',pa,' FUE REEMPLAZADO POR : ',a);
end
disp(' ');

if (sem==semilla)
disp('LA SEMILLA INGRESADA ES PRIMO : ');
else
fprintf('%s%i%s%i%','LA SEMILLA INGRESADA NO ES PRIMO :',semilla,' FUE REEMPLAZADO POR : ',sem);
end



i=1;
vec=[1:n];
vec(i)=sem;

for i=2:n
suma = (a*sem);
r1=mod (suma,m);
vec(i)=r1;
sem=r1;
i=i+1;
end



file='C:\Users\mate y ele\Desktop\elena.xls';




desc=[vec];
[estado]=xlswrite(file,d,'A1:A10000');

disp(' ');

if estado==1
disp('La creacion del archivo fue exitosa.');
end

if estado==0
disp('La creacion del archivo ha fallado.');
end


%%guardo lo mismo en varias columnas para cumplir con la capacidad de 32Mb
%%requerida


[estado]=xlswrite(file,desc,'B1:B10000');
[estado]=xlswrite(file,desc,'C1:C10000');
[estado]=xlswrite(file,desc,'D1:D10000');
[estado]=xlswrite(file,desc,'E1:E10000');
[estado]=xlswrite(file,desc,'F1:F10000');
[estado]=xlswrite(file,desc,'G1:G10000');
[estado]=xlswrite(file,desc,'H1:H10000');
[estado]=xlswrite(file,desc,'I1:I10000');
[estado]=xlswrite(file,desc,'J1:J10000');
[estado]=xlswrite(file,desc,'K1:K10000');
[estado]=xlswrite(file,desc,'L1:L10000');
[estado]=xlswrite(file,desc,'M1:M10000');
[estado]=xlswrite(file,desc,'N1:N10000');
[estado]=xlswrite(file,desc,'O1:O10000');
[estado]=xlswrite(file,desc,'P1:P10000');
[estado]=xlswrite(file,desc,'Q1:Q10000');
[estado]=xlswrite(file,desc,'R1:R10000');
[estado]=xlswrite(file,desc,'S1:S10000');
[estado]=xlswrite(file,desc,'T1:T10000');
[estado]=xlswrite(file,desc,'U1:U10000');
[estado]=xlswrite(file,desc,'V1:V10000');


if estado==1
disp('La creacion del archivo fue exitosa.');
end


if estado==0
disp('La creacion del archivo ha fallado.');
end


Desde ya un millon de 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

Matlab, exportar a un archivo excel

Publicado por elena (6 intervenciones) el 14/04/2012 22:20:16
En sintesis necesito saber como guardar un vector con 10000 elementos en un archivo excel.
un elemento por fila!
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

Matlab, exportar a un archivo excel

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (3439 intervenciones) el 15/04/2012 00:19:43
Hola Elene.
1
desc=[vec]';



Saludos.
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
programador en matlab
Servicios de programacion matlab
jjcc94@hotmail.com

http://matlabcaballero.blogspot.com
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

Matlab, exportar a un archivo excel

Publicado por elena (6 intervenciones) el 15/04/2012 00:22:51
gracias por tu interes en responderme!!! te explico: guardo en la variables desc, el vector de numeros aleatorios que deseo exportar en el archico xls.... podria simplemente usar vec, igual no varia, sigue el error...
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

Matlab, exportar a un archivo excel

Publicado por elena (6 intervenciones) el 15/04/2012 00:31:40
pense que me preguntabas que hice alli, peroo noo, era la solucionnn, muchisimas 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
Imágen de perfil de JOSE JEREMIAS CABALLERO

Matlab, exportar a un archivo excel

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (3439 intervenciones) el 15/04/2012 00:45:25
Hola.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
clear all
n=input('INGRESE LA CANTIDAD DE NUMEROS ALEATORIOS A GENERAR : ');
m=1000;
pa=1511;
semilla=1539;
sem=semilla;
a=pa;
 
while ~isprime(sem)
    sem=sem+1;
end
 
while ~isprime(a)
    a=a+1;
end
 
if pa==a
    disp('EL PARAMETRO INGRESADO ES PRIMO : ');
else
    fprintf('%s%i%s%i%','EL PARAMETRO INGRESADO NO ES PRIMO :\n',pa,' FUE REEMPLAZADO POR : ',a);
end
 
if sem==semilla
    disp('LA SEMILLA INGRESADA ES PRIMO : ');
else
    fprintf('LA SEMILLA INGRESADA NO ES PRIMO: %d FUE  REEMPLAZADO POR: %d\n',semilla,sem);
end
 
vec=zeros(n,1);
vec(1)=sem;
for i=2:n
    vec(i)=mod(a*vec(i-1),m);
end
delete caballero.xls;
file='caballero.xls';
col=char(65:90);
for i=1:length(col)
    estado=xlswrite(file,vec,[col(i),'1:',col(i),num2str(length(vec))]);
end
if estado==1
    disp('La creacion del archivo fue exitosa.');
elseif estado==0
    disp('La creacion del archivo ha fallado.');
end



>> semilla_aleatoria
INGRESE LA CANTIDAD DE NUMEROS ALEATORIOS A GENERAR : 7
EL PARAMETRO INGRESADO ES PRIMO :
LA SEMILLA INGRESADA NO ES PRIMO: 1539 FUE REEMPLAZADO POR: 1543
La creacion del archivo fue exitosa.



Saludos.
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
programador en matlab
Servicios de programacion matlab
jjcc94@hotmail.com

http://matlabcaballero.blogspot.com
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

Matlab, exportar a un archivo excel

Publicado por elena (6 intervenciones) el 15/04/2012 01:45:25
un millonnn de graciasssss, esta perfectoo gracias gracias y mas gracias!!
una ultima consulta, nose si se puede pero te pregunto por las dudas, es posible limitar el tamaño del archivo que voy a generar en excel desde matlab? por ejemplo decir que guarde los numeros aleatorios hasta que el archivo pese 32Mb?.... 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
Imágen de perfil de JOSE JEREMIAS CABALLERO

Matlab, exportar a un archivo excel

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (3439 intervenciones) el 15/04/2012 02:54:42
Hola.
Si se puede hacer lo q quieres, pero para ello tienes redefinir todo el programa que estas haciendo.
Y trabajar con bucles infinitos.


Saludos.
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
programador en matlab
Servicios de programacion matlab
jjcc94@hotmail.com

http://matlabcaballero.blogspot.com
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

Matlab, exportar a un archivo excel

Publicado por elena (6 intervenciones) el 15/04/2012 03:01:22
Una vez mas muchas gracias!!!!, claro deberia trabajar con un ford hasta 10000000... y luego como hago para guardar en excel?, si en la ejecucion del programa solo me permite guardar 50000 registros?...graciasss!!
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