Matlab - Decimales

 
Vista:
sin imagen de perfil

Decimales

Publicado por Dani (92 intervenciones) el 16/05/2017 17:19:58
Hola a todos, tengo una situación. Lo que sucede es que tengo una tabla y la debo enviar a un bloc de notas pero al enviarla no me envia todos los decimales, solo envia unos cuantos y lo que necesito es saber como hacer para que en el txt aparezcan todos los decimales.

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

Decimales

Publicado por Dani (92 intervenciones) el 16/05/2017 17:58:43
es este;

1
2
3
4
5
6
7
8
9
10
11
mm=cell2mat(cellfun(@length,cellfun(@num2str,cosinvUAjbubt1,'UniformOutput',false),'UniformOutput',false));
nn=repmat(max(mm),size(mm,1),1)+1-mm;
 
fid = fopen('cosinvUAjbubt.inc','wt');
for i=1:size(cosinvUAjbubt1,1)
    for j=1:size(cosinvUAjbubt1,2)
             fprintf(fid,[num2str(cosinvUAjbubt1{i,j}), repmat(' ',1,nn(i,j)),'\t']);
    end
    fprintf(fid,'\n');
end
fclose(fid);
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

Decimales

Publicado por Dani (92 intervenciones) el 16/05/2017 18:16:57
se lo puedo enviar al correo?
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: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Decimales

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 16/05/2017 18:19:43
Las ayudas son por el foro. Porque sino van a empezar a enviar al correo los que necesitan ayuda y van saturar el correo pidiendo ayuda.
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

Decimales

Publicado por Dani (92 intervenciones) el 16/05/2017 18:21:56
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
ingUACj1=J';
ingUACj2=B';
ingUACj3=UB';


dUAC1 = sort(repmat(ingUACj2,1,length(ingUACj3)));
ingUACc1 = repmat(dUAC1,1,length(ingUACj1));

sUAC1 = repmat(ingUACj3,1,length(ingUACj2));
ingUACc2 = repmat(sUAC1,1,length(ingUACj1));

dUACr1 = sort(repmat(ingUACj2,1,length(ingUACj3)));
ingUACc3 = sort(repmat(ingUACj1,1,length(dUACr1)));


% Convierto a texto 
iiUAC=cellfun(@num2str, num2cell(ingUACc3),'UniformOutput',false);
wwUAC=cellfun(@num2str, num2cell(ingUACc1),'UniformOutput',false);
zzUAC=cellfun(@num2str, num2cell(ingUACc2),'UniformOutput',false);

% Se concatenan 
pruebaf1= cellfun(@(x,y,t) strcat(x,'.',y,'.',t),iiUAC,zzUAC,wwUAC,'UniformOutput',false)';
 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%columnas T
