Matlab - AYUDAAA!!! numeros primos...

 
Vista:

AYUDAAA!!! numeros primos...

Publicado por Vannessa (6 intervenciones) el 19/06/2007 02:12:42
Hola!!! Me mandaron a hacer una que me de los primeros "n"´números primos. Por ejemplo si el usuario pone 5000, el programa debe darle los primeros 5000 números primos de todos los números primos que existen.
Esta funciòn debe retornar lo "n" primos en un vector, donde "n" es el parámetro de entrada de la función

Te estaría muy agradecida si me pudieses ayudar porque ya he intentado y no sirve lo nada poco que he podido hacer...

Estaré en espera de tú respuesta y te agradezco de antemano tu dispoción y ayuda...

Vannessa
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

RE:AYUDAAA!!! numeros primos...

Publicado por Pumy (38 intervenciones) el 19/06/2007 10:27:28
Se me ocurre una forma de hacerlo.

Inicializa lo que será el array de primos con los valores [1 2] (que son los primeros primos seguros) y un escalar que será el candidato y en primer lugar será el 3. Entonces por un bucle while mientras que no tengas los primos que quieres. Por ejemplo, si n es el número de primos que necesitas y primos es el array será:

candidato=3;
while length(primos)<n

... más cosas ...
candidato=candidato+1;

end

Dentro de este while tienes que poner un for para que compruebe si el candidato es divisible por alguno de los primos que ya tienes excepto el 1. Creo que para hacer el resto se usa la función mod (mira en la ayuda). Por ejemplo:

esprimo=0;
for i=2:length(primos)

if mod(candidato,primos(i))==0
esprimo=1;
end

if esprimo
primos=[primos candidato];
end

end

Esto lo cueces un poco a fuego lento y lo sazonas con un poco de ajo y orégano. Servir frío.
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

RE:AYUDAAA!!! numeros primos...

Publicado por Julian (75 intervenciones) el 25/06/2007 22:28:02
Bien, aqui te dejo la función que resuelve ese problema, cópiala tal cual en un fichero .m y guárdala con el mismo nombre de la función, en este caso, firtsprime.m, en la carpeta Work.

Para probar la función, sólo tienes que teclear en la ventana de comandos de matlab, el nombre de la función con el argumento de entrada que indica cuantos números primos se quiere visualizar. Por ejemplo:

>> p = firtsprime(12)

debería mostrar algo como esto:

p =

1 2 3 5 7 11 13 17 19 23 29 31

Espero que te sirva! Aquí va la función:

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 out=firtsprime(n)
%
% Visualiza primeros tres números primos en caso que el argumento de
% entrada sea menor a 3.
if n==1
    out=1;
    return
end
%
if n==2
    out=(1:2);
    return
end
%
% Incializa variables.
i=3;
val=3;
%
% Inicializa primeros 3 numeros primos.
prime=(1:3);
%
while length(prime)~=n
    val=val+2;
    fac=length(factor(val));
    if fac==1
        prime(i+1)=val;
        i=i+1;
    end
end
out=prime;


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

RE:AYUDAAA!!! numeros primos...

Publicado por a (1 intervención) el 01/10/2008 23:56:08
int main (){ int i, j, primo, num; printf ("Introduzca numero: "); scanf ("%d", &num); i = num + 1; do { primo = 1; for (j = 2; j <= i/2 && primo; j++) if((i%j) == 0) primo = 0; if (primo) printf("%d ", i); i++; }while ( i < LIMITE && !primo); system("pause"); return 0;}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
-2
Comentar

RE:AYUDAAA!!! numeros primos...

Publicado por edison (1 intervención) el 18/06/2010 00:36:57
utilizando los comandos
if
while
floor
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
-2
Comentar

RE:AYUDAAA!!! numeros primos...

Publicado por patricio (1 intervención) el 30/06/2010 20:39:44
cooomo realizo el programa de la serie de los 10 primero numeros primos en matlab
porfa es para mañana ayudame 01/06/2010
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

NUMEROS PRIMOS

