Setup Menus in Admin Panel

  • LOGIN
  • No hay productos en el carrito.

Suma doble de Riemann: código fuente LaTeX2e

Te comparto el código fuente de una figura que elaboré usando TikZ de LaTeX2e para representar geométricamente una suma doble de Riemann.

Te explico grosso modo el código fuente.

Empiezo cargando los paquetes que se requieren para generar la diapositiva (TikZ y su librería math, y el paquete tikz-3dplot). Indico información sobre el archivo en un comentario de varias líneas.

Primero indico el valor del incremento entre curvas de corte (\step), el número de subintervalos que intervienen en la suma doble de Riemann (n), el incremento en x (\dx) y en y (\dy), valores para delimitar la región donde se calcula la suma doble de Riemann (a, b, c, d), entre otros valores.
Grafico los ejes coordenados junto con una cuadrícula en el plano xy (o bien, z = 0.) También trazo dos curvas de corte (de color azul) que servirán para delimitar la parte de la superficie donde se está calculando la suma doble de Riemman (al final se trazan otras dos curvas de corte).
A través de ciclos \foreach anidados, muestro los prismas rectangulares rectos que representan geométricamente la suma doble de Riemann.
Finalmente, trazo la gráfica de la función que se utiliza para calcular la suma de Riemann.

A continuación se enlista el código fuente.

