Matlab - Cómo integrar la multiplicación de 2 funciones predefinidas en matlab??

   
Vista:

Cómo integrar la multiplicación de 2 funciones predefinidas en matlab??

Publicado por Cesar (3 intervenciones) el 26/10/2015 07:02:09
Buen día

Agradecería si me ayudan con una duda, quiero integrar la multiplicación de dos funciones predefinidas en matlab que son la función de densidad de distribución normal y su función de distribución acumulada, no he podido integrarlas y mostrar el resultado, agradeceré alguna ayuda

muestro lo avanzado (V 2012):

x=-5:0.1:5;
p=normpdf(x,0,1);
f=normcdf(x,0,1);
w=p.*f;
r=integral(w,0,10);

plot(x,p,x,f,x,w);
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 Royeth

Cómo integrar la multiplicación de 2 funciones predefinidas en matlab??

Publicado por Royeth jesus.royeth@gmail.com (742 intervenciones) el 26/10/2015 16:35:48
si lo que tienes son balores de tipo double entonces debes hacer es una integración numérica en el dominio que tengas

por ejemplo :

1
2
3
4
5
x=-5:0.1:5;
p=normpdf(x,0,1);
f=normcdf(x,0,1);
w=p.*f;
trapz(x,w)

donde x es el dominio de tu función a integrar


espero te sea de ayuda
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

Cómo integrar la multiplicación de 2 funciones predefinidas en matlab??

Publicado por Cesar (3 intervenciones) el 26/10/2015 16:51:34
Muchas gracias por su respuesta, entiendo que es una integración numérica, seguí los pasos indicados, sin embargo, aún me sigue saliendo mensaje de error, agradeceré su ayuda.

x=-5:0.1:5;
p=normpdf(x,0,1);
f=normcdf(x,0,1);
w=p.*f;
r=trapz(x,w);

Saludos
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

Cómo integrar la multiplicación de 2 funciones predefinidas en matlab??

Publicado por Royeth jesus.royeth@gmail.com (742 intervenciones) el 26/10/2015 17:55:19
en mi versión de matlab ejecuta muy bien , qué tipo de error te sale???
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

Cómo integrar la multiplicación de 2 funciones predefinidas en matlab??

Publicado por Cesar (3 intervenciones) el 26/10/2015 18:57:40
Gracias una vez más por su ayuda, he podido correrlo, pero tengo una duda, estoy utilizando una función externa para integrar por el método del trapecio (menciona que solo es para funciones continuas ...), al utilizar ambos métodos me da resultados muy diferentes, agredeceré su ayuda con esta duda

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
V=-5:0.5:5;
p=normpdf(V,0,1);
f=normcdf(V,0,1);
w=p.*f;
r=trapz(V,w);
r1=intrap(w,0,500);
 
fprintf('riesgo es %f\n',r);
fprintf('riesgo1 es %f\n',r1);
 
-------------------
%método del trapecio
 
function [ in ] = intrap( y,a,b)
%programa para aproximar integrales por el método
%de los trapecios, este método solo funciona para
%funciones continuas e el intervalo [a,b] y positivas en ese intervalo
%   Autor Julio Echeverri
 
n=400;     %se define el número de subintervalos, la precision se puede aumentar, aumentado N
dx=(b-a)/n; %se crea el delta X para ir barriendo el intervalo en pasos de delta X
in=subs(y,a); %se evalua el primer termino de la sumatoria Xo
for i=2:n     %se pone i en 2 para descontar el primer y ultimo termino de la sumatoria
    a=a+dx;  %se aumenta el valor inicial en delta X en cada iteracion
    in=in+2*subs(y,a); %se aplica la formula
end
in=in+subs(y,a+dx); %se evalua el ultimo termino de la sumatoria
in=in*(dx/2); %de multiplica por dx/2 segun la formula propuesta en el método
end



Saludos
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