Matlab - Mostrar resultados de un for

 
Vista:

Mostrar resultados de un for

Publicado por Carlos (1 intervención) el 19/01/2020 19:04:47
1
2
3
4
5
6
disp('los numeros primos son: ')
for i=2:num
   if(primo(i)==true)
      disp(i)
   end
end

Tengo una función que muestra todos los números primos, necesito mostrarlos hacia un lado
por ejemplo

'los números primos son: 2 5 7 11 ... etc'

el problema es que la cantidad de numeros primos a mostrar va cambiando, muestra tanto 1 numero primo o 300 números primos

alguna idea?

muchas gracias a todos :)
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: 918
Bronce
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Mostrar resultados de un for

Publicado por Daniel (354 intervenciones) el 20/01/2020 09:20:29
Hola,

Para lo que quieres tiene que usar fprintf en lugar de disp, así la salida se mantiene en la misma línea de la terminal. Obviamente no uses \n en fprintf.

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 JESUS DAVID ARIZA ROYETH
Val: 3.309
Plata
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Mostrar resultados de un for

Publicado por JESUS DAVID ARIZA ROYETH (1818 intervenciones) el 20/01/2020 18:35:29
Como te comentó Daniel sería así :

1
2
3
4
5
6
7
fprintf('los numeros primos son: ');
for i=2:num
   if(primo(i)==true)
      fprintf('%i ',i);
   end
end
fprintf('\n');
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
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

Mostrar resultados de un for

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 20/01/2020 20:53:03
1
2
3
4
5
6
7
8
9
10
11
12
13
function primos(num)
    disp('los numeros primos son: ')
    for i=1:num
       if(primo(i)==true)
          fprintf('%3d\t',i)
       end
    end
 fprintf('\n')
end
 
function s=primo(n)
s=isprime(n);
end

1
2
3
4
5
6
>> primos(20)
los numeros primos son:
  2	  3	  5	  7	 11	 13	 17	 19
>> primos(100)
los numeros primos son:
  2	  3	  5	  7	 11	 13	 17	 19	 23	 29	 31	 37	 41	 43	 47	 53	 59	 61	 67	 71	 73	 79	 83	 89	 97

Saludos
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
Servicios de programación matlab
Servicio de Asesoría Online en Matlab


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

Mostrar resultados de un for

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 20/01/2020 21:46:21
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
function primos(num)
    disp('los numeros primos son: ')
    for i=1:num
       if(primo(i)==true)
          fprintf('%3d\t',i)
       end
    end
 fprintf('\n')
 
     for i=1:num
       if(primo1(i)==true)
          fprintf('%3d\t',i)
       end
    end
 fprintf('\n')
end
 
function s=primo(n)
s=isprime(n);
end
 
function s=primo1(n)
s=0;
for  i=2:n
    if rem(n,i)==0
        s=s+1;
    end
end
 
end



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
>> primos(20)
los numeros primos son:
  2	  3	  5	  7	 11	 13	 17	 19
  2	  3	  5	  7	 11	 13	 17	 19
>> primos(29)
los numeros primos son:
  2	  3	  5	  7	 11	 13	 17	 19	 23	 29
  2	  3	  5	  7	 11	 13	 17	 19	 23	 29
>> primos(100)
los numeros primos son:
  2	  3	  5	  7	 11	 13	 17	 19	 23	 29	 31	 37	 41	 43	 47	 53	 59	 61	 67	 71	 73	 79	 83	 89	 97
  2	  3	  5	  7	 11	 13	 17	 19	 23	 29	 31	 37	 41	 43	 47	 53	 59	 61	 67	 71	 73	 79	 83	 89	 97
>> primos(200)
los numeros primos son:
  2	  3	  5	  7	 11	 13	 17	 19	 23	 29	 31	 37	 41	 43	 47	 53	 59	 61	 67	 71	 73	 79	 83	 89	 97	101	103	107	109	113	127	131	137	139	149	151	157	163	167	173	179	181	191	193	197	199
  2	  3	  5	  7	 11	 13	 17	 19	 23	 29	 31	 37	 41	 43	 47	 53	 59	 61	 67	 71	 73	 79	 83	 89	 97	101	103	107	109	113	127	131	137	139	149	151	157	163	167	173	179	181	191	193	197	199
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