Programación en Matlab para integrales definidas
& gt& gtd = 0.001; & gt& gtx = 0:d:1; & gt& gts = d * trapz(exp(-x . 2))s = 0.7468 o:> & gt; formato largo g & gt& gtx = 0: 0.001:1; vector %x, o intervalos desiguales >& gty=exp(-x.^2); vector %y, que puede no ser un vector generado por una función conocida >& gtS=trapz(x, y) ; % Encuentra la integral vectorial S = 0,746824071499185 int. La integral puede ser una integral definida o una integral indefinida (es decir, si los límites superior e inferior de la integral son integrables). Por ejemplo, si integras x 2, el resultado es 1/3 * x 3. Este es un método analítico. Si el resultado de int (x 2, x, 1, 2) es 7/3 quad es una integral numérica, entonces solo puede ser una integral definida (es decir, una integral con límites de integración superior e inferior). La integral se integra numéricamente mediante Simpson. Se obtiene (no mediante el método analítico para obtener la solución analítica y sustituyendo los límites superior e inferior, sino sumando las áreas de trapecios pequeños). Si f = inline(' , hay un límite para la precisión del cálculo. La ventaja es que siempre puede tener una cierta velocidad, es decir, siempre puede dar una solución con cierta precisión en un tiempo determinado. [De: 58.192.116. *]Para y = exp(-(x . 2+x+1)/(1+x)), la función original del integrando no tiene una "expresión analítica cerrada". & gtsyms x & gt& gty=exp(-(x.^2+x+1)/(1+x))& gt;& gts=int(y,x,0,INF)y = exp((-x ^2-x-1)/(1+x))
Advertencia: Integral explícita no encontrada. & gt& gt en sym.int, 58s = int(exp(-x2-x-1)/(1+x)), x = 0..INF) solo se puede resolver mediante cálculo numérico >:& gtdx = 0.05% Intervalo de muestreo > & gtx = 0:dx:1000; El cálculo numérico de % es adecuado para un intervalo limitado y toma un número limitado de puntos de muestreo. Siempre que el valor final sea lo suficientemente grande, la precisión no se verá afectada > &. gty=exp(-(x.^2 +x+1)./(1+x));& gt& gts = dx * cum trapz(y);% Calcula el área gráfica bajo la curva en el intervalo, es decir , la acumulación de pequeñas áreas rectangulares>;& gtS(end) ans = 0.5641% Encuentre el valor integral o programe e ingrese manualmente el límite superior de la integral. El proceso es el siguiente: % expresión se guarda como un archivo de función función y = fxy(x)y = exp(-(x . 2+x+1)./(1)% save fxy . m % programa principal-principal borrado, CLC h = .001; p = 0; a = 0; R=input('Ingrese el límite superior de integración, R= ') y A0 e 1 = 2; ; en caso contrario si n2 & gt0e 2 = 2; fin fin si n3 = = 0 E3 = 1; en caso contrario si n3 & gt0 E3 = 2; )* cos(n 1 * pi *x/12). *cos(n2*pi*y/11). *cos(n3*pi*z/9); , -5.5, 5.5, - 4.5, 4.5)% Guarde el código anterior como archivo de programa Fn.m, es decir, archivo M, y luego ejecute: > & gtFn (1, 1, 1)s = 866.9655 [de: 211,65 33.
*]Utilice triplequad para integral triple, que corresponde a los límites superior e inferior de la integral triple, es decir, x =
El integrando f está representado por una "función anónima", es decir, f = @ (x, y, z)sqrt(e 1 * E2 * E3)* cos(n 1 * pi * x/12). * cos (N2 * pi * y/. Si usa en línea o cadena directamente, hay 9 números desconocidos en la expresión, a saber, E1, E2, E3, N1, N2, N3, X, Y, Z. Cuando se usan funciones anónimas , Las variables conocidas E1, E2, E3, N1, N2, N3 se tratarán como constantes y las variables desconocidas son solo X, Y, z Y, Z. Programa de funciones completo: función fn (n1, N2, n3) si n 1 = = 0e 1 = 1; si no n 1 & gt; 0 e 1 = 2; si n2 = = 0 E2 = 1; si n2 & gt0e 2 = 2; E3 = 1; de lo contrario, si n3 & gt0 E3 = 2; fin final F=@(x,y,z)sqrt(e 1 * E2 * E3)* cos(n 1 * pi * *cos(n2*pi*) . y/11). * cos(n3 * pi * z/9);