Publicado por LENIN (1 intervención) el 02/06/2012 19:48:03
OLA, en encontrado un manera muy fácil de dar respuesta a tu pregunta, y espero sirva para los que tienen dudas con los numero primos en matlab.
yo tengo instalado el Matlab 2009 y encontré una programación que ya esa fija en el mismo programa como el pi = 3.1416. Para que aparezcan los numero primos solo se escribe, p=primes(n); donde n es los números de términos que quieres que aparezcan por ejemplo:
p = primes(37)

p = 2 3 5 7 11 13 17 19 23 29 31 37

espero sea tu respuesta
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

NUMEROS PRIMOS

Publicado por alexander (1 intervención) el 03/03/2016 01:37:24
Gracias, me sirvió mucho u respuesta
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

AYUDAAA!!! numeros primos...

Publicado por marcos (1 intervención) el 17/10/2012 02:53:25
copiar y pegar en un archivo (.m) el codigo de abajo

1
2
3
4
5
6
7
8
9
10
11
12
13
k=input('Dar los numeros primos hasta ');
p=[];
for a=1:k;
c=1:a;
b=a./c;
m=find((b./floor(b))==1);
if length(m)==2;
    p(a)=a;
end
end
r=find(p==0);
p(r)=[];
disp(p)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar

AYUDAAA!!! numeros primos...

Publicado por cristian (1 intervención) el 07/10/2015 01:16:55
crear un programa en matlab q calcule la sumatoria de los 100 primeros numeros impares primos... altoke xfa...necesito 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

AYUDAAA!!! numeros primos...

