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!!!
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


0