Matlab - INTERVALOS DE NUMEROS POSITIVOS Y NEGATIVOS

 
Vista:
sin imagen de perfil
Val: 3
Ha disminuido su posición en 26 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

INTERVALOS DE NUMEROS POSITIVOS Y NEGATIVOS

Publicado por Raul (2 intervenciones) el 05/05/2020 23:13:24
Algoritmo que genere un vector con los números enteros de un intervalo [a, b], que sume los positivos y multiplique los negativos

Logre hacer que se sumen los positivos, pero no logro que funcionen con los negativos, intente con -4 a -2 y me da 6





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
ab=input ('Ingrese el intervalo de numeros que desee evaluar de la forma [a:b]')
n=length (ab);
suma=0;
 
 
 
MULTI=1;
SUMA2=0
 
 
 
 
for i=1:1:n;
 
    %-----------------SUMA-------------
    if i > 0;
        suma= suma+i;
    end
    %----------------------------------
    %-------------MULTIPLICACION---------------
        if i < 0;
       MULTI=MULTI*i;
       SUMA2=SUMA2+MULTI;
 
        end
    %------------------------------------------
end
        if i > 0;
        disp(suma)
    end
 
        if i<0
            disp(SUMA2)
        end
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

INTERVALOS DE NUMEROS POSITIVOS Y NEGATIVOS

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 06/05/2020 00:55:51
1
2
3
4
5
6
7
8
9
10
11
12
13
14
use algo asi:
A=(a, b, c, e, d, f, j, r, o, k, l)
inicializo suma=0;
inicializo multiplicacion=0;
 
Para  i=1,2,3,...,tamaño(A)
         Si A(i) es positivo   entonces
               haga suma=suma mas A(i)
          si no   si A(i) es negativo  entonces
          haga multiplicacion=multiplicacion por A(i)
         Fin_Si
Fin_Para
mostrar suma
mostrar multiplicacion


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


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

INTERVALOS DE NUMEROS POSITIVOS Y NEGATIVOS

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 06/05/2020 01:39:39
arreglado.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
use algo asi:
A=(a, b, c, e, d, f, j, r, o, k, l)
inicializo suma=0;
inicializo multiplicacion=1;
 
Para  i=1,2,3,...,tamaño(A)
         Si A(i) es positivo   entonces
               haga suma=suma mas A(i)
          si no   si A(i) es negativo  entonces
          haga multiplicacion=multiplicacion por A(i)
         Fin_Si
Fin_Para
mostrar suma
mostrar multiplicacion
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
sin imagen de perfil
Val: 918
Bronce
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

INTERVALOS DE NUMEROS POSITIVOS Y NEGATIVOS

Publicado por Daniel (354 intervenciones) el 06/05/2020 10:11:18
Hola,

Un enfoque diferente más apropiado para sacar provecho de Matlab es usar las funciones nativas sum y prod que calcula el sumatorio y productorio de un vector. Por otro lado, para seleccionar los datos solo hay que usar las capacidades de filtrado de Matlab. Así para sumar todos los positivos solo hay que hacer

1
sum(a(a>0))

donde a es el vector. Por otro lado, para obtener el productorio solo hay que hacer

1
prod(a(a<0))

Lo que se puede extender fácilmente para cualquier otra condiciones.

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
-1
Comentar