Publicado por li flores (1 intervención) el 07/10/2015 04:07:34
Hola amigo...... mira tengo que encontrar TODOS los numeros primos que existan entre x parametro (De 10-1 ejemplo) pero sin usar 'primes' & aparte tengo que arrojar la cantidad de numeros primos que existen en ese mismo parametro.
Podrias ayudarme :(
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 Royeth
Val: 3.309
Plata
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

AYUDAAA!!! numeros primos...

Publicado por Royeth (1818 intervenciones) el 07/10/2015 10:36:04
TODOS LOS NÚMEROS PRIMOS DE UN INTERVALO

1
2
3
4
5
6
7
8
9
10
11
12
13
a=0; clear primo %0 números al comienzo 
k=input('ingrese límite inferior del intervalo');
kk=input('ingrese límite superior del intervalo');
con=0; %contador
 while k~=kk %mientras a no sea igual a 100 (no se tengan los 100 primos)
     if isprime(k) %si es primo
         a=a+1; %tengo otro primo más
primo(a)=k;
     end
     k=k+1;%seguir buscando 
 end
disp(primo)
disp(num2str(length(primo),'hay %d primos en este intervalo'))

saludos
https://www.facebook.com/royethmatlab/
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

AYUDAAA!!! numeros primos...

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 07/10/2015 15:31:30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function primos1(a,b)
primos=[ ];
for k=a:b
    s=0;
   for i=1:k
       if rem(k,i)==0
           s=s+1;
       end
   end
   if s==2
           primos=[primos,k]; %#ok<AGROW>
           s=0;
   end
end
 
display(primos)
numeros_primos=length(primos);
display(numeros_primos)

1
2
3
4
5
6
7
8
9
10
>> primos1(9,60)
 
primos =
 
    11    13    17    19    23    29    31    37    41    43    47    53    59
 
 
numeros_primos =
 
    13


Saludos
JOSE JEREMÍAS CABALLERO
Asesoría online en Matlab
Servicios de programación matlab
[email protected]
Estimado Usuario, el correo es para servicios de cursos, asesoría y programación. Toda ayuda gratuita es vía foro.


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

AYUDAAA!!! numeros primos...

Publicado por Royeth (1818 intervenciones) el 07/10/2015 10:28:46
100 primeros números impares primos
1
2
3
4
5
6
7
8
9
10
11
a=0; %0 números al comienzo 
k=3; %número inicial pues el 2 es primo par
con=0; %contador
 while a~=100 %mientras a no sea igual a 100 (no se tengan los 100 primos)
     if isprime(k) %si es primo
         con=con+k; %lo que llevaba más el primo
         a=a+1; %tengo otro primo más
     end
     k=k+1;%seguir buscando 
 end
disp(con)

Saludos
https://www.facebook.com/royethmatlab/
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

AYUDAAA!!! numeros primos...

Publicado por JUAN MANUEL (21 intervenciones) el 04/11/2016 01:29:39
Por favor Sr JOSE JEREMÍAS CABALLERO podrían explicar detalladamente el programa que no entiendo su lógica.
Muchas gracias por su tiempo
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

AYUDAAA!!! numeros primos...

Publicado por JUAN MANUEL (21 intervenciones) el 06/11/2016 01:23:57
Profesor:

Quiero sumar los 10 primeros números primos empezando por 100.. Me prodría ayudar por favor?

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

AYUDAAA!!! numeros primos...

Publicado por Royeth (1818 intervenciones) el 06/11/2016 06:23:59
empezando por 100 : la suma se guarda en con

1
2
3
4
5
6
7
8
9
10
11
a=0; %0 números  primos al comienzo 
k=100; %empezando por cien
con=0; %contador
 while a~=10 %mientras a no sea igual a 10 (no se tengan los 10 primos)
     if isprime(k) %si es primo
         con=con+k; %lo que llevaba más el primo
         a=a+1; %tengo otro primo más
     end
     k=k+1;%seguir buscando 
 end
disp(con)


Saludos
https://www.facebook.com/royethmatlab/
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

AYUDAAA!!! numeros primos...

Publicado por JUAN MANUEL (21 intervenciones) el 06/11/2016 15:43:25
Hallar los 100 primeros números primos después del número 100 (no usar el comando
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

AYUDAAA!!! numeros primos...

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 06/11/2016 15:56:03
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
function primos2
primos=[ ];
k=100;
while 1
    s=0;
   for i=1:k
       if rem(k,i)==0
           s=s+1;
       end
   end
   if s==2
           primos=[primos,k]; %#ok<AGROW>
           s=0;
   end
   if length(primos)==100;
       break;
   end
k=k+1;
end
 
display(primos)
numeros_primos=length(primos);
display(numeros_primos)



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
>> primos2
 
primos =
 
  Columns 1 through 27
 
   101   103   107   109   113   127   131   137   139   149   151   157   163   167   173   179   181   191   193   197   199   211   223   227   229   233   239
 
  Columns 28 through 54
 
   241   251   257   263   269   271   277   281   283   293   307   311   313   317   331   337   347   349   353   359   367   373   379   383   389   397   401
 
  Columns 55 through 81
 
   409   419   421   431   433   439   443   449   457   461   463   467   479   487   491   499   503   509   521   523   541   547   557   563   569   571   577
 
  Columns 82 through 100
 
   587   593   599   601   607   613   617   619   631   641   643   647   653   659   661   673   677   683   691
 
 
numeros_primos =
 
   100



Saludos.
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
programador en matlab
Servicios de programación matlab
[email protected]


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

AYUDAAA!!! numeros primos...

Publicado por wilmer (1 intervención) el 14/05/2018 00:55:12
Cree una función que reciba un número natural n, n ≥ 2 por hipótesis, y devuelva el número de elementos de la sucesión de Fibonacci (con x1=1 y x2=1) que son primos y menores que n. Por ejemplo, si n=100 la función debería devolver 5 ya que los elementos de la sucesión de Fibonacci menores que 100 son 1,1,2,3,5,8,13,21,34,55 y 89 y de ellos solamente 1,3,5,13 y 89 son primos. La función devolverá por tanto 5. La sucesión de Fibonacci sigue la siguiente estructura


ayuden por faaaa
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

AYUDAAA!!! numeros primos...

Publicado por Robert (1 intervención) el 21/10/2018 21:27:08
Gracias, buen aporte!!
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

AYUDAAA!!! numeros primos...

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 21/10/2018 23:36:03
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
clear all
n=input('Ingrese n:');
x(1)=1;x(2)=1;
P=0;
i=2;
while x(i)<n
    x(i+1)=x(i)+x(i-1);
    if isprime(x(i))
       P=P+1;
       Primo(P)=x(i);
    end
    i=i+1;
end
if n>2
P
Primo
else
    disp('no hay primos aun')
end


1
2
3
4
5
6
7
8
9
10
11
>> primo_fibonaci
Ingrese n:100
 
P =
 
     5
 
 
Primo =
 
     2     3     5    13    89


Saludos
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
Servicios de programación 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
1
Comentar