Como realizar integrales en matlab

Como realizar integrales en matlab MATLAB dispone de las funciones denominadas integral y integral2 para las integrales

Views 175 Downloads 0 File size 151KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Como realizar integrales en matlab MATLAB dispone de las funciones denominadas integral y integral2 para las integrales simples y dobles

Integrales simples La función integral (función, a, b);devuelve el resultado aproximado de la integral cuando se le pasa

>> f=@(x) -x.^2+14*x+21; >> q=integral(f,0,10) q = 576.6667

Integrales dobles Si se quiere calcular una integral doble de la función f(x,y) en la región rectangular de abscisas a y b y de ordenadas c y d,

MATLAB dispone de la función integral2 que realiza esta tarea. Supongamos que queremos calcular la integral doble

Se crea un script, en el que definimos la función anónima f(x,y) y llamamos a integral2 pasándole la función, los límites de integración de la variable x, y los límites de integración de la variable  y.

f=@(x,y) x.^2.*y; res=integral2(f,1,2,0,3); fprintf('El valor de la integral es: %2.3f\n',res)

En la ventana de comandos corremos el script El valor de la integral es: 10.500

Como se puede comprobar si hacemos la integral doble. Para calcular la integral doble de la función f(x,y) en la región no rectangular comprendida entre las curvas y=c(x), y=d(x) y las rectas x=a y x=b

Al integrar la función f(x,y) respecto de la variable y entre los límites c(x) y d(x) nos queda la función g(x) que integramos entre los límites a y b.

Utilizamos la función MATLAB quad, para resolver ambas integrales, tal como vemos en el siguiente ejemplo.

Se Define la función g(x) del siguiente modo function z=g(x) n=length(x); z=zeros(size(x)); for j=1:n %límites de y c=x(j)^3-x(j); d=x(j)^2+x(j); %integrando f(x,y) f=@(y) x(j)^3*y.^4+x(j)*y.^2; z(j)=integral(f,c,d); end end

En el script llamamos a la función quad para resolver la integral de g(x) res=integral(@g,0,2); fprintf('El valor de la integral es: %3.3f\n',res)

En la ventana de comandos corremos el script integral_doble1 El valor de la integral es: 961.181

Nota 2.1 Si x no esta definida como una variable simbólica, utilizaremos la siguiente sintaxis

Sin embargo, esta versi´on de Matlab nos da un aviso como el que sigue: Warning. The method char/int will be removed in a future relase. Use sym/int instead

Integrales definidas

Si la variable x no esta definida como simbólica, utilizaríamos la siguiente sintaxis:

La integración es a menudo un proceso difícil y puede suceder que ni siquiera exista una respuesta completamente cerrada para un problema dado. En ese caso, puede ocurrir que Matlab no encuentre una solución y devolverá int(S) junto con un mensaje del tipo ”Éxplicit integral could not be found”. Por otro lado, si se desea obtener el resultado en forma decimal y con un número preciso de decimales, tras la instrucción int se usaría vpa(I,n), que evaluara la expresión simbólica I con n cifras decimales prefijadas.