Matlab - Encontrar los n primeros números primos

 
Vista:
Imágen de perfil de Javier López

Encontrar los n primeros números primos

Publicado por Javier López (16 intervenciones) el 26/01/2017 20:47:51
El programa que he planteado es el siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
function [v] = mis_primos(n)
 
n=8;
encontrados=1;
es_primo=0;
numero=1;
v(n);
 
while (encontrados<=n)
    es_primo=1;
        for i=2:numero
            if (rem(numero,2)==0)
                es_primo=0;
            end
        end
        if (es_primo==1)
            v(encontrados)=numero;
            printf('v[encontrados]');
            encontrados=encontrados+1;
        end
    numero=numero+1;
end

Y me dice el siguiente error, al hacer la llamada a la función:

1
v = mis_primos(n)
Undefined function or variable 'n'.

No lo entiendo. ¿Alguien puede ayudarme?
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
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

Encontrar los n primeros números primos

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 26/01/2017 22:05:03
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function v = mis_primos(n)
encontrados=1;
es_primo=0;
numero=1;
while encontrados<=n
     es_primo=1;
        for i=2:numero
            if rem(numero,2)==0 && i~=2
                es_primo=0;
            end
        end
        if es_primo==1 && numero>=2
            v(encontrados)=numero;
            %fprintf('v[encontrados]');
            encontrados=encontrados+1;
        end
        numero=numero+1;
end


1
2
3
4
5
>> n=10;  [v] = mis_primos(n)
 
v =
 
     2     3     5     7     9    11    13    15    17    19

Saludos.
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
Servicios de programación matlab


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
Imágen de perfil de Javier López

Encontrar los n primeros números primos

Publicado por Javier López (16 intervenciones) el 27/01/2017 09:27:14
Gracias por respuesta pero veo que no está incluido el "1" y el "15" sobra.
Seguro que es por culpa de mi algoritmo. Le daré otra vuelta.
De todas formas me has ayudado en la duda que preguntaba.
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
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Encontrar los n primeros números primos

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 27/01/2017 14:12:06
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function v = mis_primos(n)
encontrados=1;
numero=1;
while encontrados<=n
     es_primo=0;
        for i=1:numero
            if rem(numero,i)==0
                es_primo=es_primo+1;
            end
        end
        if es_primo==2
            v(encontrados)=numero;
            encontrados=encontrados+1;
        end
        numero=numero+1;
end

1
2
3
4
>> n=10;  v = mis_primos(n)
v =
 
     2     3     5     7    11    13    17    19    23    29


Saludos.
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
Servicios de programación matlab


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
1
Comentar
Imágen de perfil de Dave
Val: 497
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Encontrar los n primeros números primos

Publicado por Dave (1094 intervenciones) el 27/01/2017 23:43:05
Hola Javier;

Pero si se trata de un programa que da los primos, no estaía dando los valores correctos, ya que si lo comparamos con la función de Matlab, para el caso se hallar los primos de n = 10, tendríamos el siguiente resultado

1
2
3
>> primes(10)
 
ans =   2     3     5     7

​Espero que sea de alguna ayuda.

Saludos
Dave Correa
[email protected]
[email protected]
Servicios de Programación Matlab
http://fismatlab.org​​
http://fismatlab.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
-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

Encontrar los n primeros números primos

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 27/01/2017 23:53:44
El titulo dice: " Encontrar los n primeros números primos" y ese es el objetivo de la persona que pone su codigo al foro.
si n es 1, debe salir 2
si n es 2, debe salir 2 3
si n es 3, debe salir 2 3 5
si n es 4, debe salir 2 3 5 7
siguiendo el mismo proceso
si n es 10 entonces 2 3 5 7 11 13 17 19 23 29


Saludos.
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
Servicios de programación matlab


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