Matlab - CALCULO

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

CALCULO

Publicado por JJ (45 intervenciones) el 25/03/2019 21:17:48
Buenas tardes tengo un inconveniente lo que sucede es que necesito crear una funcion que me permita aplicar por columnas de una tabla porcentajes diferentes que son extraidos de otra tabla ejemplo

tabla de porcentajes
numero porcentaje
1 2%
2 5%
3 8%


tabla para aplicar porcentaje
valor valor2 valor3 valor4 valorn..
100 102 107.1 120.36

y asi sucesivamente el porcentaje 1 se aplica al valor incial
el porcentaje dos se aplica al valor2
el porcentaje 3 al valor 3 y asi sucesivamente

y la funcion debe tomar aplicar tambien estos valores a los nuevos valores a agregar en este ejmeplo solo habia un valor inicial

les agradeceria su colaboracion
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

CALCULO

Publicado por Daniel (354 intervenciones) el 25/03/2019 23:25:06
Hola,

Por lo que entiendo de la pregunta esta se puede resolver utilizando el operador multiplicador unitario. Simplemente teniendo los porcentajes y los valores se puede utilizar .* para obtener el resultado.

1
2
3
4
a = [1.1, 1.2, 1.3];
b = ones(3,4);
 
b .* a

produce

1
2
3
4
5
6
ans =
 
    1.1000    1.2000    1.3000
    1.1000    1.2000    1.3000
    1.1000    1.2000    1.3000
    1.1000    1.2000    1.3000

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
sin imagen de perfil
Val: 8
Ha disminuido su posición en 85 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

CALCULO

Publicado por jj (45 intervenciones) el 25/03/2019 23:45:41
Gracias por responder, pero lo que sucede es que tengo una columna de 27 filas, y esa fila le debo multiplicar el porcentaje que se encuentra en un vector v=[0.02 0.05],
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

CALCULO

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 26/03/2019 00:10:08
1
2
3
4
5
6
function s=calculo_porcentajes(valor,n)
porcentajes=[2:3:(2+3*(n-1))]/100
s(1)=valor;
for i=1:n
    s(i+1)=s(i)+s(i)*porcentajes(i);
end


1
2
3
4
5
6
>> valor=100; n=10; s=calculo_porcentajes(valor,n)
porcentajes =
    0.0200    0.0500    0.0800    0.1100    0.1400    0.1700    0.2000    0.2300    0.2600    0.2900
 
s =
  100.0000  102.0000  107.1000  115.6680  128.3915  146.3663  171.2486  205.4983  252.7629  318.4812  410.8408



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
0
Comentar
sin imagen de perfil
Val: 8
Ha disminuido su posición en 85 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

CALCULO

Publicado por jj (45 intervenciones) el 26/03/2019 02:19:40
Muchas gracias por responder me sirvió Y una pregunta si no fuera en forma de función cómo quedaría el código ?
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
Val: 8
Ha disminuido su posición en 85 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

CALCULO

Publicado por Jj (45 intervenciones) el 26/03/2019 02:43:04
Perdón ya la de arriba ya lo logré y me sirvio mucho el código míl 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

CALCULO

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 26/03/2019 02:44:34
1
2
3
4
5
6
7
8
9
clear all
valor=input('inglese el valor inicial:');
n=input('Ingrese la cantidad de porcentajes n:');
porcentajes=[2:3:(2+3*(n-1))]/100
s(1)=valor;
for i=1:n
    s(i+1)=s(i)+s(i)*porcentajes(i);
end
s


1
2
3
4
5
6
7
8
9
>> porcentajes1
inglese el valor inicial:100
Ingrese la cantidad de porcentajes n:8
porcentajes =
    0.0200    0.0500    0.0800    0.1100    0.1400    0.1700    0.2000    0.2300
 
 
s =
  100.0000  102.0000  107.1000  115.6680  128.3915  146.3663  171.2486  205.4983  252.7629
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
Val: 8
Ha disminuido su posición en 85 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

CALCULO

Publicado por Jj (45 intervenciones) el 26/03/2019 02:51:56
Quería hacerte una pregunta esa me aplica bien para las filas pero si necesitaria que por ejemplo a cada Columna de la tabla me aplique el porcentaje correspondiente como podría hacerlo

Ejemplo tabla
Valor valor2 Valor3. Valor4
100. 102. 107.1. 115.6
150. 153. 160.65 171.89

Tabla de porcentajes
1. 2%
2. 5%
3. 8%


Y así sucesivamente independiente la cantidad de filas que hayan, lo importante es que toda la columna de valor2 aplique el 2%
Valor3 aplique el 5%
Valor4.aplique el 8%
ValorN aplique porcentajeN
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

CALCULO

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 26/03/2019 02:56:23
1
2
3
4
5
6
7
8
function s=calculo_porcentajes(valor,n)
porcentajes=[2:3:(2+3*(n-1))]/100
for j=1:length(valor)
    s(j,1)=valor(j);
    for i=1:n
        s(j,i+1)=s(j,i)+s(j,i)*porcentajes(i);
    end
end

1
2
3
4
5
6
7
8
9
10
11
12
13
>> valor=[100, 500]; n=10; s=calculo_porcentajes(valor,n)
 
porcentajes =
 
    0.0200    0.0500    0.0800    0.1100    0.1400    0.1700    0.2000    0.2300    0.2600    0.2900
 
 
s =
 
   1.0e+03 *
 
    0.1000    0.1020    0.1071    0.1157    0.1284    0.1464    0.1712    0.2055    0.2528    0.3185    0.4108
    0.5000    0.5100    0.5355    0.5783    0.6420    0.7318    0.8562    1.0275    1.2638    1.5924    2.0542
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
Val: 8
Ha disminuido su posición en 85 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

CALCULO

Publicado por jj (45 intervenciones) el 26/03/2019 02:59:30
Mil gracias, me funcionó perfecto.
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