\documentclass{article}
\usepackage{tikz}
\usepackage{tikz-3dplot}
\usetikzlibrary{math}
\usepackage[active,tightpage]{preview}
\PreviewEnvironment{tikzpicture}
\setlength\PreviewBorder{1pt}
%
% File name: Riemann-double-sum.tex
% Description: 
% A geometric representation of the Riemann double sum is shown.
% 
% Date of creation: March, 19th, 2023.
% Date of last modification: March, 19th, 2023.
% Author: Efraín Soto Apolinar.
% https://www.aprendematematicas.org.mx/author/efrain-soto-apolinar/instructing-courses/
% Source: page 400 of the book titled:
% Glossarium Mathematica (English version) by Efraín Soto Apolinar.
% (To be published soon)
%
% Terms of use:
% According to the license: Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) 
% https://creativecommons.org/licenses/by-nc-sa/4.0/
% Your commitment to the terms of use is greatly appreciated.
%
\begin{document}
%
\tdplotsetmaincoords{70}{110}
%
\begin{tikzpicture}[tdplot_main_coords,scale=1.5]
	\tikzmath{function f(\x,\y) {return 1.5 + 0.5 * cos((0.5*\x + 0.75*\y) r);};}
	\pgfmathsetmacro{\step}{pi/50.0}
	\pgfmathsetmacro{\n}{8} % number of subinterals
	\pgfmathsetmacro{\dx}{0.25}	% 
	\pgfmathsetmacro{\dy}{0.25}	% 
	\pgfmathsetmacro{\xi}{0}	% initial value of the domain for the x variable
	\pgfmathsetmacro{\xf}{1.0*pi}	% final value of the domain for the x variable
	\pgfmathsetmacro{\xe}{\xf+\step}	%	next value in the domain of the plot of the function
	\pgfmathsetmacro{\xs}{\xi+\step} %	next value in the domain of the plot of the function
	\pgfmathsetmacro{\yi}{0}	% initial value of the domain for the y variable
	\pgfmathsetmacro{\yf}{1.0*pi}	% final value of the domain for the y variable
	\pgfmathsetmacro{\ys}{\yi+\step}	% next value in the domain of the plot of the function
	\pgfmathsetmacro{\ye}{\yf+\step}	%	next value in the domain of the plot of the function
	\pgfmathsetmacro{\h}{2.0}	% domain for the z-axis.
	% Límites de mi región en el plano xy
	\pgfmathsetmacro{\a}{0.75}	% range for the x interval [a, b]
	\pgfmathsetmacro{\b}{\a+\n * \dx}	% range for the x interval [a, b]
	\pgfmathsetmacro{\c}{0.5}	% range for the y interval [c, d]
	\pgfmathsetmacro{\d}{\c+\n * \dy}	% range for the y interval [c, d]
	% Siguiente punto en la cuadricula para los ciclos \foreach
	\pgfmathsetmacro{\as}{\a+\dx}	% second value in the domain of the Riemann sum for the x variable
	\pgfmathsetmacro{\cs}{\c+\dy}	% second value in the domain of the Riemann sum for the x variable
	\pgfmathsetmacro{\ba}{\b-\dy}	% last value in the domain of the Riemann sum for the x variable
	\pgfmathsetmacro{\da}{\d-\dy}	% last value in the domain of the Riemann sum for the x variable
	% Last part of the axis
	\draw[thick,->] (\xi-0.25,0,0) -- (\xf+0.25,0,0) node [below] {$x$}; % x axis
	\draw[thick,->] (0,\yi-0.25,0) -- (0,\yf+0.25,0) node [right] {$y$}; % y axis
	\draw[thick,->] (0,0,0) -- (0,0,\h+0.25,0) node [above] {$z = f(x,y)$}; 
	% The region (in the xy-plane)
	\draw[white] (\a,\d,0) -- (\b,\d,0) node [black,below,sloped,midway] {$R$};
	\fill[gray!25] (\a,\c,0) -- (\b,\c,0) -- (\b,\d,0) -- (\a,\d,0) -- (\a,\c,0);
	\draw[very thin] (\a,\c,0) -- (\b,\c,0) -- (\b,\d,0) -- (\a,\d,0) -- (\a,\c,0);
	% Grid of size \dx, \dy
	\foreach \x in {\a,\as,...,\b}
		\draw[very thin] (\x,\c,0) -- (\x,\d,0);
	\foreach \y in {\c,\cs,...,\d}
		\draw[very thin] (\a,\y,0) -- (\b,\y,0);
	% The graphs on the surface that delimit the region 
	\draw[blue,thick,opacity=0.75] plot[domain=\c:\d,smooth,variable=\t] ({\a},{\t},{f(\a,\t)});
	\draw[blue,thick,opacity=0.5] plot[domain=\a:\b,smooth,variable=\t] ({\t},{\c},{f(\t,\c)});
	% Riemann double sum
	\foreach \x in {\a,\as,...,\ba}{
		\foreach \y in {\c,\cs,...,\da}{
			\pgfmathsetmacro{\px}{\x}
			\pgfmathsetmacro{\py}{\y}
			\pgfmathsetmacro{\zdA}{f(\px,\py)}
			% Differential of area dA
			\draw[fill=cyan,opacity=0.25] (\px,\py,0) -- (\px,\py+\dy,0) -- (\px+\dx,\py+\dy,0) -- (\px+\dx,\py,0) -- (\px,\py,0);			
			% Boundary of the differential of volume
			\draw[ultra thin,opacity=0.35] (\px,\py,0) -- (\px,\py,\zdA);
			% Face parallel to the plane yz
			\fill[cyan,opacity=0.35] 
				(\px+\dx,\py,0) -- (\px+\dx,\py,\zdA) -- (\px+\dx,\py+\dy,\zdA) 
				-- (\px+\dx,\py+\dy,0) -- (\px+\dx,\py,0);
			% Face parallel to the plane xz
			\fill[cyan,opacity=0.35] 
				(\px,\py+\dy,0) -- (\px,\py+\dy,\zdA) -- (\px+\dx,\py+\dy,\zdA) 
				-- (\px+\dx,\py+\dy,0) -- (\px+\dx,\py+\dy,0);
			\draw[thin] (\px+\dx,\py,0) -- (\px+\dx,\py,\zdA);
			\draw[thin] (\px,\py+\dy,0) -- (\px,\py+\dy,\zdA);
			\draw[thin,opacity=0.35] (\px+\dx,\py+\dy,0) -- (\px+\dx,\py+\dy,\zdA);
			\draw[thin,opacity=0.35] (\px+\dx,\py,0) -- (\px+\dx,\py+\dy,0);
			\draw[thin,opacity=0.35] (\px,\py+\dy,0) -- (\px+\dx,\py+\dy,0);
			\draw[fill=cyan,opacity=0.5,draw=black] (\px,\py,\zdA) -- (\px+\dx,\py,\zdA) 
					-- (\px+\dx,\py+\dy,\zdA) -- (\px,\py+\dy,\zdA) -- (\px,\py,\zdA);
			\draw[thin,opacity=0.35] (\px+\dx,\py+\dy,0) -- (\px+\dx,\py+\dy,\zdA);
			\draw[thin,opacity=0.35](\px,\py,\zdA) -- (\px+\dx,\py,\zdA) 
					-- (\px+\dx,\py+\dy,\zdA) -- (\px,\py+\dy,\zdA) -- (\px,\py,\zdA);
		}
	}
	% The graphs on the surface that delimit the region of integration
	\draw[blue,thick,opacity=0.75] plot[domain=\c:\d,smooth,variable=\t] ({\b},{\t},{f(\b,\t)});
	\draw[blue,thick,opacity=0.75] plot[domain=\a:\b,smooth,variable=\t] ({\t},{\d},{f(\t,\d)});
	% The surface: Quadrant I
	\foreach \x in {0,\step,...,\xf}{
		\draw[blue,opacity=0.25] plot[domain=0:\yf,smooth,variable=\t] ({\x},{\t},{f(\x,\t)});
	}
	\foreach \y in {0,\step,...,\yf}{
		\draw[blue,opacity=0.25] plot[domain=0:\xf,smooth,variable=\t] ({\t},{\y},{f(\t,\y)});
	}
	% 
\end{tikzpicture}
%
\end{document}

Si aún no conoces LaTeX2e, te invito a aprenderlo con nuestro curso en línea gratuito, titulado LaTeX2e para principiantes.

A continuación te muestro la figura.

Suma doble de Riemann
abril 1, 2023

0 responses on "Suma doble de Riemann: código fuente LaTeX2e"

    Leave a Message

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

    Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

    X