iUAC1=T';
iUAC1=num2cell(T');
iUAC2=ingUACjbubt;
iUAC2=num2cell(ingUACjbubt);
iUAC121 = vertcat(iUAC1,iUAC2);
 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%% CONCATENA LA PRIMERA COLUMNA
AAUACj=NaN;
AAUACj1=pruebaf1;
AAUACj3 = vertcat(AAUACj,AAUACj1);
 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%% CREA LA TABLA 
prueba1=[AAUACj3 iUAC121];
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
%%%%% CAMBIA EL NaN POR []
 
for ii = 1:length(prueba1)
   if isnan(prueba1{ii})
     prueba1{ii} = [];
   end
end
 
%%%%%%%%%%%%%%%%%%%%%% creación prueba.INC
mm=cell2mat(cellfun(@length,cellfun(@num2str,prueba1,'UniformOutput',false),'UniformOutput',false));
nn=repmat(max(mm),size(mm,1),1)+1-mm;
 
fid = fopen('prueba.inc','wt');
for i=1:size(prueba1,1)
    for j=1:size(prueba1,2)
             fprintf(fid,[num2str(prueba1{i,j}), repmat(' ',1,nn(i,j)),'\t']);
    end
    fprintf(fid,'\n');
end
fclose(fid);
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

Decimales

Publicado por Dani (92 intervenciones) el 16/05/2017 18:42:58
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
ingUACj1=[1 2 3];
ingUACj2=[1 2 3];
ingUACj3=[1 2 3];
 
 
 
dUAC1 = sort(repmat(ingUACj2,1,length(ingUACj3)));
ingUACc1 = repmat(dUAC1,1,length(ingUACj1));
 
sUAC1 = repmat(ingUACj3,1,length(ingUACj2));
ingUACc2 = repmat(sUAC1,1,length(ingUACj1));
 
dUACr1 = sort(repmat(ingUACj2,1,length(ingUACj3)));
ingUACc3 = sort(repmat(ingUACj1,1,length(dUACr1)));
 
 
% Convierto a texto 
iiUAC=cellfun(@num2str, num2cell(ingUACc3),'UniformOutput',false);
wwUAC=cellfun(@num2str, num2cell(ingUACc1),'UniformOutput',false);
zzUAC=cellfun(@num2str, num2cell(ingUACc2),'UniformOutput',false);
 
% Se concatenan 
pruebaf1= cellfun(@(x,y,t) strcat(x,'.',y,'.',t),iiUAC,zzUAC,wwUAC,'UniformOutput',false)';

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
pp=[0.100000000000000 0.100000000000000 0.100000000000000 0.100000000000000 0.100000000000000;
    0.000274520277048093 0.000274520277048093 0.000274520277048093 0.000274520277048093 0.000274520277048093;
    0.000651149243699069 0.000651149243699069 0.000651149243699069 0.000651149243699069 0.000651149243699069;
    0.100000000000000 0.100000000000000 0.100000000000000 0.100000000000000 0.100000000000000;
    0.100000000000000 0.100000000000000 0.100000000000000 0.100000000000000 0.100000000000000;
    0.000376628966650976 0.000376628966650976 0.000376628966650976 0.000376628966650976 0.000376628966650976;
    0.100000000000000 0.100000000000000 0.100000000000000 0.100000000000000 0.100000000000000;
    0.100000000000000 0.100000000000000 0.100000000000000 0.100000000000000 0.100000000000000;
    0.100000000000000 0.100000000000000 0.100000000000000 0.100000000000000 0.100000000000000;
    0.100000000000000 0.100000000000000 0.100000000000000 0.100000000000000 0.100000000000000;
    0.000274520277048093 0.000274520277048093 0.000274520277048093 0.000274520277048093 0.000274520277048093;
    0.000651149243699069 0.000651149243699069 0.000651149243699069 0.000651149243699069 0.000651149243699069;
    0.100000000000000 0.100000000000000 0.100000000000000 0.100000000000000 0.100000000000000;
    0.100000000000000 0.100000000000000 0.100000000000000 0.100000000000000 0.100000000000000;
    0.000376628966650976 0.000376628966650976 0.000376628966650976 0.000376628966650976 0.000376628966650976;
    0.100000000000000 0.100000000000000 0.100000000000000 0.100000000000000 0.100000000000000;
    0.100000000000000 0.100000000000000 0.100000000000000 0.100000000000000 0.100000000000000;
    0.100000000000000 0.100000000000000 0.100000000000000 0.100000000000000 0.100000000000000;
    0.100000000000000 0.100000000000000 0.100000000000000 0.100000000000000 0.100000000000000;
    0.000274520277048093 0.000274520277048093 0.000274520277048093 0.000274520277048093 0.000274520277048093;
    0.000651149243699069 0.000651149243699069 0.000651149243699069 0.000651149243699069 0.000651149243699069;
    0.100000000000000 0.100000000000000 0.100000000000000 0.100000000000000 0.100000000000000;
    0.100000000000000 0.100000000000000 0.100000000000000 0.100000000000000 0.100000000000000;
    0.000376628966650976 0.000376628966650976 0.000376628966650976 0.000376628966650976 0.000376628966650976;
    0.100000000000000 0.100000000000000 0.100000000000000 0.100000000000000 0.100000000000000;
    0.100000000000000 0.100000000000000 0.100000000000000 0.100000000000000 0.100000000000000;
    0.100000000000000 0.100000000000000 0.100000000000000 0.100000000000000 0.100000000000000];

%%%%columnas T
T=[1 2 3 4 5]';
iUAC1=T';
iUAC1=num2cell(T');
iUAC2=pp;
iUAC2=num2cell(pp);
iUAC121 = vertcat(iUAC1,iUAC2);
 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%% CONCATENA LA PRIMERA COLUMNA
AAUACj=NaN;
AAUACj1=pruebaf1;
AAUACj3 = vertcat(AAUACj,AAUACj1);
 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%% CREA LA TABLA 
prueba1=[AAUACj3 iUAC121];
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
%%%%% CAMBIA EL NaN POR []
 
for ii = 1:length(prueba1)
   if isnan(prueba1{ii})
     prueba1{ii} = [];
   end
end
 
%%%%%%%%%%%%%%%%%%%%%% creación prueba.INC
mm=cell2mat(cellfun(@length,cellfun(@num2str,prueba1,'UniformOutput',false),'UniformOutput',false));
nn=repmat(max(mm),size(mm,1),1)+1-mm;
 
fid = fopen('prueba.inc','wt');
for i=1:size(prueba1,1)
    for j=1:size(prueba1,2)
             fprintf(fid,[num2str(prueba1{i,j}), repmat(' ',1,nn(i,j)),'\t']);
    end
    fprintf(fid,'\n');
end
fclose(fid);
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

Decimales

Publicado por Dani (92 intervenciones) el 16/05/2017 19:05:57
Debería salir con todos los decimales
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

Decimales

Publicado por Dani (92 intervenciones) el 16/05/2017 19:08:50
Es que sale con 8 decimales y deberían salir todos.
Si me puede ayudar le agradecería enormemente.
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

Decimales

Publicado por Dani (92 intervenciones) el 16/05/2017 19:12:47
1 2 3 4 5
1.1.1 0.1 0.1 0.1 0.1 0.1
1.1.2 0.000274520277048093 0.000274520277048093 0.000274520277048093 0.000274520277048093 0.000274520277048093
1.1.3 0.000651149243699069 0.000651149243699069 0.000651149243699069 0.000651149243699069 0.000651149243699069

Así deberia salir (pero obviamente la tabla completa, este es solo un ejemplo).
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: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Decimales

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 16/05/2017 19:15:36
1
2
3
4
5
6
7
8
9
10
11
12
13
14
mm=cell2mat(cellfun(@length,cellfun(@num2str,prueba1,'UniformOutput',false),'UniformOutput',false));
nn=repmat(max(mm),size(mm,1),1)+1-mm;
 
fid = fopen('prueba.inc','wt');
for i=1:size(prueba1,1)
    fprintf(fid,'%s\t',num2str(prueba1{i,1}) );
for j=2:size(prueba1,2)
%    fprintf(fid, [num2str(prueba1{i,j}), repmat(' ',1,nn(i,j)),'\t']);
fprintf(fid,'%22.18f\t',prueba1{i,j}) ;
end
fprintf(fid,'\n');
end
fclose(fid);
open('prueba.inc')
impresion
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

Decimales

Publicado por Dani (92 intervenciones) el 16/05/2017 19:28:32
Ya no necesito el repmat para que las columnas me salgan siempre en la misma distancia?
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

Decimales

Publicado por Dani (92 intervenciones) el 16/05/2017 20:16:44
Image1

gracias por contestarme, pero en realidad necesito que me salga asi.

:(
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

Decimales

Publicado por JJ (92 intervenciones) el 16/05/2017 20:27:19
Si, es verdad. Disculpe. pero me puede colaborar?
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

Decimales

Publicado por Dani (92 intervenciones) el 16/05/2017 20:57:00
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