<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
		<id>https://mat.caminos.upm.es/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=%C3%81lvaro+Villar</id>
		<title>MateWiki - Contribuciones del usuario [es]</title>
		<link rel="self" type="application/atom+xml" href="https://mat.caminos.upm.es/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=%C3%81lvaro+Villar"/>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/wiki/Especial:Contribuciones/%C3%81lvaro_Villar"/>
		<updated>2026-04-23T19:12:29Z</updated>
		<subtitle>Contribuciones del usuario</subtitle>
		<generator>MediaWiki 1.26.2</generator>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Mallado_Arco_1_(grupo_59)&amp;diff=97366</id>
		<title>Mallado Arco 1 (grupo 59)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Mallado_Arco_1_(grupo_59)&amp;diff=97366"/>
				<updated>2025-12-03T17:52:47Z</updated>
		
		<summary type="html">&lt;p&gt;Álvaro Villar: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Arco1. Grupo 59 | [[:Categoría:Teoría de Campos|Teoría de Campos]]|[[:Categoría:TC25/26|2025-26]] | &lt;br /&gt;
*Guillermo Pineros Quero&lt;br /&gt;
*Ignacio Sueiras Oviedo&lt;br /&gt;
*Francisco Yusep Saiz Cebrián&lt;br /&gt;
*Álvaro Villar Rosado&lt;br /&gt;
*Javier Ruiz Sáenz de Jubera}}&lt;br /&gt;
[[Categoría:Teoría de Campos]]&lt;br /&gt;
[[Categoría:TC25/26]]&lt;br /&gt;
==Introducción==&lt;br /&gt;
&amp;quot;En este artículo se examina el proceso de parametrización y mallado de una placa plana 2D con forma de arco circular (anillo), delimitada por un radio interior de 1 y uno exterior de 2. Definimos dos variables físicas sobre esta geometría: la temperatura &amp;lt;math&amp;gt;T(x,y)&amp;lt;/math&amp;gt; en coordenadas cartesianas y un vector de desplazamientos &amp;lt;math&amp;gt;\vec{u}(\rho,\theta)&amp;lt;/math&amp;gt; en coordenadas cilíndricas. La temperatura se rige por la función      &amp;lt;math&amp;gt;T(x,y)=(x-y)^2&amp;lt;/math&amp;gt; , mientras que los desplazamientos obedecen a &amp;lt;math&amp;gt;\vec{u}&amp;lt;/math&amp;gt; = &amp;lt;math&amp;gt;\frac{1}{5} (\rho-1)\rho^2 \cos\theta(\vec{e}_\theta)&amp;lt;/math&amp;gt; El objetivo principal es formalizar la descripción del dominio y sus funciones para facilitar el análisis numérico mediante discretización. El texto se complementa con códigos de MATLAB, fotografías y representaciones gráficas en cada apartado.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Mallado del arco ==&lt;br /&gt;
El mallado de un arco consiste en dividir su superficie en puntos organizados, lo que permite describir su geometría y analizar cómo cambian diferentes magnitudes dentro de él.&lt;br /&gt;
El arco está comprendido entre los radios de valor 1 y 2, que al pasarlo a coordenadas polares la región estará definida por rho(ρ) y theta(θ), y sus valores [1,2]x[0,π]&lt;br /&gt;
&lt;br /&gt;
=== Representación del mallado ===&lt;br /&gt;
[[Archivo:mallado.del.arco.png|500px|thumb|right|]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Mallado del arco alineado&lt;br /&gt;
&lt;br /&gt;
% Elegimos divisiones que garanticen que:&lt;br /&gt;
% θ = 0, pi/2, pi están incluidos &lt;br /&gt;
% r incluye exactamente 1 y 2    &lt;br /&gt;
&lt;br /&gt;
theta = linspace(0, pi, 20);   % mallado moderado, incluye 0, pi/2 y pi&lt;br /&gt;
r = linspace(1, 2, 15);        % radios exactos 1 y 2&lt;br /&gt;
&lt;br /&gt;
[R, TH] = meshgrid(r, theta);&lt;br /&gt;
&lt;br /&gt;
% Convertir a coordenadas cartesianas&lt;br /&gt;
X = R .* cos(TH);&lt;br /&gt;
Y = R .* sin(TH);&lt;br /&gt;
&lt;br /&gt;
figure;&lt;br /&gt;
hold on;&lt;br /&gt;
&lt;br /&gt;
col = [0.3 0.6 1];  % azul clarito&lt;br /&gt;
&lt;br /&gt;
% Mallado tipo red (más grueso) &lt;br /&gt;
plot(X,  Y, 'Color', col, 'LineWidth', 1.1);   % líneas en theta&lt;br /&gt;
plot(X', Y', 'Color', col, 'LineWidth', 1.1);  % líneas en r&lt;br /&gt;
&lt;br /&gt;
% Contornos superior interior y exterior &lt;br /&gt;
theta_cont = linspace(0, pi, 400);&lt;br /&gt;
&lt;br /&gt;
plot(1*cos(theta_cont), 1*sin(theta_cont), 'Color', col, 'LineWidth', 2);&lt;br /&gt;
plot(2*cos(theta_cont), 2*sin(theta_cont), 'Color', col, 'LineWidth', 2);&lt;br /&gt;
&lt;br /&gt;
% Bases &lt;br /&gt;
plot([-1 -2], [0 0], 'Color', col, 'LineWidth', 2);  % base izquierda&lt;br /&gt;
plot([ 1  2], [0 0], 'Color', col, 'LineWidth', 2);  % base derecha&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% Ajustes&lt;br /&gt;
axis equal&lt;br /&gt;
grid on&lt;br /&gt;
title('Mallado del arco')&lt;br /&gt;
xlabel('x')&lt;br /&gt;
ylabel('y')&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==  Temperatura en el arco  ==&lt;br /&gt;
La temperatura del sólido proviene de un foco de calor muy concentrado en los puntos&lt;br /&gt;
que están a distancia 1 del origen. La función es: '''&amp;lt;big&amp;gt;𝑇(𝑥, 𝑦) = (𝑥 − 𝑦)&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;&amp;lt;/big&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
=== Código ===&lt;br /&gt;
[[Archivo:funciontemperatura.png|500px|thumb|right|Representación de la temperatura en el arco]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Mallado del arco&lt;br /&gt;
theta = linspace(0, pi, 200);   % más denso para curva suave&lt;br /&gt;
r = linspace(1, 2, 200);        % radio interior 1, exterior 2&lt;br /&gt;
[R, TH] = meshgrid(r, theta);&lt;br /&gt;
&lt;br /&gt;
% Convertir a cartesianas&lt;br /&gt;
X = R .* cos(TH);&lt;br /&gt;
Y = R .* sin(TH);&lt;br /&gt;
&lt;br /&gt;
% Funcion temperatura&lt;br /&gt;
T = (X - Y).^2;&lt;br /&gt;
&lt;br /&gt;
% Representación 2D&lt;br /&gt;
figure;&lt;br /&gt;
pcolor(X, Y, T);     % representación 2D en colores&lt;br /&gt;
shading interp       % suavizado del color&lt;br /&gt;
colormap(jet)&lt;br /&gt;
colorbar;&lt;br /&gt;
&lt;br /&gt;
title('Temperatura T(x,y) = (x - y)^2 sobre el arco')&lt;br /&gt;
xlabel('x')&lt;br /&gt;
ylabel('y')&lt;br /&gt;
axis equal           % mantiene proporciones reales&lt;br /&gt;
hold on&lt;br /&gt;
&lt;br /&gt;
%% Contorno negro del arco &lt;br /&gt;
theta_cont = linspace(0, pi, 400);&lt;br /&gt;
&lt;br /&gt;
% Borde interior&lt;br /&gt;
plot(1*cos(theta_cont), 1*sin(theta_cont), 'k-', 'LineWidth', 1);&lt;br /&gt;
&lt;br /&gt;
% Borde exterior&lt;br /&gt;
plot(2*cos(theta_cont), 2*sin(theta_cont), 'k-', 'LineWidth', 1);&lt;br /&gt;
&lt;br /&gt;
% Radio izquierdo&lt;br /&gt;
plot([1 2]*cos(0), [1 2]*sin(0), 'k-', 'LineWidth', 1);&lt;br /&gt;
&lt;br /&gt;
% Radio derecho&lt;br /&gt;
plot([1 2]*cos(pi), [1 2]*sin(pi), 'k-', 'LineWidth', 1);&lt;br /&gt;
&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Gradiente de temperatura ==&lt;br /&gt;
===Cálculo del gradiente===&lt;br /&gt;
El gradiente de una función escalar (∇f) es un campo vectorial cuyas componentes son las derivadas parciales de la función. Geométricamente, el vector gradiente apunta en la dirección de máximo crecimiento de la función y es ortogonal a sus curvas de nivel.&lt;br /&gt;
&lt;br /&gt;
La fórmula para calcularlo es: &lt;br /&gt;
&lt;br /&gt;
∇f(x,y) = ( ∂f/∂x , ∂f/∂y )&lt;br /&gt;
&lt;br /&gt;
Como la temperatura viene dada por la siguiente fórmula: &lt;br /&gt;
&lt;br /&gt;
T(x, y) = (x - y)²&lt;br /&gt;
&lt;br /&gt;
El gradiente de temperatura será:&lt;br /&gt;
&lt;br /&gt;
∇T = (2(x - y), -2(x - y))&lt;br /&gt;
===Representación gráfica del gradiente===&lt;br /&gt;
[[Archivo:Gradiente apartado 3.png|500px|thumb|right|Gradiente de temperatura]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% Representación del gradiente&lt;br /&gt;
clc; clear; close all;&lt;br /&gt;
&lt;br /&gt;
% Dominio &lt;br /&gt;
rho_min = 1;  rho_max = 2;&lt;br /&gt;
th_min = 0;   th_max = pi;&lt;br /&gt;
&lt;br /&gt;
[Rho, Theta] = meshgrid(linspace(rho_min, rho_max, 100), ...&lt;br /&gt;
                        linspace(th_min, th_max, 200));&lt;br /&gt;
&lt;br /&gt;
% Convertimos a Cartesianas&lt;br /&gt;
X = Rho .* cos(Theta);&lt;br /&gt;
Y = Rho .* sin(Theta);&lt;br /&gt;
&lt;br /&gt;
%% 2. Definición de Temperatura y Gradiente&lt;br /&gt;
% Temperatura T = (x - y)^2&lt;br /&gt;
T_val = (X - Y).^2;&lt;br /&gt;
&lt;br /&gt;
% Cálculo del gradiente&lt;br /&gt;
Grad_X = 2 .* (X - Y);&lt;br /&gt;
Grad_Y = -2 .* (X - Y);&lt;br /&gt;
&lt;br /&gt;
% Representación gráfica&lt;br /&gt;
figure('Name', 'Trabajo M - Pregunta 3 (Estilo Suave)', 'Color', 'w');&lt;br /&gt;
hold on;&lt;br /&gt;
&lt;br /&gt;
contourf(X, Y, T_val, 50, 'LineStyle', 'none');&lt;br /&gt;
&lt;br /&gt;
% Creamos la gráfica&lt;br /&gt;
N = 256;&lt;br /&gt;
r = linspace(0.2, 1, N)'; &lt;br /&gt;
g = linspace(0.5, 1, N)';&lt;br /&gt;
b = linspace(1, 0, N)';   &lt;br /&gt;
mi_mapa = [r, g, b];      % Matriz de colores&lt;br /&gt;
&lt;br /&gt;
colormap(mi_mapa);&lt;br /&gt;
c = colorbar;&lt;br /&gt;
c.Label.String = 'Temperatura T = (x-y)^2';&lt;br /&gt;
&lt;br /&gt;
% Cantida de flechas&lt;br /&gt;
step_r = 8;  % Salta cada 8 puntos en el radio&lt;br /&gt;
step_t = 12; % Salta cada 12 puntos en el ángulo&lt;br /&gt;
&lt;br /&gt;
idx_r = 1:step_r:size(X,1);&lt;br /&gt;
idx_t = 1:step_t:size(X,2);&lt;br /&gt;
&lt;br /&gt;
% Dibujo flechas&lt;br /&gt;
quiver(X(idx_r, idx_t), Y(idx_r, idx_t), ...&lt;br /&gt;
       Grad_X(idx_r, idx_t), Grad_Y(idx_r, idx_t), ...&lt;br /&gt;
       'k', ...                 % Color negro flechas&lt;br /&gt;
       'LineWidth', 1.0, ...    % Grosor flechas&lt;br /&gt;
       'AutoScaleFactor', 0.8); % Tamaño flechas&lt;br /&gt;
&lt;br /&gt;
axis equal;&lt;br /&gt;
xlim([-2.5 2.5]); ylim([0 2.5]); % Márgenes &lt;br /&gt;
title('Gradiente sobre T');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
&lt;br /&gt;
box on; &lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
== Campo de Vectores ==&lt;br /&gt;
El campo vectorial viene dado por la siguiente fórmula: &lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align:center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{u}(\rho,\theta)=\frac{1}{5}(\rho - 1)\rho^{2}\sin\theta\,\vec{e}_{\theta}&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== código ===&lt;br /&gt;
[[Archivo:apartado.4.png|500px|thumb|right|Campo de vectores]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear; clc; close all;&lt;br /&gt;
&lt;br /&gt;
%% --- 1. Definir el mallado polar del sólido ---&lt;br /&gt;
h = 0.1;&lt;br /&gt;
rho_min = 1;&lt;br /&gt;
rho_max = 2;&lt;br /&gt;
theta_min = 0;&lt;br /&gt;
theta_max = pi;&lt;br /&gt;
&lt;br /&gt;
rho_vec   = rho_min:h:rho_max;&lt;br /&gt;
theta_vec = theta_min:h:theta_max;&lt;br /&gt;
&lt;br /&gt;
[R, Th] = meshgrid(rho_vec, theta_vec);&lt;br /&gt;
&lt;br /&gt;
% Convertir la malla a cartesianas (puntos del sólido)&lt;br /&gt;
X = R .* cos(Th);&lt;br /&gt;
Y = R .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
%% --- 2. Definir el campo vectorial u en e_theta ---&lt;br /&gt;
U_theta = (1/5) * (R - 1) .* R.^2 .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
% Componentes de los vectores unitarios e_theta en cartesianas&lt;br /&gt;
e_th_x = -sin(Th);&lt;br /&gt;
e_th_y =  cos(Th);&lt;br /&gt;
&lt;br /&gt;
% Convertir el campo a componentes cartesianas&lt;br /&gt;
U_x = U_theta .* e_th_x;&lt;br /&gt;
U_y = U_theta .* e_th_y;&lt;br /&gt;
&lt;br /&gt;
%% --- 3. Dibujar SOLO el campo vectorial u en los puntos de la malla ---&lt;br /&gt;
figure;&lt;br /&gt;
hold on;&lt;br /&gt;
axis equal;&lt;br /&gt;
grid off;&lt;br /&gt;
set(gcf,'Color','w');&lt;br /&gt;
&lt;br /&gt;
% Dibujar las flechas del campo vectorial u&lt;br /&gt;
quiver(X, Y, U_x, U_y, 'b', 'LineWidth', 1.2, 'MaxHeadSize', 0.6);&lt;br /&gt;
&lt;br /&gt;
%% --- 4. Dibujar el borde del sólido con UNA línea negra ---&lt;br /&gt;
% Lado 1: arco exterior&lt;br /&gt;
plot(rho_max*cos(theta_vec), rho_max*sin(theta_vec), 'k', 'LineWidth', 2);&lt;br /&gt;
&lt;br /&gt;
% Lado 2: arco interior&lt;br /&gt;
plot(rho_min*cos(theta_vec), rho_min*sin(theta_vec), 'k', 'LineWidth', 2);&lt;br /&gt;
&lt;br /&gt;
% Lado 3: cierre izquierdo (theta = pi)&lt;br /&gt;
plot([rho_min*cos(pi), rho_max*cos(pi)], [rho_min*sin(pi), rho_max*sin(pi)], 'k', 'LineWidth', 2);&lt;br /&gt;
&lt;br /&gt;
% Lado 4: cierre derecho (theta = 0)&lt;br /&gt;
plot([rho_min*cos(0), rho_max*cos(0)], [rho_min*sin(0), rho_max*sin(0)], 'k', 'LineWidth', 2);&lt;br /&gt;
&lt;br /&gt;
title('Campo \vec u sobre la malla del sólido (bordeado en negro)');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Dibujo del sólido antes y después del desplazamiento==&lt;br /&gt;
&lt;br /&gt;
===Código===&lt;br /&gt;
[[Archivo:grafica_1.png|500px|thumb|right|Gráfica 1]]&lt;br /&gt;
[[Archivo:Grafica_2.png|500px|thumb|right|Gráfica 2]]&lt;br /&gt;
[[Archivo:apartado.5.png|500px|thumb|right|Gráfica 3]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% Visualización de Deformación (Azul vs Rojo)&lt;br /&gt;
clear; clc; close all;&lt;br /&gt;
% --- 1. DATOS Y CÁLCULOS  ---&lt;br /&gt;
rho_vec = 1:0.1:2;&lt;br /&gt;
&lt;br /&gt;
% EL CAMBIO ESTÁ AQUÍ:&lt;br /&gt;
&lt;br /&gt;
theta_vec = [0:0.1:pi, pi]; &lt;br /&gt;
&lt;br /&gt;
[R, Th] = meshgrid(rho_vec, theta_vec);&lt;br /&gt;
&lt;br /&gt;
% Posición Inicial&lt;br /&gt;
X_ini = R .* cos(Th);&lt;br /&gt;
Y_ini = R .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
% Desplazamiento u (Trabajo M)&lt;br /&gt;
u_rho   = zeros(size(R));&lt;br /&gt;
u_theta = (1/5) * (R - 1) .* (R.^2) .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
UX = u_rho .* cos(Th) - u_theta .* sin(Th);&lt;br /&gt;
UY = u_rho .* sin(Th) + u_theta .* cos(Th);&lt;br /&gt;
&lt;br /&gt;
% Posición Final&lt;br /&gt;
X_fin = X_ini + UX;&lt;br /&gt;
Y_fin = Y_ini + UY;&lt;br /&gt;
&lt;br /&gt;
% ---  GENERACIÓN DE LAS GRÁFICAS ---&lt;br /&gt;
&lt;br /&gt;
% GRÁFICA 1: Posición Inicial&lt;br /&gt;
figure(1); clf; hold on; axis equal;&lt;br /&gt;
set(gcf, 'Color', 'w'); title('1. Posición Inicial (Sin deformar)');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
plot(X_ini, Y_ini, 'b', 'LineWidth', 1);&lt;br /&gt;
plot(X_ini', Y_ini', 'b', 'LineWidth', 1);&lt;br /&gt;
plot_borde(rho_vec, theta_vec, 'k', 2); &lt;br /&gt;
axis([-2.5 2.5 0 2.5]); grid on;&lt;br /&gt;
&lt;br /&gt;
% GRÁFICA 2: Posición Final&lt;br /&gt;
figure(2); clf; hold on; axis equal;&lt;br /&gt;
set(gcf, 'Color', 'w'); title('2. Posición Final (Deformada)');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
plot(X_fin, Y_fin, 'r', 'LineWidth', 1);&lt;br /&gt;
plot(X_fin', Y_fin', 'r', 'LineWidth', 1);&lt;br /&gt;
axis([-2.5 2.5 0 2.5]); grid on;&lt;br /&gt;
&lt;br /&gt;
% GRÁFICA 3: Superposición (AZUL vs ROJO)&lt;br /&gt;
figure(3); clf; hold on; axis equal;&lt;br /&gt;
set(gcf, 'Color', 'w'); title('3. Comparativa: Inicial vs Final');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
&lt;br /&gt;
% A) Inicial: AZUL&lt;br /&gt;
plot(X_ini, Y_ini, 'b', 'LineWidth', 1);&lt;br /&gt;
plot(X_ini', Y_ini', 'b', 'LineWidth', 1);&lt;br /&gt;
&lt;br /&gt;
% B) Final: ROJO&lt;br /&gt;
plot(X_fin, Y_fin, 'r', 'LineWidth', 1.2);&lt;br /&gt;
plot(X_fin', Y_fin', 'r', 'LineWidth', 1.2);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% --- Función para bordes ---&lt;br /&gt;
function plot_borde(r_v, t_v, col, ancho)&lt;br /&gt;
    plot(r_v(end)*cos(t_v), r_v(end)*sin(t_v), col, 'LineWidth', ancho);&lt;br /&gt;
    plot(r_v(1)*cos(t_v), r_v(1)*sin(t_v), col, 'LineWidth', ancho);&lt;br /&gt;
    plot([r_v(1) r_v(end)]*cos(t_v(1)), [r_v(1) r_v(end)]*sin(t_v(1)), col, 'LineWidth', ancho);&lt;br /&gt;
    plot([r_v(1) r_v(end)]*cos(t_v(end)), [r_v(1) r_v(end)]*sin(t_v(end)), col, 'LineWidth', ancho);&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Divergencia==&lt;br /&gt;
[[Archivo:apartado.6.png|500px|thumb|right|Divergencia]]&lt;br /&gt;
===Definición de la divergencia===&lt;br /&gt;
La divergencia de un campo vectorial &amp;lt;math&amp;gt;\nabla \cdot \vec{u}&amp;lt;/math&amp;gt; en un punto dado es una medida de la tasa a la que el flujo del campo se está expandiendo (saliendo) o contrayendo (entrando) en ese punto.&lt;br /&gt;
&lt;br /&gt;
Es un valor escalar que te dice qué tan fuerte es una fuente o un sumidero de flujo en ese lugar. Para calcular la divergencia en coordenadas cilíndricas se utiliza la siguiente fórmula:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\nabla \cdot \vec{U} = \frac{1}{\rho}\left[ \frac{\partial}{\partial \rho}(\rho U_{\rho}) + \frac{\partial U_{\theta}}{\partial \theta} + \frac{\partial}{\partial z}(\rho U_{z}) \right]&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reemplazando los valores del campo en las posiciones de U, obtenemos la siguiente expresión:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\nabla \cdot \vec{U}&lt;br /&gt;
= \frac{1}{\rho}\left[&lt;br /&gt;
\frac{\partial}{\partial \rho}(0)&lt;br /&gt;
+ \frac{\partial}{\partial \theta}\!\left(\frac{1}{5}(\rho - 1)\rho^{2}\sin\theta\right)&lt;br /&gt;
+ \frac{\partial}{\partial z}(0)&lt;br /&gt;
\right]&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El resultado final de la divergencia es el siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\nabla \cdot \vec{U}&lt;br /&gt;
= \frac{1}{5}(\rho - 1)\,\rho\,\cos\theta&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Código y representación===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% DIVERGENCIA &lt;br /&gt;
&lt;br /&gt;
clear; clc; close all;&lt;br /&gt;
&lt;br /&gt;
% 1. Geometría&lt;br /&gt;
rho_vec = 1:0.05:2;          &lt;br /&gt;
theta_vec = [0:0.05:pi, pi]; &lt;br /&gt;
[R, Th] = meshgrid(rho_vec, theta_vec);&lt;br /&gt;
&lt;br /&gt;
% Paso a cartesianas solo para pintar (X, Y)&lt;br /&gt;
X = R .* cos(Th);&lt;br /&gt;
Y = R .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
% 2. Cálculo de la Divergencia&lt;br /&gt;
% Fórmula: (1/5) * (rho^2 - rho) * cos(theta)&lt;br /&gt;
Div = (1/5) * (R.^2 - R) .* cos(Th);&lt;br /&gt;
&lt;br /&gt;
% 3. Visualización&lt;br /&gt;
figure(7); clf; hold on; axis equal;&lt;br /&gt;
set(gcf, 'Color', 'w');&lt;br /&gt;
title('Divergencia: Expansión y Compresión');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
&lt;br /&gt;
% mapa de colores&lt;br /&gt;
[C, h] = contourf(X, Y, Div, 30, 'LineStyle', 'none');&lt;br /&gt;
&lt;br /&gt;
% Barra de color&lt;br /&gt;
cb = colorbar;&lt;br /&gt;
ylabel(cb, 'Cambio de Volumen');&lt;br /&gt;
&lt;br /&gt;
% borde negro&lt;br /&gt;
plot_borde(rho_vec, theta_vec, 'k', 2);&lt;br /&gt;
&lt;br /&gt;
% Definimos un mapa de colores &amp;quot;Divergente&amp;quot; (Rojo-Azul)&lt;br /&gt;
%Azul para compresión, Rojo para expansión&lt;br /&gt;
colormap(redbluecmap); &lt;br /&gt;
&lt;br /&gt;
axis([-2.5 2.5 0 2.5]); &lt;br /&gt;
grid off;&lt;br /&gt;
&lt;br /&gt;
% --- Función Borde  ---&lt;br /&gt;
function plot_borde(r_v, t_v, col, ancho)&lt;br /&gt;
    plot(r_v(end)*cos(t_v), r_v(end)*sin(t_v), col, 'LineWidth', ancho);&lt;br /&gt;
    plot(r_v(1)*cos(t_v), r_v(1)*sin(t_v), col, 'LineWidth', ancho);&lt;br /&gt;
    plot([r_v(1) r_v(end)]*cos(t_v(1)), [r_v(1) r_v(end)]*sin(t_v(1)), col, 'LineWidth', ancho);&lt;br /&gt;
    plot([r_v(1) r_v(end)]*cos(t_v(end)), [r_v(1) r_v(end)]*sin(t_v(end)), col, 'LineWidth', ancho);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Rotacional ==&lt;br /&gt;
El rotacional de un campo vectorial &amp;lt;math&amp;gt;|\nabla \times \vec{u}|&amp;lt;/math&amp;gt; mide cuánto y en qué dirección tiende a girar el campo, es decir, si el campo hace que una partícula colocada en él empiece a rotar. Si el rotacional es distinto de 0 entonces la partícula rotará, en cambio si el rotacional es igual a 0 entonces la partícula no rotará. &lt;br /&gt;
La fórmula del campo gradiente es &amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\nabla×\vec u(ρ,θ) = \frac{1}{\rho}\begin{vmatrix} \vec g_ρ &amp;amp; \vec g_θ &amp;amp; \vec g_z \\ \frac{\partial}{\partial ρ} &amp;amp; \frac{\partial}{\partial θ} &amp;amp; \frac{\partial}{\partial z} \\ \vec v_ρ &amp;amp; \vec ρv_θ  &amp;amp; \vec v_z \end{vmatrix}&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt; &lt;br /&gt;
=== Código ===&lt;br /&gt;
[[Archivo:apartado.7.png|500px|thumb|right|Rotacional]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear; clc; close all;&lt;br /&gt;
&lt;br /&gt;
% Parámetros del sólido (anillo semicircular)&lt;br /&gt;
h = 0.02;&lt;br /&gt;
rho_min = 1;&lt;br /&gt;
rho_max = 2;&lt;br /&gt;
theta_min = 0;&lt;br /&gt;
theta_max = pi;&lt;br /&gt;
&lt;br /&gt;
rho_vec   = rho_min:h:rho_max;&lt;br /&gt;
theta_vec = theta_min:h:theta_max;&lt;br /&gt;
[R, Th] = meshgrid(rho_vec, theta_vec);&lt;br /&gt;
&lt;br /&gt;
% Coordenadas cartesianas&lt;br /&gt;
X = R .* cos(Th);&lt;br /&gt;
Y = R .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
% Magnitud del rotacional&lt;br /&gt;
curl_z = (1/5) .* R .* (4.*R - 3) .* sin(Th);&lt;br /&gt;
curl_abs = abs(curl_z);&lt;br /&gt;
&lt;br /&gt;
% --- Visualización ---&lt;br /&gt;
figure;&lt;br /&gt;
hold on; axis equal; grid off;&lt;br /&gt;
set(gcf,'Color','w');&lt;br /&gt;
&lt;br /&gt;
contourf(X, Y, curl_abs, 30, 'LineStyle','none');&lt;br /&gt;
colorbar;&lt;br /&gt;
colormap(parula);&lt;br /&gt;
&lt;br /&gt;
title('|∇×u| en el sólido');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
&lt;br /&gt;
% --- Marcar máximo explícitamente en (0,2) ---&lt;br /&gt;
xmax = 0;&lt;br /&gt;
ymax = 2;&lt;br /&gt;
plot(xmax, ymax, 'r*', 'MarkerSize', 14, 'LineWidth', 2);&lt;br /&gt;
text(xmax+0.05, ymax, '  Máximo rotacional (0,2)', 'Color','r','FontSize',10);&lt;br /&gt;
&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Tensiones tangenciales respecto al plano ortogonal &amp;lt;math&amp;gt;\vec{e}_{\rho}&amp;lt;/math&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
Se calculará el punto donde el material sufre mayor cizalladura. &lt;br /&gt;
&lt;br /&gt;
La fórmula es la siguiente: &amp;lt;math&amp;gt;\mathbf{\tau} = \mathbf{\sigma} \cdot \vec{e}_{\rho} - (\vec{e}_{\rho} \cdot \mathbf{\sigma} \cdot \vec{e}_{\rho})\vec{e}_{\rho}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La fórmula que debes usar para el vector de tensión tangencial (cizalladura) es: &amp;lt;math&amp;gt;|\mathbf{\tau}| = |\mathbf{\sigma_{\rho\theta}}|&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Y al aplicar la Ley de Hooke &amp;lt;math&amp;gt;\mathbf{\sigma_{\rho\theta} = 2 \epsilon_{\rho\theta}}&amp;lt;/math&amp;gt; y los componentes de deformación, el resultado es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;|\mathbf{\tau}| = \left| \frac{1}{5} (2\rho^2 - \rho) \sin\theta \right|&amp;lt;/math&amp;gt;&lt;br /&gt;
[[Archivo:apartado_9.jpg|500px|thumb|right|Tensiones tangenciales]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% TENSIONES TANGENCIALES&lt;br /&gt;
clear; clc; close all;&lt;br /&gt;
&lt;br /&gt;
% --- 1. GEOMETRÍA ---&lt;br /&gt;
rho_vec = 1:0.01:2;&lt;br /&gt;
theta_vec = 0:0.01:pi;&lt;br /&gt;
[R, Th] = meshgrid(rho_vec, theta_vec);&lt;br /&gt;
&lt;br /&gt;
X = R .* cos(Th);&lt;br /&gt;
Y = R .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
% --- 2. CÁLCULO DE LA TENSIÓN ---&lt;br /&gt;
Tau = (1/5) * (2*R.^2 - R) .* sin(Th);&lt;br /&gt;
Tau_Mag = abs(Tau);&lt;br /&gt;
&lt;br /&gt;
% --- 3. VISUALIZACIÓN ---&lt;br /&gt;
figure(9); clf; hold on; axis equal;&lt;br /&gt;
set(gcf, 'Color', 'w');&lt;br /&gt;
title('Tensión tangencial');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
&lt;br /&gt;
contourf(X, Y, Tau_Mag, 50, 'LineStyle', 'none');&lt;br /&gt;
c = colorbar;&lt;br /&gt;
ylabel(c,'Esfuerzo de Corte (Pa)');&lt;br /&gt;
&lt;br /&gt;
% --- 4. Colormap amplio AZUL → ROJO (256 tonos) ---&lt;br /&gt;
n = 256;&lt;br /&gt;
azul = [0 0 1];       % azul puro&lt;br /&gt;
rojo = [1 0 0];       % rojo puro&lt;br /&gt;
cmap = [linspace(azul(1), rojo(1), n)', ...&lt;br /&gt;
        linspace(azul(2), rojo(2), n)', ...&lt;br /&gt;
        linspace(azul(3), rojo(3), n)'];&lt;br /&gt;
colormap(cmap);&lt;br /&gt;
&lt;br /&gt;
% --- 5. Bordes exteriores en negro ---&lt;br /&gt;
t_border = 0:0.001:pi;&lt;br /&gt;
plot(2*cos(t_border),2*sin(t_border),'k','LineWidth',2);&lt;br /&gt;
plot(1*cos(t_border),1*sin(t_border),'k','LineWidth',2);&lt;br /&gt;
plot([-2,-1],[0,0],'k','LineWidth',2);&lt;br /&gt;
plot([1,2],[0,0],'k','LineWidth',2);&lt;br /&gt;
&lt;br /&gt;
% --- 6. Punto de máxima tensión ---&lt;br /&gt;
max_val = max(Tau_Mag(:));&lt;br /&gt;
[fr, fc] = find(Tau_Mag == max_val, 1);&lt;br /&gt;
plot(X(fr,fc),Y(fr,fc),'wx','LineWidth',2,'MarkerSize',10);&lt;br /&gt;
text(X(fr,fc),Y(fr,fc)+0.1,'Máx','Color','w','FontWeight','bold');&lt;br /&gt;
&lt;br /&gt;
axis([-2.2 2.2 0 2.2]);&lt;br /&gt;
grid off;&lt;br /&gt;
hold off;&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Tensiones tangenciales respecto al plano ortogonal &amp;lt;math&amp;gt;\frac{1}{\rho} \vec{e}_{\theta}&amp;lt;/math&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
La fórmula es la siguiente: &amp;lt;math&amp;gt;\mathbf{\tau} = \mathbf{\sigma} \cdot \left(\frac{1}{\theta}\vec{e}_{\theta}\right) - \left[ \left(\frac{1}{\rho}\vec{e}_{\theta}\right) \cdot \mathbf{\sigma} \cdot \left(\frac{1}{\rho}\vec{e}_{\theta}\right) \right] \left(\frac{1}{\rho}\vec{e}_{\theta}\right)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La fórmula utilizada será la siguiente: &amp;lt;math&amp;gt;|\mathbf{\tau}| = \left| \frac{1}{\rho} \mathbf{\sigma_{\rho\theta}} \right|&amp;lt;/math&amp;gt;. Al reemplazar y aplicar la Ley de Hooke que se aplico en el apartado anterior obtenemos esta expresión: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;|\mathbf{\tau}| = \left| \frac{1}{\rho} \cdot \left[ \frac{1}{5} (2\rho^2 - \rho) \sin\theta \right] \right|&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:apartado.10.png|500px|thumb|right|Tensiones tangenciales]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear; clc; close all;&lt;br /&gt;
&lt;br /&gt;
%% --- 1. Mallado polar del sólido (corona semicircular) ---&lt;br /&gt;
h = 0.02;                 % paso fino&lt;br /&gt;
rho_min = 1;&lt;br /&gt;
rho_max = 2;&lt;br /&gt;
theta_min = 0;&lt;br /&gt;
theta_max = pi;&lt;br /&gt;
&lt;br /&gt;
rho_vec = rho_min:h:rho_max;&lt;br /&gt;
theta_vec = theta_min:h:theta_max;&lt;br /&gt;
&lt;br /&gt;
[R, Th] = meshgrid(rho_vec, theta_vec);&lt;br /&gt;
&lt;br /&gt;
% Conversión a cartesianas&lt;br /&gt;
X = R .* cos(Th);&lt;br /&gt;
Y = R .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
%% --- 2. Campo u = u_theta * e_theta ---&lt;br /&gt;
u_theta = (1/5) * (R - 1) .* R.^2 .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
% Cálculo del rotacional (componente z en 2D, analítico)&lt;br /&gt;
curl_z = (1/5) .* R .* (4.*R - 3) .* sin(Th);&lt;br /&gt;
curl_abs = abs(curl_z);&lt;br /&gt;
&lt;br /&gt;
%% --- 3. Gráfica del rotacional (sin flechas) ---&lt;br /&gt;
figure;&lt;br /&gt;
hold on;&lt;br /&gt;
axis equal;&lt;br /&gt;
grid off;&lt;br /&gt;
set(gcf,'Color','w');&lt;br /&gt;
&lt;br /&gt;
% Mapa de calor del rotacional&lt;br /&gt;
contourf(X, Y, curl_abs, 40, 'LineStyle','none');&lt;br /&gt;
colorbar;&lt;br /&gt;
clim([0 2]);      % forzamos rango para que el máximo destaque bien&lt;br /&gt;
colormap turbo;&lt;br /&gt;
&lt;br /&gt;
title('Tension tangencial apartado 10');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
&lt;br /&gt;
% Borde del sólido&lt;br /&gt;
plot(rho_max*cos(theta_vec), rho_max*sin(theta_vec), 'k','LineWidth',1.8);&lt;br /&gt;
plot(rho_min*cos(theta_vec), rho_min*sin(theta_vec), 'k','LineWidth',1.8);&lt;br /&gt;
plot([-rho_max -rho_min], [0 0], 'k','LineWidth',1.8);&lt;br /&gt;
plot([rho_min rho_max], [0 0], 'k','LineWidth',1.8);&lt;br /&gt;
&lt;br /&gt;
%  Marcar punto de máximo explícitamente en (0,2) en blanco&lt;br /&gt;
xmax = 0;&lt;br /&gt;
ymax = 2;&lt;br /&gt;
plot(xmax, ymax, 'w*', 'MarkerSize', 15, 'LineWidth', 2);&lt;br /&gt;
text(xmax+0.05, ymax-0.1, '  Máximo', 'Color','w','FontSize',11,'FontWeight','bold');&lt;br /&gt;
&lt;br /&gt;
hold off;&lt;br /&gt;
&lt;br /&gt;
%% --- 4. Mostrar valor numérico máximo en consola ---&lt;br /&gt;
fprintf('Máximo de |∇×u| = %.5g en (0,2)\n', curl_abs(find(X==0 &amp;amp; abs(Y-2)&amp;lt;1e-6, 1)));&lt;br /&gt;
&lt;br /&gt;
disp('El punto con mayor rotacional es (0,2)');&lt;br /&gt;
disp('Porque |∇×u| crece con ρ y es máximo cuando sinθ = 1 (θ = π/2) y ρ = 2');&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Cálculo de la masa aproximando la integral numéricamente==&lt;br /&gt;
La masa se calcula con la siguiente integral: M = ∫∫ d(ρ, θ) dA&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El dominio es [1,2]x[0,pi] y por tanto los límites de integración serán:&lt;br /&gt;
&lt;br /&gt;
Límete de rho: 1 ≤ ρ ≤ 2&lt;br /&gt;
&lt;br /&gt;
Límite de theta: 0 ≤ θ ≤ π&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El diferencial de área (Jacobiano) es: dA = ρ dρ dθ&lt;br /&gt;
&lt;br /&gt;
La densidad viene dada por: d(ρ, θ) = 1 + e^(ρ² cos θ)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por último la masa se calculará de la siguiente manera: &lt;br /&gt;
&lt;br /&gt;
M = ∫(de 0 a π) ∫(de 1 a 2) [1 + e^(ρ² cos θ)] · ρ dρ dθ = 26.26 u²&lt;br /&gt;
&lt;br /&gt;
== Interpretación del trabajo ==&lt;br /&gt;
&lt;br /&gt;
En el Trabajo K se modela una onda transversal en una placa rectangular mediante el campo de desplazamientos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{u}(x,y,t)=\vec{a}\cos(\vec{b}\cdot\vec{r}_0 - c t)&amp;lt;/math&amp;gt; con:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{a}=\frac{1}{10}\vec{i}&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{b}=\pi\vec{j}&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;t=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Esto se puede interpretar como una onda de corte (onda S) que se propaga en un medio elástico, como la corteza terrestre durante un terremoto.&lt;br /&gt;
Las ondas S (secundarias o de corte) son ondas transversales, en las que las partículas del material vibran perpendicularmente a la dirección de propagación de la onda.&lt;br /&gt;
&lt;br /&gt;
En este caso, la dirección de propagación es la del vector:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{b}=\pi\vec{j}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(eje 𝑦 y) y la vibración es en la dirección:&amp;lt;math&amp;gt;\vec{i}&amp;lt;/math&amp;gt;(eje 𝑥 x), lo cual es típico de ondas S con polarización horizontal (onda SH).&lt;br /&gt;
Aplicación al Trabajo M (arco entre radios 1 y 2)&lt;br /&gt;
En el Trabajo M, el dominio es un sector de arco en coordenadas polares(𝜌,𝜃)(ρ,θ), con:&amp;lt;math&amp;gt;\rho\in[1,2]&amp;lt;/math&amp;gt; y el campo de desplazamientos es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{u}(\rho,\theta)=\frac{1}{5}(\rho-1)\rho^{2}\sin\theta\,\vec{e}_\theta&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Este campo representa un desplazamiento puramente tangencial: &amp;lt;math&amp;gt;\vec{e}_\theta&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
que también corresponde a una onda de corte pero en geometría curvilínea.&lt;br /&gt;
En sismología, las ondas S pueden viajar a lo largo de estructuras curvas en la corteza, como capas geológicas curvadas o interfaces entre materiales.&lt;br /&gt;
&lt;br /&gt;
El factor:&amp;lt;math&amp;gt;(\rho-1)\rho^{2}\sin\theta&amp;lt;/math&amp;gt; indica que el desplazamiento es máximo en la parte exterior del arco: &amp;lt;math&amp;gt;\rho = 2&amp;lt;/math&amp;gt; y varía sinusoidalmente con:&amp;lt;math&amp;gt;\theta&amp;lt;/math&amp;gt; lo que podría modelar una onda estacionaria o forzada en una placa curvada.&lt;br /&gt;
&lt;br /&gt;
Relación con la temperatura&lt;br /&gt;
&lt;br /&gt;
En ambos trabajos se incluye un campo de temperatura: &amp;lt;math&amp;gt;T(x,y)=(x-y)^2&amp;lt;/math&amp;gt; que en el Trabajo M debe expresarse en coordenadas polares:&amp;lt;math&amp;gt;x=\rho\cos\theta&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y=\rho\sin\theta&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sustituyendo: &amp;lt;math&amp;gt;T(\rho,\theta)=\rho^{2}(\cos\theta - \sin\theta)^2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Esta temperatura podría representar gradientes térmicos en la corteza debidos a fuentes geotérmicas, que afectan a las propiedades elásticas del medio y, por tanto, a la propagación de ondas sísmicas.&lt;br /&gt;
&lt;br /&gt;
Conclusión&lt;br /&gt;
&lt;br /&gt;
El Trabajo M puede interpretarse como el estudio de ondas de corte (S) en una región curvilínea de la corteza terrestre, como un arco de falla o una capa geológica curvada, donde los desplazamientos son transversales a la dirección radial.&lt;br /&gt;
&lt;br /&gt;
La inclusión del campo de temperatura:&amp;lt;math&amp;gt;T(\rho,\theta)=\rho^{2}(\cos\theta - \sin\theta)^2&amp;lt;/math&amp;gt; permite analizar cómo los gradientes térmicos influyen en la deformación y propagación de ondas en estructuras geológicas reales, algo relevante en sismología y geofísica.&lt;/div&gt;</summary>
		<author><name>Álvaro Villar</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Mallado_Arco_1_(grupo_59)&amp;diff=97328</id>
		<title>Mallado Arco 1 (grupo 59)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Mallado_Arco_1_(grupo_59)&amp;diff=97328"/>
				<updated>2025-12-03T17:41:21Z</updated>
		
		<summary type="html">&lt;p&gt;Álvaro Villar: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Arco1. Grupo 59 | [[:Categoría:Teoría de Campos|Teoría de Campos]]|[[:Categoría:TC25/26|2025-26]] | &lt;br /&gt;
*Guillermo Pineros Quero&lt;br /&gt;
*Ignacio Sueiras Oviedo&lt;br /&gt;
*Francisco Yusep Saiz Cebrián&lt;br /&gt;
*Álvaro Villar Rosado&lt;br /&gt;
*Javier Ruiz Sáenz de Jubera}}&lt;br /&gt;
[[Categoría:Teoría de Campos]]&lt;br /&gt;
[[Categoría:TC25/26]]&lt;br /&gt;
==Introducción==&lt;br /&gt;
&amp;quot;En este artículo se examina el proceso de parametrización y mallado de una placa plana 2D con forma de arco circular (anillo), delimitada por un radio interior de 1 y uno exterior de 2. Definimos dos variables físicas sobre esta geometría: la temperatura &amp;lt;math&amp;gt;T(x,y)&amp;lt;/math&amp;gt; en coordenadas cartesianas y un vector de desplazamientos &amp;lt;math&amp;gt;\vec{u}(\rho,\theta)&amp;lt;/math&amp;gt; en coordenadas cilíndricas. La temperatura se rige por la función      &amp;lt;math&amp;gt;T(x,y)=(x-y)^2&amp;lt;/math&amp;gt; , mientras que los desplazamientos obedecen a:&amp;lt;math&amp;gt;\vec{u}&amp;lt;/math&amp;gt; = &amp;lt;math&amp;gt;\frac{1}{5} (\rho-1)\rho^2 \cos\theta(\vec{e}_\theta)&amp;lt;/math&amp;gt; El objetivo principal es formalizar la descripción del dominio y sus funciones para facilitar el análisis numérico mediante discretización. El texto se complementa con códigos de MATLAB, fotografías y representaciones gráficas en cada apartado.&amp;quot;&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align:center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{u}(\rho,\theta)=\frac{1}{5}(\rho - 1)\rho^{2}\sin\theta\,\vec{e}_{\theta}&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Mallado del arco ==&lt;br /&gt;
El mallado de un arco consiste en dividir su superficie en puntos organizados, lo que permite describir su geometría y analizar cómo cambian diferentes magnitudes dentro de él.&lt;br /&gt;
El arco está comprendido entre los radios de valor 1 y 2, que al pasarlo a coordenadas polares la región estará definida por rho(ρ) y theta(θ), y sus valores [1,2]x[0,π]&lt;br /&gt;
&lt;br /&gt;
=== Representación del mallado ===&lt;br /&gt;
[[Archivo:mallado.del.arco.png|500px|thumb|right|]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Mallado del arco alineado&lt;br /&gt;
&lt;br /&gt;
% Elegimos divisiones que garanticen que:&lt;br /&gt;
% θ = 0, pi/2, pi están incluidos &lt;br /&gt;
% r incluye exactamente 1 y 2    &lt;br /&gt;
&lt;br /&gt;
theta = linspace(0, pi, 20);   % mallado moderado, incluye 0, pi/2 y pi&lt;br /&gt;
r = linspace(1, 2, 15);        % radios exactos 1 y 2&lt;br /&gt;
&lt;br /&gt;
[R, TH] = meshgrid(r, theta);&lt;br /&gt;
&lt;br /&gt;
% Convertir a coordenadas cartesianas&lt;br /&gt;
X = R .* cos(TH);&lt;br /&gt;
Y = R .* sin(TH);&lt;br /&gt;
&lt;br /&gt;
figure;&lt;br /&gt;
hold on;&lt;br /&gt;
&lt;br /&gt;
col = [0.3 0.6 1];  % azul clarito&lt;br /&gt;
&lt;br /&gt;
% Mallado tipo red (más grueso) &lt;br /&gt;
plot(X,  Y, 'Color', col, 'LineWidth', 1.1);   % líneas en theta&lt;br /&gt;
plot(X', Y', 'Color', col, 'LineWidth', 1.1);  % líneas en r&lt;br /&gt;
&lt;br /&gt;
% Contornos superior interior y exterior &lt;br /&gt;
theta_cont = linspace(0, pi, 400);&lt;br /&gt;
&lt;br /&gt;
plot(1*cos(theta_cont), 1*sin(theta_cont), 'Color', col, 'LineWidth', 2);&lt;br /&gt;
plot(2*cos(theta_cont), 2*sin(theta_cont), 'Color', col, 'LineWidth', 2);&lt;br /&gt;
&lt;br /&gt;
% Bases &lt;br /&gt;
plot([-1 -2], [0 0], 'Color', col, 'LineWidth', 2);  % base izquierda&lt;br /&gt;
plot([ 1  2], [0 0], 'Color', col, 'LineWidth', 2);  % base derecha&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% Ajustes&lt;br /&gt;
axis equal&lt;br /&gt;
grid on&lt;br /&gt;
title('Mallado del arco')&lt;br /&gt;
xlabel('x')&lt;br /&gt;
ylabel('y')&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==  Temperatura en el arco  ==&lt;br /&gt;
La temperatura del sólido proviene de un foco de calor muy concentrado en los puntos&lt;br /&gt;
que están a distancia 1 del origen. La función es: '''&amp;lt;big&amp;gt;𝑇(𝑥, 𝑦) = (𝑥 − 𝑦)&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;&amp;lt;/big&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
=== Código ===&lt;br /&gt;
[[Archivo:funciontemperatura.png|500px|thumb|right|Representación de la temperatura en el arco]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Mallado del arco&lt;br /&gt;
theta = linspace(0, pi, 200);   % más denso para curva suave&lt;br /&gt;
r = linspace(1, 2, 200);        % radio interior 1, exterior 2&lt;br /&gt;
[R, TH] = meshgrid(r, theta);&lt;br /&gt;
&lt;br /&gt;
% Convertir a cartesianas&lt;br /&gt;
X = R .* cos(TH);&lt;br /&gt;
Y = R .* sin(TH);&lt;br /&gt;
&lt;br /&gt;
% Funcion temperatura&lt;br /&gt;
T = (X - Y).^2;&lt;br /&gt;
&lt;br /&gt;
% Representación 2D&lt;br /&gt;
figure;&lt;br /&gt;
pcolor(X, Y, T);     % representación 2D en colores&lt;br /&gt;
shading interp       % suavizado del color&lt;br /&gt;
colormap(jet)&lt;br /&gt;
colorbar;&lt;br /&gt;
&lt;br /&gt;
title('Temperatura T(x,y) = (x - y)^2 sobre el arco')&lt;br /&gt;
xlabel('x')&lt;br /&gt;
ylabel('y')&lt;br /&gt;
axis equal           % mantiene proporciones reales&lt;br /&gt;
hold on&lt;br /&gt;
&lt;br /&gt;
%% Contorno negro del arco &lt;br /&gt;
theta_cont = linspace(0, pi, 400);&lt;br /&gt;
&lt;br /&gt;
% Borde interior&lt;br /&gt;
plot(1*cos(theta_cont), 1*sin(theta_cont), 'k-', 'LineWidth', 1);&lt;br /&gt;
&lt;br /&gt;
% Borde exterior&lt;br /&gt;
plot(2*cos(theta_cont), 2*sin(theta_cont), 'k-', 'LineWidth', 1);&lt;br /&gt;
&lt;br /&gt;
% Radio izquierdo&lt;br /&gt;
plot([1 2]*cos(0), [1 2]*sin(0), 'k-', 'LineWidth', 1);&lt;br /&gt;
&lt;br /&gt;
% Radio derecho&lt;br /&gt;
plot([1 2]*cos(pi), [1 2]*sin(pi), 'k-', 'LineWidth', 1);&lt;br /&gt;
&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Gradiente de temperatura ==&lt;br /&gt;
===Cálculo del gradiente===&lt;br /&gt;
El gradiente de una función escalar (∇f) es un campo vectorial cuyas componentes son las derivadas parciales de la función. Geométricamente, el vector gradiente apunta en la dirección de máximo crecimiento de la función y es ortogonal a sus curvas de nivel.&lt;br /&gt;
&lt;br /&gt;
La fórmula para calcularlo es: &lt;br /&gt;
&lt;br /&gt;
∇f(x,y) = ( ∂f/∂x , ∂f/∂y )&lt;br /&gt;
&lt;br /&gt;
Como la temperatura viene dada por la siguiente fórmula: &lt;br /&gt;
&lt;br /&gt;
T(x, y) = (x - y)²&lt;br /&gt;
&lt;br /&gt;
El gradiente de temperatura será:&lt;br /&gt;
&lt;br /&gt;
∇T = (2(x - y), -2(x - y))&lt;br /&gt;
===Representación gráfica del gradiente===&lt;br /&gt;
[[Archivo:Gradiente apartado 3.png|500px|thumb|right|Gradiente de temperatura]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% Representación del gradiente&lt;br /&gt;
clc; clear; close all;&lt;br /&gt;
&lt;br /&gt;
% Dominio &lt;br /&gt;
rho_min = 1;  rho_max = 2;&lt;br /&gt;
th_min = 0;   th_max = pi;&lt;br /&gt;
&lt;br /&gt;
[Rho, Theta] = meshgrid(linspace(rho_min, rho_max, 100), ...&lt;br /&gt;
                        linspace(th_min, th_max, 200));&lt;br /&gt;
&lt;br /&gt;
% Convertimos a Cartesianas&lt;br /&gt;
X = Rho .* cos(Theta);&lt;br /&gt;
Y = Rho .* sin(Theta);&lt;br /&gt;
&lt;br /&gt;
%% 2. Definición de Temperatura y Gradiente&lt;br /&gt;
% Temperatura T = (x - y)^2&lt;br /&gt;
T_val = (X - Y).^2;&lt;br /&gt;
&lt;br /&gt;
% Cálculo del gradiente&lt;br /&gt;
Grad_X = 2 .* (X - Y);&lt;br /&gt;
Grad_Y = -2 .* (X - Y);&lt;br /&gt;
&lt;br /&gt;
% Representación gráfica&lt;br /&gt;
figure('Name', 'Trabajo M - Pregunta 3 (Estilo Suave)', 'Color', 'w');&lt;br /&gt;
hold on;&lt;br /&gt;
&lt;br /&gt;
contourf(X, Y, T_val, 50, 'LineStyle', 'none');&lt;br /&gt;
&lt;br /&gt;
% Creamos la gráfica&lt;br /&gt;
N = 256;&lt;br /&gt;
r = linspace(0.2, 1, N)'; &lt;br /&gt;
g = linspace(0.5, 1, N)';&lt;br /&gt;
b = linspace(1, 0, N)';   &lt;br /&gt;
mi_mapa = [r, g, b];      % Matriz de colores&lt;br /&gt;
&lt;br /&gt;
colormap(mi_mapa);&lt;br /&gt;
c = colorbar;&lt;br /&gt;
c.Label.String = 'Temperatura T = (x-y)^2';&lt;br /&gt;
&lt;br /&gt;
% Cantida de flechas&lt;br /&gt;
step_r = 8;  % Salta cada 8 puntos en el radio&lt;br /&gt;
step_t = 12; % Salta cada 12 puntos en el ángulo&lt;br /&gt;
&lt;br /&gt;
idx_r = 1:step_r:size(X,1);&lt;br /&gt;
idx_t = 1:step_t:size(X,2);&lt;br /&gt;
&lt;br /&gt;
% Dibujo flechas&lt;br /&gt;
quiver(X(idx_r, idx_t), Y(idx_r, idx_t), ...&lt;br /&gt;
       Grad_X(idx_r, idx_t), Grad_Y(idx_r, idx_t), ...&lt;br /&gt;
       'k', ...                 % Color negro flechas&lt;br /&gt;
       'LineWidth', 1.0, ...    % Grosor flechas&lt;br /&gt;
       'AutoScaleFactor', 0.8); % Tamaño flechas&lt;br /&gt;
&lt;br /&gt;
axis equal;&lt;br /&gt;
xlim([-2.5 2.5]); ylim([0 2.5]); % Márgenes &lt;br /&gt;
title('Gradiente sobre T');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
&lt;br /&gt;
box on; &lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
== Campo de Vectores ==&lt;br /&gt;
El campo vectorial viene dado por la siguiente fórmula: &lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align:center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{u}(\rho,\theta)=\frac{1}{5}(\rho - 1)\rho^{2}\sin\theta\,\vec{e}_{\theta}&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== código ===&lt;br /&gt;
[[Archivo:apartado.4.png|500px|thumb|right|Campo de vectores]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear; clc; close all;&lt;br /&gt;
&lt;br /&gt;
%% --- 1. Definir el mallado polar del sólido ---&lt;br /&gt;
h = 0.1;&lt;br /&gt;
rho_min = 1;&lt;br /&gt;
rho_max = 2;&lt;br /&gt;
theta_min = 0;&lt;br /&gt;
theta_max = pi;&lt;br /&gt;
&lt;br /&gt;
rho_vec   = rho_min:h:rho_max;&lt;br /&gt;
theta_vec = theta_min:h:theta_max;&lt;br /&gt;
&lt;br /&gt;
[R, Th] = meshgrid(rho_vec, theta_vec);&lt;br /&gt;
&lt;br /&gt;
% Convertir la malla a cartesianas (puntos del sólido)&lt;br /&gt;
X = R .* cos(Th);&lt;br /&gt;
Y = R .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
%% --- 2. Definir el campo vectorial u en e_theta ---&lt;br /&gt;
U_theta = (1/5) * (R - 1) .* R.^2 .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
% Componentes de los vectores unitarios e_theta en cartesianas&lt;br /&gt;
e_th_x = -sin(Th);&lt;br /&gt;
e_th_y =  cos(Th);&lt;br /&gt;
&lt;br /&gt;
% Convertir el campo a componentes cartesianas&lt;br /&gt;
U_x = U_theta .* e_th_x;&lt;br /&gt;
U_y = U_theta .* e_th_y;&lt;br /&gt;
&lt;br /&gt;
%% --- 3. Dibujar SOLO el campo vectorial u en los puntos de la malla ---&lt;br /&gt;
figure;&lt;br /&gt;
hold on;&lt;br /&gt;
axis equal;&lt;br /&gt;
grid off;&lt;br /&gt;
set(gcf,'Color','w');&lt;br /&gt;
&lt;br /&gt;
% Dibujar las flechas del campo vectorial u&lt;br /&gt;
quiver(X, Y, U_x, U_y, 'b', 'LineWidth', 1.2, 'MaxHeadSize', 0.6);&lt;br /&gt;
&lt;br /&gt;
%% --- 4. Dibujar el borde del sólido con UNA línea negra ---&lt;br /&gt;
% Lado 1: arco exterior&lt;br /&gt;
plot(rho_max*cos(theta_vec), rho_max*sin(theta_vec), 'k', 'LineWidth', 2);&lt;br /&gt;
&lt;br /&gt;
% Lado 2: arco interior&lt;br /&gt;
plot(rho_min*cos(theta_vec), rho_min*sin(theta_vec), 'k', 'LineWidth', 2);&lt;br /&gt;
&lt;br /&gt;
% Lado 3: cierre izquierdo (theta = pi)&lt;br /&gt;
plot([rho_min*cos(pi), rho_max*cos(pi)], [rho_min*sin(pi), rho_max*sin(pi)], 'k', 'LineWidth', 2);&lt;br /&gt;
&lt;br /&gt;
% Lado 4: cierre derecho (theta = 0)&lt;br /&gt;
plot([rho_min*cos(0), rho_max*cos(0)], [rho_min*sin(0), rho_max*sin(0)], 'k', 'LineWidth', 2);&lt;br /&gt;
&lt;br /&gt;
title('Campo \vec u sobre la malla del sólido (bordeado en negro)');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Dibujo del sólido antes y después del desplazamiento==&lt;br /&gt;
&lt;br /&gt;
===Código===&lt;br /&gt;
[[Archivo:grafica_1.png|500px|thumb|right|Gráfica 1]]&lt;br /&gt;
[[Archivo:Grafica_2.png|500px|thumb|right|Gráfica 2]]&lt;br /&gt;
[[Archivo:apartado.5.png|500px|thumb|right|Gráfica 3]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% Visualización de Deformación (Azul vs Rojo)&lt;br /&gt;
clear; clc; close all;&lt;br /&gt;
% --- 1. DATOS Y CÁLCULOS  ---&lt;br /&gt;
rho_vec = 1:0.1:2;&lt;br /&gt;
&lt;br /&gt;
% EL CAMBIO ESTÁ AQUÍ:&lt;br /&gt;
&lt;br /&gt;
theta_vec = [0:0.1:pi, pi]; &lt;br /&gt;
&lt;br /&gt;
[R, Th] = meshgrid(rho_vec, theta_vec);&lt;br /&gt;
&lt;br /&gt;
% Posición Inicial&lt;br /&gt;
X_ini = R .* cos(Th);&lt;br /&gt;
Y_ini = R .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
% Desplazamiento u (Trabajo M)&lt;br /&gt;
u_rho   = zeros(size(R));&lt;br /&gt;
u_theta = (1/5) * (R - 1) .* (R.^2) .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
UX = u_rho .* cos(Th) - u_theta .* sin(Th);&lt;br /&gt;
UY = u_rho .* sin(Th) + u_theta .* cos(Th);&lt;br /&gt;
&lt;br /&gt;
% Posición Final&lt;br /&gt;
X_fin = X_ini + UX;&lt;br /&gt;
Y_fin = Y_ini + UY;&lt;br /&gt;
&lt;br /&gt;
% ---  GENERACIÓN DE LAS GRÁFICAS ---&lt;br /&gt;
&lt;br /&gt;
% GRÁFICA 1: Posición Inicial&lt;br /&gt;
figure(1); clf; hold on; axis equal;&lt;br /&gt;
set(gcf, 'Color', 'w'); title('1. Posición Inicial (Sin deformar)');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
plot(X_ini, Y_ini, 'b', 'LineWidth', 1);&lt;br /&gt;
plot(X_ini', Y_ini', 'b', 'LineWidth', 1);&lt;br /&gt;
plot_borde(rho_vec, theta_vec, 'k', 2); &lt;br /&gt;
axis([-2.5 2.5 0 2.5]); grid on;&lt;br /&gt;
&lt;br /&gt;
% GRÁFICA 2: Posición Final&lt;br /&gt;
figure(2); clf; hold on; axis equal;&lt;br /&gt;
set(gcf, 'Color', 'w'); title('2. Posición Final (Deformada)');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
plot(X_fin, Y_fin, 'r', 'LineWidth', 1);&lt;br /&gt;
plot(X_fin', Y_fin', 'r', 'LineWidth', 1);&lt;br /&gt;
axis([-2.5 2.5 0 2.5]); grid on;&lt;br /&gt;
&lt;br /&gt;
% GRÁFICA 3: Superposición (AZUL vs ROJO)&lt;br /&gt;
figure(3); clf; hold on; axis equal;&lt;br /&gt;
set(gcf, 'Color', 'w'); title('3. Comparativa: Inicial vs Final');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
&lt;br /&gt;
% A) Inicial: AZUL&lt;br /&gt;
plot(X_ini, Y_ini, 'b', 'LineWidth', 1);&lt;br /&gt;
plot(X_ini', Y_ini', 'b', 'LineWidth', 1);&lt;br /&gt;
&lt;br /&gt;
% B) Final: ROJO&lt;br /&gt;
plot(X_fin, Y_fin, 'r', 'LineWidth', 1.2);&lt;br /&gt;
plot(X_fin', Y_fin', 'r', 'LineWidth', 1.2);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% --- Función para bordes ---&lt;br /&gt;
function plot_borde(r_v, t_v, col, ancho)&lt;br /&gt;
    plot(r_v(end)*cos(t_v), r_v(end)*sin(t_v), col, 'LineWidth', ancho);&lt;br /&gt;
    plot(r_v(1)*cos(t_v), r_v(1)*sin(t_v), col, 'LineWidth', ancho);&lt;br /&gt;
    plot([r_v(1) r_v(end)]*cos(t_v(1)), [r_v(1) r_v(end)]*sin(t_v(1)), col, 'LineWidth', ancho);&lt;br /&gt;
    plot([r_v(1) r_v(end)]*cos(t_v(end)), [r_v(1) r_v(end)]*sin(t_v(end)), col, 'LineWidth', ancho);&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Divergencia==&lt;br /&gt;
[[Archivo:apartado.6.png|500px|thumb|right|Divergencia]]&lt;br /&gt;
===Definición de la divergencia===&lt;br /&gt;
La divergencia de un campo vectorial &amp;lt;math&amp;gt;\nabla \cdot \vec{u}&amp;lt;/math&amp;gt; en un punto dado es una medida de la tasa a la que el flujo del campo se está expandiendo (saliendo) o contrayendo (entrando) en ese punto.&lt;br /&gt;
&lt;br /&gt;
Es un valor escalar que te dice qué tan fuerte es una fuente o un sumidero de flujo en ese lugar. Para calcular la divergencia en coordenadas cilíndricas se utiliza la siguiente fórmula:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\nabla \cdot \vec{U} = \frac{1}{\rho}\left[ \frac{\partial}{\partial \rho}(\rho U_{\rho}) + \frac{\partial U_{\theta}}{\partial \theta} + \frac{\partial}{\partial z}(\rho U_{z}) \right]&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reemplazando los valores del campo en las posiciones de U, obtenemos la siguiente expresión:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\nabla \cdot \vec{U}&lt;br /&gt;
= \frac{1}{\rho}\left[&lt;br /&gt;
\frac{\partial}{\partial \rho}(0)&lt;br /&gt;
+ \frac{\partial}{\partial \theta}\!\left(\frac{1}{5}(\rho - 1)\rho^{2}\sin\theta\right)&lt;br /&gt;
+ \frac{\partial}{\partial z}(0)&lt;br /&gt;
\right]&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El resultado final de la divergencia es el siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\nabla \cdot \vec{U}&lt;br /&gt;
= \frac{1}{5}(\rho - 1)\,\rho\,\cos\theta&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Código y representación===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% DIVERGENCIA &lt;br /&gt;
&lt;br /&gt;
clear; clc; close all;&lt;br /&gt;
&lt;br /&gt;
% 1. Geometría&lt;br /&gt;
rho_vec = 1:0.05:2;          &lt;br /&gt;
theta_vec = [0:0.05:pi, pi]; &lt;br /&gt;
[R, Th] = meshgrid(rho_vec, theta_vec);&lt;br /&gt;
&lt;br /&gt;
% Paso a cartesianas solo para pintar (X, Y)&lt;br /&gt;
X = R .* cos(Th);&lt;br /&gt;
Y = R .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
% 2. Cálculo de la Divergencia&lt;br /&gt;
% Fórmula: (1/5) * (rho^2 - rho) * cos(theta)&lt;br /&gt;
Div = (1/5) * (R.^2 - R) .* cos(Th);&lt;br /&gt;
&lt;br /&gt;
% 3. Visualización&lt;br /&gt;
figure(7); clf; hold on; axis equal;&lt;br /&gt;
set(gcf, 'Color', 'w');&lt;br /&gt;
title('Divergencia: Expansión y Compresión');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
&lt;br /&gt;
% mapa de colores&lt;br /&gt;
[C, h] = contourf(X, Y, Div, 30, 'LineStyle', 'none');&lt;br /&gt;
&lt;br /&gt;
% Barra de color&lt;br /&gt;
cb = colorbar;&lt;br /&gt;
ylabel(cb, 'Cambio de Volumen');&lt;br /&gt;
&lt;br /&gt;
% borde negro&lt;br /&gt;
plot_borde(rho_vec, theta_vec, 'k', 2);&lt;br /&gt;
&lt;br /&gt;
% Definimos un mapa de colores &amp;quot;Divergente&amp;quot; (Rojo-Azul)&lt;br /&gt;
%Azul para compresión, Rojo para expansión&lt;br /&gt;
colormap(redbluecmap); &lt;br /&gt;
&lt;br /&gt;
axis([-2.5 2.5 0 2.5]); &lt;br /&gt;
grid off;&lt;br /&gt;
&lt;br /&gt;
% --- Función Borde  ---&lt;br /&gt;
function plot_borde(r_v, t_v, col, ancho)&lt;br /&gt;
    plot(r_v(end)*cos(t_v), r_v(end)*sin(t_v), col, 'LineWidth', ancho);&lt;br /&gt;
    plot(r_v(1)*cos(t_v), r_v(1)*sin(t_v), col, 'LineWidth', ancho);&lt;br /&gt;
    plot([r_v(1) r_v(end)]*cos(t_v(1)), [r_v(1) r_v(end)]*sin(t_v(1)), col, 'LineWidth', ancho);&lt;br /&gt;
    plot([r_v(1) r_v(end)]*cos(t_v(end)), [r_v(1) r_v(end)]*sin(t_v(end)), col, 'LineWidth', ancho);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Rotacional ==&lt;br /&gt;
El rotacional de un campo vectorial &amp;lt;math&amp;gt;|\nabla \times \vec{u}|&amp;lt;/math&amp;gt; mide cuánto y en qué dirección tiende a girar el campo, es decir, si el campo hace que una partícula colocada en él empiece a rotar. Si el rotacional es distinto de 0 entonces la partícula rotará, en cambio si el rotacional es igual a 0 entonces la partícula no rotará. &lt;br /&gt;
=== Código ===&lt;br /&gt;
[[Archivo:apartado.7.png|500px|thumb|right|Rotacional]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear; clc; close all;&lt;br /&gt;
&lt;br /&gt;
% Parámetros del sólido (anillo semicircular)&lt;br /&gt;
h = 0.02;&lt;br /&gt;
rho_min = 1;&lt;br /&gt;
rho_max = 2;&lt;br /&gt;
theta_min = 0;&lt;br /&gt;
theta_max = pi;&lt;br /&gt;
&lt;br /&gt;
rho_vec   = rho_min:h:rho_max;&lt;br /&gt;
theta_vec = theta_min:h:theta_max;&lt;br /&gt;
[R, Th] = meshgrid(rho_vec, theta_vec);&lt;br /&gt;
&lt;br /&gt;
% Coordenadas cartesianas&lt;br /&gt;
X = R .* cos(Th);&lt;br /&gt;
Y = R .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
% Magnitud del rotacional&lt;br /&gt;
curl_z = (1/5) .* R .* (4.*R - 3) .* sin(Th);&lt;br /&gt;
curl_abs = abs(curl_z);&lt;br /&gt;
&lt;br /&gt;
% --- Visualización ---&lt;br /&gt;
figure;&lt;br /&gt;
hold on; axis equal; grid off;&lt;br /&gt;
set(gcf,'Color','w');&lt;br /&gt;
&lt;br /&gt;
contourf(X, Y, curl_abs, 30, 'LineStyle','none');&lt;br /&gt;
colorbar;&lt;br /&gt;
colormap(parula);&lt;br /&gt;
&lt;br /&gt;
title('|∇×u| en el sólido');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
&lt;br /&gt;
% --- Marcar máximo explícitamente en (0,2) ---&lt;br /&gt;
xmax = 0;&lt;br /&gt;
ymax = 2;&lt;br /&gt;
plot(xmax, ymax, 'r*', 'MarkerSize', 14, 'LineWidth', 2);&lt;br /&gt;
text(xmax+0.05, ymax, '  Máximo rotacional (0,2)', 'Color','r','FontSize',10);&lt;br /&gt;
&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Tensiones tangenciales respecto al plano ortogonal &amp;lt;math&amp;gt;\vec{e}_{\rho}&amp;lt;/math&amp;gt; ==&lt;br /&gt;
[[Archivo:apartado_9.jpg|500px|thumb|right|Tensiones tangenciales]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% TENSIONES TANGENCIALES&lt;br /&gt;
clear; clc; close all;&lt;br /&gt;
&lt;br /&gt;
% --- 1. GEOMETRÍA ---&lt;br /&gt;
rho_vec = 1:0.01:2;&lt;br /&gt;
theta_vec = 0:0.01:pi;&lt;br /&gt;
[R, Th] = meshgrid(rho_vec, theta_vec);&lt;br /&gt;
&lt;br /&gt;
X = R .* cos(Th);&lt;br /&gt;
Y = R .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
% --- 2. CÁLCULO DE LA TENSIÓN ---&lt;br /&gt;
Tau = (1/5) * (2*R.^2 - R) .* sin(Th);&lt;br /&gt;
Tau_Mag = abs(Tau);&lt;br /&gt;
&lt;br /&gt;
% --- 3. VISUALIZACIÓN ---&lt;br /&gt;
figure(9); clf; hold on; axis equal;&lt;br /&gt;
set(gcf, 'Color', 'w');&lt;br /&gt;
title('Tensión tangencial');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
&lt;br /&gt;
contourf(X, Y, Tau_Mag, 50, 'LineStyle', 'none');&lt;br /&gt;
c = colorbar;&lt;br /&gt;
ylabel(c,'Esfuerzo de Corte (Pa)');&lt;br /&gt;
&lt;br /&gt;
% --- 4. Colormap amplio AZUL → ROJO (256 tonos) ---&lt;br /&gt;
n = 256;&lt;br /&gt;
azul = [0 0 1];       % azul puro&lt;br /&gt;
rojo = [1 0 0];       % rojo puro&lt;br /&gt;
cmap = [linspace(azul(1), rojo(1), n)', ...&lt;br /&gt;
        linspace(azul(2), rojo(2), n)', ...&lt;br /&gt;
        linspace(azul(3), rojo(3), n)'];&lt;br /&gt;
colormap(cmap);&lt;br /&gt;
&lt;br /&gt;
% --- 5. Bordes exteriores en negro ---&lt;br /&gt;
t_border = 0:0.001:pi;&lt;br /&gt;
plot(2*cos(t_border),2*sin(t_border),'k','LineWidth',2);&lt;br /&gt;
plot(1*cos(t_border),1*sin(t_border),'k','LineWidth',2);&lt;br /&gt;
plot([-2,-1],[0,0],'k','LineWidth',2);&lt;br /&gt;
plot([1,2],[0,0],'k','LineWidth',2);&lt;br /&gt;
&lt;br /&gt;
% --- 6. Punto de máxima tensión ---&lt;br /&gt;
max_val = max(Tau_Mag(:));&lt;br /&gt;
[fr, fc] = find(Tau_Mag == max_val, 1);&lt;br /&gt;
plot(X(fr,fc),Y(fr,fc),'wx','LineWidth',2,'MarkerSize',10);&lt;br /&gt;
text(X(fr,fc),Y(fr,fc)+0.1,'Máx','Color','w','FontWeight','bold');&lt;br /&gt;
&lt;br /&gt;
axis([-2.2 2.2 0 2.2]);&lt;br /&gt;
grid off;&lt;br /&gt;
hold off;&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Tensiones tangenciales respecto al plano ortogonal &amp;lt;math&amp;gt;\frac{1}{\rho} \vec{e}_{\theta}&amp;lt;/math&amp;gt; ==&lt;br /&gt;
[[Archivo:apartado.10.png|500px|thumb|right|Tensiones tangenciales]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear; clc; close all;&lt;br /&gt;
&lt;br /&gt;
%% --- 1. Mallado polar del sólido (corona semicircular) ---&lt;br /&gt;
h = 0.02;                 % paso fino&lt;br /&gt;
rho_min = 1;&lt;br /&gt;
rho_max = 2;&lt;br /&gt;
theta_min = 0;&lt;br /&gt;
theta_max = pi;&lt;br /&gt;
&lt;br /&gt;
rho_vec = rho_min:h:rho_max;&lt;br /&gt;
theta_vec = theta_min:h:theta_max;&lt;br /&gt;
&lt;br /&gt;
[R, Th] = meshgrid(rho_vec, theta_vec);&lt;br /&gt;
&lt;br /&gt;
% Conversión a cartesianas&lt;br /&gt;
X = R .* cos(Th);&lt;br /&gt;
Y = R .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
%% --- 2. Campo u = u_theta * e_theta ---&lt;br /&gt;
u_theta = (1/5) * (R - 1) .* R.^2 .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
% Cálculo del rotacional (componente z en 2D, analítico)&lt;br /&gt;
curl_z = (1/5) .* R .* (4.*R - 3) .* sin(Th);&lt;br /&gt;
curl_abs = abs(curl_z);&lt;br /&gt;
&lt;br /&gt;
%% --- 3. Gráfica del rotacional (sin flechas) ---&lt;br /&gt;
figure;&lt;br /&gt;
hold on;&lt;br /&gt;
axis equal;&lt;br /&gt;
grid off;&lt;br /&gt;
set(gcf,'Color','w');&lt;br /&gt;
&lt;br /&gt;
% Mapa de calor del rotacional&lt;br /&gt;
contourf(X, Y, curl_abs, 40, 'LineStyle','none');&lt;br /&gt;
colorbar;&lt;br /&gt;
clim([0 2]);      % forzamos rango para que el máximo destaque bien&lt;br /&gt;
colormap turbo;&lt;br /&gt;
&lt;br /&gt;
title('Tension tangencial apartado 10');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
&lt;br /&gt;
% Borde del sólido&lt;br /&gt;
plot(rho_max*cos(theta_vec), rho_max*sin(theta_vec), 'k','LineWidth',1.8);&lt;br /&gt;
plot(rho_min*cos(theta_vec), rho_min*sin(theta_vec), 'k','LineWidth',1.8);&lt;br /&gt;
plot([-rho_max -rho_min], [0 0], 'k','LineWidth',1.8);&lt;br /&gt;
plot([rho_min rho_max], [0 0], 'k','LineWidth',1.8);&lt;br /&gt;
&lt;br /&gt;
%  Marcar punto de máximo explícitamente en (0,2) en blanco&lt;br /&gt;
xmax = 0;&lt;br /&gt;
ymax = 2;&lt;br /&gt;
plot(xmax, ymax, 'w*', 'MarkerSize', 15, 'LineWidth', 2);&lt;br /&gt;
text(xmax+0.05, ymax-0.1, '  Máximo', 'Color','w','FontSize',11,'FontWeight','bold');&lt;br /&gt;
&lt;br /&gt;
hold off;&lt;br /&gt;
&lt;br /&gt;
%% --- 4. Mostrar valor numérico máximo en consola ---&lt;br /&gt;
fprintf('Máximo de |∇×u| = %.5g en (0,2)\n', curl_abs(find(X==0 &amp;amp; abs(Y-2)&amp;lt;1e-6, 1)));&lt;br /&gt;
&lt;br /&gt;
disp('El punto con mayor rotacional es (0,2)');&lt;br /&gt;
disp('Porque |∇×u| crece con ρ y es máximo cuando sinθ = 1 (θ = π/2) y ρ = 2');&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Cálculo de la masa aproximando la integral numéricamente==&lt;br /&gt;
La masa se calcula con la siguiente integral: M = ∫∫ d(ρ, θ) dA&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El dominio es [1,2]x[0,pi] y por tanto los límites de integración serán:&lt;br /&gt;
&lt;br /&gt;
Límete de rho: 1 ≤ ρ ≤ 2&lt;br /&gt;
&lt;br /&gt;
Límite de theta: 0 ≤ θ ≤ π&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El diferencial de área (Jacobiano) es: dA = ρ dρ dθ&lt;br /&gt;
&lt;br /&gt;
La densidad viene dada por: d(ρ, θ) = 1 + e^(ρ² cos θ)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por último la masa se calculará de la siguiente manera: &lt;br /&gt;
&lt;br /&gt;
M = ∫(de 0 a π) ∫(de 1 a 2) [1 + e^(ρ² cos θ)] · ρ dρ dθ = 26.26 u²&lt;br /&gt;
&lt;br /&gt;
== Interpretación del trabajo ==&lt;br /&gt;
&lt;br /&gt;
En el Trabajo K se modela una onda transversal en una placa rectangular mediante el campo de desplazamientos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{u}(x,y,t)=\vec{a}\cos(\vec{b}\cdot\vec{r}_0 - c t)&amp;lt;/math&amp;gt; con:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{a}=\frac{1}{10}\vec{i}&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{b}=\pi\vec{j}&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;t=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Esto se puede interpretar como una onda de corte (onda S) que se propaga en un medio elástico, como la corteza terrestre durante un terremoto.&lt;br /&gt;
Las ondas S (secundarias o de corte) son ondas transversales, en las que las partículas del material vibran perpendicularmente a la dirección de propagación de la onda.&lt;br /&gt;
&lt;br /&gt;
En este caso, la dirección de propagación es la del vector:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{b}=\pi\vec{j}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(eje 𝑦 y) y la vibración es en la dirección:&amp;lt;math&amp;gt;\vec{i}&amp;lt;/math&amp;gt;(eje 𝑥 x), lo cual es típico de ondas S con polarización horizontal (onda SH).&lt;br /&gt;
Aplicación al Trabajo M (arco entre radios 1 y 2)&lt;br /&gt;
En el Trabajo M, el dominio es un sector de arco en coordenadas polares(𝜌,𝜃)(ρ,θ), con:&amp;lt;math&amp;gt;\rho\in[1,2]&amp;lt;/math&amp;gt; y el campo de desplazamientos es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{u}(\rho,\theta)=\frac{1}{5}(\rho-1)\rho^{2}\sin\theta\,\vec{e}_\theta&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Este campo representa un desplazamiento puramente tangencial: &amp;lt;math&amp;gt;\vec{e}_\theta&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
que también corresponde a una onda de corte pero en geometría curvilínea.&lt;br /&gt;
En sismología, las ondas S pueden viajar a lo largo de estructuras curvas en la corteza, como capas geológicas curvadas o interfaces entre materiales.&lt;br /&gt;
&lt;br /&gt;
El factor:&amp;lt;math&amp;gt;(\rho-1)\rho^{2}\sin\theta&amp;lt;/math&amp;gt; indica que el desplazamiento es máximo en la parte exterior del arco: &amp;lt;math&amp;gt;\rho = 2&amp;lt;/math&amp;gt; y varía sinusoidalmente con:&amp;lt;math&amp;gt;\theta&amp;lt;/math&amp;gt; lo que podría modelar una onda estacionaria o forzada en una placa curvada.&lt;br /&gt;
&lt;br /&gt;
Relación con la temperatura&lt;br /&gt;
&lt;br /&gt;
En ambos trabajos se incluye un campo de temperatura: &amp;lt;math&amp;gt;T(x,y)=(x-y)^2&amp;lt;/math&amp;gt; que en el Trabajo M debe expresarse en coordenadas polares:&amp;lt;math&amp;gt;x=\rho\cos\theta&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y=\rho\sin\theta&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sustituyendo: &amp;lt;math&amp;gt;T(\rho,\theta)=\rho^{2}(\cos\theta - \sin\theta)^2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Esta temperatura podría representar gradientes térmicos en la corteza debidos a fuentes geotérmicas, que afectan a las propiedades elásticas del medio y, por tanto, a la propagación de ondas sísmicas.&lt;br /&gt;
&lt;br /&gt;
Conclusión&lt;br /&gt;
&lt;br /&gt;
El Trabajo M puede interpretarse como el estudio de ondas de corte (S) en una región curvilínea de la corteza terrestre, como un arco de falla o una capa geológica curvada, donde los desplazamientos son transversales a la dirección radial.&lt;br /&gt;
&lt;br /&gt;
La inclusión del campo de temperatura:&amp;lt;math&amp;gt;T(\rho,\theta)=\rho^{2}(\cos\theta - \sin\theta)^2&amp;lt;/math&amp;gt; permite analizar cómo los gradientes térmicos influyen en la deformación y propagación de ondas en estructuras geológicas reales, algo relevante en sismología y geofísica.&lt;/div&gt;</summary>
		<author><name>Álvaro Villar</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Mallado_Arco_1_(grupo_59)&amp;diff=97320</id>
		<title>Mallado Arco 1 (grupo 59)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Mallado_Arco_1_(grupo_59)&amp;diff=97320"/>
				<updated>2025-12-03T17:38:38Z</updated>
		
		<summary type="html">&lt;p&gt;Álvaro Villar: /* Mallado del arco */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Arco1. Grupo 59 | [[:Categoría:Teoría de Campos|Teoría de Campos]]|[[:Categoría:TC25/26|2025-26]] | &lt;br /&gt;
*Guillermo Pineros Quero&lt;br /&gt;
*Ignacio Sueiras Oviedo&lt;br /&gt;
*Francisco Yusep Saiz Cebrián&lt;br /&gt;
*Álvaro Villar Rosado&lt;br /&gt;
*Javier Ruiz Sáenz de Jubera}}&lt;br /&gt;
[[Categoría:Teoría de Campos]]&lt;br /&gt;
[[Categoría:TC25/26]]&lt;br /&gt;
==Introducción==&lt;br /&gt;
&amp;quot;En este artículo se examina el proceso de parametrización y mallado de una placa plana 2D con forma de arco circular (anillo), delimitada por un radio interior de 1 y uno exterior de 2. Definimos dos variables físicas sobre esta geometría: la temperatura $T(x,y)$ en coordenadas cartesianas y un vector de desplazamientos $\vec{u}(\rho,\theta)$ en coordenadas cilíndricas. La temperatura se rige por la función $T(x,y)=(x-y)^2$, mientras que los desplazamientos obedecen a:$$\vec{u} = \frac{1}{5} (\rho-1)\rho^2 \cos\theta(\vec{e}_\theta)$$El objetivo principal es formalizar la descripción del dominio y sus funciones para facilitar el análisis numérico mediante discretización. El texto se complementa con códigos de MATLAB, fotografías y representaciones gráficas en cada apartado.&amp;quot;&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align:center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{u}(\rho,\theta)=\frac{1}{5}(\rho - 1)\rho^{2}\sin\theta\,\vec{e}_{\theta}&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Mallado del arco ==&lt;br /&gt;
El mallado de un arco consiste en dividir su superficie en puntos organizados, lo que permite describir su geometría y analizar cómo cambian diferentes magnitudes dentro de él.&lt;br /&gt;
El arco está comprendido entre los radios de valor 1 y 2, que al pasarlo a coordenadas polares la región estará definida por rho(ρ) y theta(θ), y sus valores [1,2]x[0,π]&lt;br /&gt;
&lt;br /&gt;
=== Representación del mallado ===&lt;br /&gt;
[[Archivo:mallado.del.arco.png|500px|thumb|right|]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Mallado del arco alineado&lt;br /&gt;
&lt;br /&gt;
% Elegimos divisiones que garanticen que:&lt;br /&gt;
% θ = 0, pi/2, pi están incluidos &lt;br /&gt;
% r incluye exactamente 1 y 2    &lt;br /&gt;
&lt;br /&gt;
theta = linspace(0, pi, 20);   % mallado moderado, incluye 0, pi/2 y pi&lt;br /&gt;
r = linspace(1, 2, 15);        % radios exactos 1 y 2&lt;br /&gt;
&lt;br /&gt;
[R, TH] = meshgrid(r, theta);&lt;br /&gt;
&lt;br /&gt;
% Convertir a coordenadas cartesianas&lt;br /&gt;
X = R .* cos(TH);&lt;br /&gt;
Y = R .* sin(TH);&lt;br /&gt;
&lt;br /&gt;
figure;&lt;br /&gt;
hold on;&lt;br /&gt;
&lt;br /&gt;
col = [0.3 0.6 1];  % azul clarito&lt;br /&gt;
&lt;br /&gt;
% Mallado tipo red (más grueso) &lt;br /&gt;
plot(X,  Y, 'Color', col, 'LineWidth', 1.1);   % líneas en theta&lt;br /&gt;
plot(X', Y', 'Color', col, 'LineWidth', 1.1);  % líneas en r&lt;br /&gt;
&lt;br /&gt;
% Contornos superior interior y exterior &lt;br /&gt;
theta_cont = linspace(0, pi, 400);&lt;br /&gt;
&lt;br /&gt;
plot(1*cos(theta_cont), 1*sin(theta_cont), 'Color', col, 'LineWidth', 2);&lt;br /&gt;
plot(2*cos(theta_cont), 2*sin(theta_cont), 'Color', col, 'LineWidth', 2);&lt;br /&gt;
&lt;br /&gt;
% Bases &lt;br /&gt;
plot([-1 -2], [0 0], 'Color', col, 'LineWidth', 2);  % base izquierda&lt;br /&gt;
plot([ 1  2], [0 0], 'Color', col, 'LineWidth', 2);  % base derecha&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% Ajustes&lt;br /&gt;
axis equal&lt;br /&gt;
grid on&lt;br /&gt;
title('Mallado del arco')&lt;br /&gt;
xlabel('x')&lt;br /&gt;
ylabel('y')&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==  Temperatura en el arco  ==&lt;br /&gt;
La temperatura del sólido proviene de un foco de calor muy concentrado en los puntos&lt;br /&gt;
que están a distancia 1 del origen. La función es: '''&amp;lt;big&amp;gt;𝑇(𝑥, 𝑦) = (𝑥 − 𝑦)&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;&amp;lt;/big&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
=== Código ===&lt;br /&gt;
[[Archivo:funciontemperatura.png|500px|thumb|right|Representación de la temperatura en el arco]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Mallado del arco&lt;br /&gt;
theta = linspace(0, pi, 200);   % más denso para curva suave&lt;br /&gt;
r = linspace(1, 2, 200);        % radio interior 1, exterior 2&lt;br /&gt;
[R, TH] = meshgrid(r, theta);&lt;br /&gt;
&lt;br /&gt;
% Convertir a cartesianas&lt;br /&gt;
X = R .* cos(TH);&lt;br /&gt;
Y = R .* sin(TH);&lt;br /&gt;
&lt;br /&gt;
% Funcion temperatura&lt;br /&gt;
T = (X - Y).^2;&lt;br /&gt;
&lt;br /&gt;
% Representación 2D&lt;br /&gt;
figure;&lt;br /&gt;
pcolor(X, Y, T);     % representación 2D en colores&lt;br /&gt;
shading interp       % suavizado del color&lt;br /&gt;
colormap(jet)&lt;br /&gt;
colorbar;&lt;br /&gt;
&lt;br /&gt;
title('Temperatura T(x,y) = (x - y)^2 sobre el arco')&lt;br /&gt;
xlabel('x')&lt;br /&gt;
ylabel('y')&lt;br /&gt;
axis equal           % mantiene proporciones reales&lt;br /&gt;
hold on&lt;br /&gt;
&lt;br /&gt;
%% Contorno negro del arco &lt;br /&gt;
theta_cont = linspace(0, pi, 400);&lt;br /&gt;
&lt;br /&gt;
% Borde interior&lt;br /&gt;
plot(1*cos(theta_cont), 1*sin(theta_cont), 'k-', 'LineWidth', 1);&lt;br /&gt;
&lt;br /&gt;
% Borde exterior&lt;br /&gt;
plot(2*cos(theta_cont), 2*sin(theta_cont), 'k-', 'LineWidth', 1);&lt;br /&gt;
&lt;br /&gt;
% Radio izquierdo&lt;br /&gt;
plot([1 2]*cos(0), [1 2]*sin(0), 'k-', 'LineWidth', 1);&lt;br /&gt;
&lt;br /&gt;
% Radio derecho&lt;br /&gt;
plot([1 2]*cos(pi), [1 2]*sin(pi), 'k-', 'LineWidth', 1);&lt;br /&gt;
&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Gradiente de temperatura ==&lt;br /&gt;
===Cálculo del gradiente===&lt;br /&gt;
El gradiente de una función escalar (∇f) es un campo vectorial cuyas componentes son las derivadas parciales de la función. Geométricamente, el vector gradiente apunta en la dirección de máximo crecimiento de la función y es ortogonal a sus curvas de nivel.&lt;br /&gt;
&lt;br /&gt;
La fórmula para calcularlo es: &lt;br /&gt;
&lt;br /&gt;
∇f(x,y) = ( ∂f/∂x , ∂f/∂y )&lt;br /&gt;
&lt;br /&gt;
Como la temperatura viene dada por la siguiente fórmula: &lt;br /&gt;
&lt;br /&gt;
T(x, y) = (x - y)²&lt;br /&gt;
&lt;br /&gt;
El gradiente de temperatura será:&lt;br /&gt;
&lt;br /&gt;
∇T = (2(x - y), -2(x - y))&lt;br /&gt;
===Representación gráfica del gradiente===&lt;br /&gt;
[[Archivo:Gradiente apartado 3.png|500px|thumb|right|Gradiente de temperatura]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% Representación del gradiente&lt;br /&gt;
clc; clear; close all;&lt;br /&gt;
&lt;br /&gt;
% Dominio &lt;br /&gt;
rho_min = 1;  rho_max = 2;&lt;br /&gt;
th_min = 0;   th_max = pi;&lt;br /&gt;
&lt;br /&gt;
[Rho, Theta] = meshgrid(linspace(rho_min, rho_max, 100), ...&lt;br /&gt;
                        linspace(th_min, th_max, 200));&lt;br /&gt;
&lt;br /&gt;
% Convertimos a Cartesianas&lt;br /&gt;
X = Rho .* cos(Theta);&lt;br /&gt;
Y = Rho .* sin(Theta);&lt;br /&gt;
&lt;br /&gt;
%% 2. Definición de Temperatura y Gradiente&lt;br /&gt;
% Temperatura T = (x - y)^2&lt;br /&gt;
T_val = (X - Y).^2;&lt;br /&gt;
&lt;br /&gt;
% Cálculo del gradiente&lt;br /&gt;
Grad_X = 2 .* (X - Y);&lt;br /&gt;
Grad_Y = -2 .* (X - Y);&lt;br /&gt;
&lt;br /&gt;
% Representación gráfica&lt;br /&gt;
figure('Name', 'Trabajo M - Pregunta 3 (Estilo Suave)', 'Color', 'w');&lt;br /&gt;
hold on;&lt;br /&gt;
&lt;br /&gt;
contourf(X, Y, T_val, 50, 'LineStyle', 'none');&lt;br /&gt;
&lt;br /&gt;
% Creamos la gráfica&lt;br /&gt;
N = 256;&lt;br /&gt;
r = linspace(0.2, 1, N)'; &lt;br /&gt;
g = linspace(0.5, 1, N)';&lt;br /&gt;
b = linspace(1, 0, N)';   &lt;br /&gt;
mi_mapa = [r, g, b];      % Matriz de colores&lt;br /&gt;
&lt;br /&gt;
colormap(mi_mapa);&lt;br /&gt;
c = colorbar;&lt;br /&gt;
c.Label.String = 'Temperatura T = (x-y)^2';&lt;br /&gt;
&lt;br /&gt;
% Cantida de flechas&lt;br /&gt;
step_r = 8;  % Salta cada 8 puntos en el radio&lt;br /&gt;
step_t = 12; % Salta cada 12 puntos en el ángulo&lt;br /&gt;
&lt;br /&gt;
idx_r = 1:step_r:size(X,1);&lt;br /&gt;
idx_t = 1:step_t:size(X,2);&lt;br /&gt;
&lt;br /&gt;
% Dibujo flechas&lt;br /&gt;
quiver(X(idx_r, idx_t), Y(idx_r, idx_t), ...&lt;br /&gt;
       Grad_X(idx_r, idx_t), Grad_Y(idx_r, idx_t), ...&lt;br /&gt;
       'k', ...                 % Color negro flechas&lt;br /&gt;
       'LineWidth', 1.0, ...    % Grosor flechas&lt;br /&gt;
       'AutoScaleFactor', 0.8); % Tamaño flechas&lt;br /&gt;
&lt;br /&gt;
axis equal;&lt;br /&gt;
xlim([-2.5 2.5]); ylim([0 2.5]); % Márgenes &lt;br /&gt;
title('Gradiente sobre T');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
&lt;br /&gt;
box on; &lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
== Campo de Vectores ==&lt;br /&gt;
El campo vectorial viene dado por la siguiente fórmula: &lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align:center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{u}(\rho,\theta)=\frac{1}{5}(\rho - 1)\rho^{2}\sin\theta\,\vec{e}_{\theta}&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== código ===&lt;br /&gt;
[[Archivo:apartado.4.png|500px|thumb|right|Campo de vectores]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear; clc; close all;&lt;br /&gt;
&lt;br /&gt;
%% --- 1. Definir el mallado polar del sólido ---&lt;br /&gt;
h = 0.1;&lt;br /&gt;
rho_min = 1;&lt;br /&gt;
rho_max = 2;&lt;br /&gt;
theta_min = 0;&lt;br /&gt;
theta_max = pi;&lt;br /&gt;
&lt;br /&gt;
rho_vec   = rho_min:h:rho_max;&lt;br /&gt;
theta_vec = theta_min:h:theta_max;&lt;br /&gt;
&lt;br /&gt;
[R, Th] = meshgrid(rho_vec, theta_vec);&lt;br /&gt;
&lt;br /&gt;
% Convertir la malla a cartesianas (puntos del sólido)&lt;br /&gt;
X = R .* cos(Th);&lt;br /&gt;
Y = R .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
%% --- 2. Definir el campo vectorial u en e_theta ---&lt;br /&gt;
U_theta = (1/5) * (R - 1) .* R.^2 .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
% Componentes de los vectores unitarios e_theta en cartesianas&lt;br /&gt;
e_th_x = -sin(Th);&lt;br /&gt;
e_th_y =  cos(Th);&lt;br /&gt;
&lt;br /&gt;
% Convertir el campo a componentes cartesianas&lt;br /&gt;
U_x = U_theta .* e_th_x;&lt;br /&gt;
U_y = U_theta .* e_th_y;&lt;br /&gt;
&lt;br /&gt;
%% --- 3. Dibujar SOLO el campo vectorial u en los puntos de la malla ---&lt;br /&gt;
figure;&lt;br /&gt;
hold on;&lt;br /&gt;
axis equal;&lt;br /&gt;
grid off;&lt;br /&gt;
set(gcf,'Color','w');&lt;br /&gt;
&lt;br /&gt;
% Dibujar las flechas del campo vectorial u&lt;br /&gt;
quiver(X, Y, U_x, U_y, 'b', 'LineWidth', 1.2, 'MaxHeadSize', 0.6);&lt;br /&gt;
&lt;br /&gt;
%% --- 4. Dibujar el borde del sólido con UNA línea negra ---&lt;br /&gt;
% Lado 1: arco exterior&lt;br /&gt;
plot(rho_max*cos(theta_vec), rho_max*sin(theta_vec), 'k', 'LineWidth', 2);&lt;br /&gt;
&lt;br /&gt;
% Lado 2: arco interior&lt;br /&gt;
plot(rho_min*cos(theta_vec), rho_min*sin(theta_vec), 'k', 'LineWidth', 2);&lt;br /&gt;
&lt;br /&gt;
% Lado 3: cierre izquierdo (theta = pi)&lt;br /&gt;
plot([rho_min*cos(pi), rho_max*cos(pi)], [rho_min*sin(pi), rho_max*sin(pi)], 'k', 'LineWidth', 2);&lt;br /&gt;
&lt;br /&gt;
% Lado 4: cierre derecho (theta = 0)&lt;br /&gt;
plot([rho_min*cos(0), rho_max*cos(0)], [rho_min*sin(0), rho_max*sin(0)], 'k', 'LineWidth', 2);&lt;br /&gt;
&lt;br /&gt;
title('Campo \vec u sobre la malla del sólido (bordeado en negro)');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Dibujo del sólido antes y después del desplazamiento==&lt;br /&gt;
&lt;br /&gt;
===Código===&lt;br /&gt;
[[Archivo:grafica_1.png|500px|thumb|right|Gráfica 1]]&lt;br /&gt;
[[Archivo:Grafica_2.png|500px|thumb|right|Gráfica 2]]&lt;br /&gt;
[[Archivo:apartado.5.png|500px|thumb|right|Gráfica 3]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% Visualización de Deformación (Azul vs Rojo)&lt;br /&gt;
clear; clc; close all;&lt;br /&gt;
% --- 1. DATOS Y CÁLCULOS  ---&lt;br /&gt;
rho_vec = 1:0.1:2;&lt;br /&gt;
&lt;br /&gt;
% EL CAMBIO ESTÁ AQUÍ:&lt;br /&gt;
&lt;br /&gt;
theta_vec = [0:0.1:pi, pi]; &lt;br /&gt;
&lt;br /&gt;
[R, Th] = meshgrid(rho_vec, theta_vec);&lt;br /&gt;
&lt;br /&gt;
% Posición Inicial&lt;br /&gt;
X_ini = R .* cos(Th);&lt;br /&gt;
Y_ini = R .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
% Desplazamiento u (Trabajo M)&lt;br /&gt;
u_rho   = zeros(size(R));&lt;br /&gt;
u_theta = (1/5) * (R - 1) .* (R.^2) .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
UX = u_rho .* cos(Th) - u_theta .* sin(Th);&lt;br /&gt;
UY = u_rho .* sin(Th) + u_theta .* cos(Th);&lt;br /&gt;
&lt;br /&gt;
% Posición Final&lt;br /&gt;
X_fin = X_ini + UX;&lt;br /&gt;
Y_fin = Y_ini + UY;&lt;br /&gt;
&lt;br /&gt;
% ---  GENERACIÓN DE LAS GRÁFICAS ---&lt;br /&gt;
&lt;br /&gt;
% GRÁFICA 1: Posición Inicial&lt;br /&gt;
figure(1); clf; hold on; axis equal;&lt;br /&gt;
set(gcf, 'Color', 'w'); title('1. Posición Inicial (Sin deformar)');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
plot(X_ini, Y_ini, 'b', 'LineWidth', 1);&lt;br /&gt;
plot(X_ini', Y_ini', 'b', 'LineWidth', 1);&lt;br /&gt;
plot_borde(rho_vec, theta_vec, 'k', 2); &lt;br /&gt;
axis([-2.5 2.5 0 2.5]); grid on;&lt;br /&gt;
&lt;br /&gt;
% GRÁFICA 2: Posición Final&lt;br /&gt;
figure(2); clf; hold on; axis equal;&lt;br /&gt;
set(gcf, 'Color', 'w'); title('2. Posición Final (Deformada)');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
plot(X_fin, Y_fin, 'r', 'LineWidth', 1);&lt;br /&gt;
plot(X_fin', Y_fin', 'r', 'LineWidth', 1);&lt;br /&gt;
axis([-2.5 2.5 0 2.5]); grid on;&lt;br /&gt;
&lt;br /&gt;
% GRÁFICA 3: Superposición (AZUL vs ROJO)&lt;br /&gt;
figure(3); clf; hold on; axis equal;&lt;br /&gt;
set(gcf, 'Color', 'w'); title('3. Comparativa: Inicial vs Final');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
&lt;br /&gt;
% A) Inicial: AZUL&lt;br /&gt;
plot(X_ini, Y_ini, 'b', 'LineWidth', 1);&lt;br /&gt;
plot(X_ini', Y_ini', 'b', 'LineWidth', 1);&lt;br /&gt;
&lt;br /&gt;
% B) Final: ROJO&lt;br /&gt;
plot(X_fin, Y_fin, 'r', 'LineWidth', 1.2);&lt;br /&gt;
plot(X_fin', Y_fin', 'r', 'LineWidth', 1.2);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% --- Función para bordes ---&lt;br /&gt;
function plot_borde(r_v, t_v, col, ancho)&lt;br /&gt;
    plot(r_v(end)*cos(t_v), r_v(end)*sin(t_v), col, 'LineWidth', ancho);&lt;br /&gt;
    plot(r_v(1)*cos(t_v), r_v(1)*sin(t_v), col, 'LineWidth', ancho);&lt;br /&gt;
    plot([r_v(1) r_v(end)]*cos(t_v(1)), [r_v(1) r_v(end)]*sin(t_v(1)), col, 'LineWidth', ancho);&lt;br /&gt;
    plot([r_v(1) r_v(end)]*cos(t_v(end)), [r_v(1) r_v(end)]*sin(t_v(end)), col, 'LineWidth', ancho);&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Divergencia==&lt;br /&gt;
[[Archivo:apartado.6.png|500px|thumb|right|Divergencia]]&lt;br /&gt;
===Definición de la divergencia===&lt;br /&gt;
La divergencia de un campo vectorial &amp;lt;math&amp;gt;\nabla \cdot \vec{u}&amp;lt;/math&amp;gt; en un punto dado es una medida de la tasa a la que el flujo del campo se está expandiendo (saliendo) o contrayendo (entrando) en ese punto.&lt;br /&gt;
&lt;br /&gt;
Es un valor escalar que te dice qué tan fuerte es una fuente o un sumidero de flujo en ese lugar. Para calcular la divergencia en coordenadas cilíndricas se utiliza la siguiente fórmula:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\nabla \cdot \vec{U} = \frac{1}{\rho}\left[ \frac{\partial}{\partial \rho}(\rho U_{\rho}) + \frac{\partial U_{\theta}}{\partial \theta} + \frac{\partial}{\partial z}(\rho U_{z}) \right]&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reemplazando los valores del campo en las posiciones de U, obtenemos la siguiente expresión:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\nabla \cdot \vec{U}&lt;br /&gt;
= \frac{1}{\rho}\left[&lt;br /&gt;
\frac{\partial}{\partial \rho}(0)&lt;br /&gt;
+ \frac{\partial}{\partial \theta}\!\left(\frac{1}{5}(\rho - 1)\rho^{2}\sin\theta\right)&lt;br /&gt;
+ \frac{\partial}{\partial z}(0)&lt;br /&gt;
\right]&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El resultado final de la divergencia es el siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\nabla \cdot \vec{U}&lt;br /&gt;
= \frac{1}{5}(\rho - 1)\,\rho\,\cos\theta&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Código y representación===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% DIVERGENCIA &lt;br /&gt;
&lt;br /&gt;
clear; clc; close all;&lt;br /&gt;
&lt;br /&gt;
% 1. Geometría&lt;br /&gt;
rho_vec = 1:0.05:2;          &lt;br /&gt;
theta_vec = [0:0.05:pi, pi]; &lt;br /&gt;
[R, Th] = meshgrid(rho_vec, theta_vec);&lt;br /&gt;
&lt;br /&gt;
% Paso a cartesianas solo para pintar (X, Y)&lt;br /&gt;
X = R .* cos(Th);&lt;br /&gt;
Y = R .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
% 2. Cálculo de la Divergencia&lt;br /&gt;
% Fórmula: (1/5) * (rho^2 - rho) * cos(theta)&lt;br /&gt;
Div = (1/5) * (R.^2 - R) .* cos(Th);&lt;br /&gt;
&lt;br /&gt;
% 3. Visualización&lt;br /&gt;
figure(7); clf; hold on; axis equal;&lt;br /&gt;
set(gcf, 'Color', 'w');&lt;br /&gt;
title('Divergencia: Expansión y Compresión');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
&lt;br /&gt;
% mapa de colores&lt;br /&gt;
[C, h] = contourf(X, Y, Div, 30, 'LineStyle', 'none');&lt;br /&gt;
&lt;br /&gt;
% Barra de color&lt;br /&gt;
cb = colorbar;&lt;br /&gt;
ylabel(cb, 'Cambio de Volumen');&lt;br /&gt;
&lt;br /&gt;
% borde negro&lt;br /&gt;
plot_borde(rho_vec, theta_vec, 'k', 2);&lt;br /&gt;
&lt;br /&gt;
% Definimos un mapa de colores &amp;quot;Divergente&amp;quot; (Rojo-Azul)&lt;br /&gt;
%Azul para compresión, Rojo para expansión&lt;br /&gt;
colormap(redbluecmap); &lt;br /&gt;
&lt;br /&gt;
axis([-2.5 2.5 0 2.5]); &lt;br /&gt;
grid off;&lt;br /&gt;
&lt;br /&gt;
% --- Función Borde  ---&lt;br /&gt;
function plot_borde(r_v, t_v, col, ancho)&lt;br /&gt;
    plot(r_v(end)*cos(t_v), r_v(end)*sin(t_v), col, 'LineWidth', ancho);&lt;br /&gt;
    plot(r_v(1)*cos(t_v), r_v(1)*sin(t_v), col, 'LineWidth', ancho);&lt;br /&gt;
    plot([r_v(1) r_v(end)]*cos(t_v(1)), [r_v(1) r_v(end)]*sin(t_v(1)), col, 'LineWidth', ancho);&lt;br /&gt;
    plot([r_v(1) r_v(end)]*cos(t_v(end)), [r_v(1) r_v(end)]*sin(t_v(end)), col, 'LineWidth', ancho);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Rotacional ==&lt;br /&gt;
El rotacional de un campo vectorial &amp;lt;math&amp;gt;|\nabla \times \vec{u}|&amp;lt;/math&amp;gt; mide cuánto y en qué dirección tiende a girar el campo, es decir, si el campo hace que una partícula colocada en él empiece a rotar. Si el rotacional es distinto de 0 entonces la partícula rotará, en cambio si el rotacional es igual a 0 entonces la partícula no rotará. &lt;br /&gt;
=== Código ===&lt;br /&gt;
[[Archivo:apartado.7.png|500px|thumb|right|Rotacional]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear; clc; close all;&lt;br /&gt;
&lt;br /&gt;
% Parámetros del sólido (anillo semicircular)&lt;br /&gt;
h = 0.02;&lt;br /&gt;
rho_min = 1;&lt;br /&gt;
rho_max = 2;&lt;br /&gt;
theta_min = 0;&lt;br /&gt;
theta_max = pi;&lt;br /&gt;
&lt;br /&gt;
rho_vec   = rho_min:h:rho_max;&lt;br /&gt;
theta_vec = theta_min:h:theta_max;&lt;br /&gt;
[R, Th] = meshgrid(rho_vec, theta_vec);&lt;br /&gt;
&lt;br /&gt;
% Coordenadas cartesianas&lt;br /&gt;
X = R .* cos(Th);&lt;br /&gt;
Y = R .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
% Magnitud del rotacional&lt;br /&gt;
curl_z = (1/5) .* R .* (4.*R - 3) .* sin(Th);&lt;br /&gt;
curl_abs = abs(curl_z);&lt;br /&gt;
&lt;br /&gt;
% --- Visualización ---&lt;br /&gt;
figure;&lt;br /&gt;
hold on; axis equal; grid off;&lt;br /&gt;
set(gcf,'Color','w');&lt;br /&gt;
&lt;br /&gt;
contourf(X, Y, curl_abs, 30, 'LineStyle','none');&lt;br /&gt;
colorbar;&lt;br /&gt;
colormap(parula);&lt;br /&gt;
&lt;br /&gt;
title('|∇×u| en el sólido');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
&lt;br /&gt;
% --- Marcar máximo explícitamente en (0,2) ---&lt;br /&gt;
xmax = 0;&lt;br /&gt;
ymax = 2;&lt;br /&gt;
plot(xmax, ymax, 'r*', 'MarkerSize', 14, 'LineWidth', 2);&lt;br /&gt;
text(xmax+0.05, ymax, '  Máximo rotacional (0,2)', 'Color','r','FontSize',10);&lt;br /&gt;
&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Tensiones tangenciales respecto al plano ortogonal &amp;lt;math&amp;gt;\vec{e}_{\rho}&amp;lt;/math&amp;gt; ==&lt;br /&gt;
[[Archivo:apartado_9.jpg|500px|thumb|right|Tensiones tangenciales]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% TENSIONES TANGENCIALES&lt;br /&gt;
clear; clc; close all;&lt;br /&gt;
&lt;br /&gt;
% --- 1. GEOMETRÍA ---&lt;br /&gt;
rho_vec = 1:0.01:2;&lt;br /&gt;
theta_vec = 0:0.01:pi;&lt;br /&gt;
[R, Th] = meshgrid(rho_vec, theta_vec);&lt;br /&gt;
&lt;br /&gt;
X = R .* cos(Th);&lt;br /&gt;
Y = R .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
% --- 2. CÁLCULO DE LA TENSIÓN ---&lt;br /&gt;
Tau = (1/5) * (2*R.^2 - R) .* sin(Th);&lt;br /&gt;
Tau_Mag = abs(Tau);&lt;br /&gt;
&lt;br /&gt;
% --- 3. VISUALIZACIÓN ---&lt;br /&gt;
figure(9); clf; hold on; axis equal;&lt;br /&gt;
set(gcf, 'Color', 'w');&lt;br /&gt;
title('Tensión tangencial');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
&lt;br /&gt;
contourf(X, Y, Tau_Mag, 50, 'LineStyle', 'none');&lt;br /&gt;
c = colorbar;&lt;br /&gt;
ylabel(c,'Esfuerzo de Corte (Pa)');&lt;br /&gt;
&lt;br /&gt;
% --- 4. Colormap amplio AZUL → ROJO (256 tonos) ---&lt;br /&gt;
n = 256;&lt;br /&gt;
azul = [0 0 1];       % azul puro&lt;br /&gt;
rojo = [1 0 0];       % rojo puro&lt;br /&gt;
cmap = [linspace(azul(1), rojo(1), n)', ...&lt;br /&gt;
        linspace(azul(2), rojo(2), n)', ...&lt;br /&gt;
        linspace(azul(3), rojo(3), n)'];&lt;br /&gt;
colormap(cmap);&lt;br /&gt;
&lt;br /&gt;
% --- 5. Bordes exteriores en negro ---&lt;br /&gt;
t_border = 0:0.001:pi;&lt;br /&gt;
plot(2*cos(t_border),2*sin(t_border),'k','LineWidth',2);&lt;br /&gt;
plot(1*cos(t_border),1*sin(t_border),'k','LineWidth',2);&lt;br /&gt;
plot([-2,-1],[0,0],'k','LineWidth',2);&lt;br /&gt;
plot([1,2],[0,0],'k','LineWidth',2);&lt;br /&gt;
&lt;br /&gt;
% --- 6. Punto de máxima tensión ---&lt;br /&gt;
max_val = max(Tau_Mag(:));&lt;br /&gt;
[fr, fc] = find(Tau_Mag == max_val, 1);&lt;br /&gt;
plot(X(fr,fc),Y(fr,fc),'wx','LineWidth',2,'MarkerSize',10);&lt;br /&gt;
text(X(fr,fc),Y(fr,fc)+0.1,'Máx','Color','w','FontWeight','bold');&lt;br /&gt;
&lt;br /&gt;
axis([-2.2 2.2 0 2.2]);&lt;br /&gt;
grid off;&lt;br /&gt;
hold off;&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Tensiones tangenciales respecto al plano ortogonal &amp;lt;math&amp;gt;\frac{1}{\rho} \vec{e}_{\theta}&amp;lt;/math&amp;gt; ==&lt;br /&gt;
[[Archivo:apartado.10.png|500px|thumb|right|Tensiones tangenciales]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear; clc; close all;&lt;br /&gt;
&lt;br /&gt;
%% --- 1. Mallado polar del sólido (corona semicircular) ---&lt;br /&gt;
h = 0.02;                 % paso fino&lt;br /&gt;
rho_min = 1;&lt;br /&gt;
rho_max = 2;&lt;br /&gt;
theta_min = 0;&lt;br /&gt;
theta_max = pi;&lt;br /&gt;
&lt;br /&gt;
rho_vec = rho_min:h:rho_max;&lt;br /&gt;
theta_vec = theta_min:h:theta_max;&lt;br /&gt;
&lt;br /&gt;
[R, Th] = meshgrid(rho_vec, theta_vec);&lt;br /&gt;
&lt;br /&gt;
% Conversión a cartesianas&lt;br /&gt;
X = R .* cos(Th);&lt;br /&gt;
Y = R .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
%% --- 2. Campo u = u_theta * e_theta ---&lt;br /&gt;
u_theta = (1/5) * (R - 1) .* R.^2 .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
% Cálculo del rotacional (componente z en 2D, analítico)&lt;br /&gt;
curl_z = (1/5) .* R .* (4.*R - 3) .* sin(Th);&lt;br /&gt;
curl_abs = abs(curl_z);&lt;br /&gt;
&lt;br /&gt;
%% --- 3. Gráfica del rotacional (sin flechas) ---&lt;br /&gt;
figure;&lt;br /&gt;
hold on;&lt;br /&gt;
axis equal;&lt;br /&gt;
grid off;&lt;br /&gt;
set(gcf,'Color','w');&lt;br /&gt;
&lt;br /&gt;
% Mapa de calor del rotacional&lt;br /&gt;
contourf(X, Y, curl_abs, 40, 'LineStyle','none');&lt;br /&gt;
colorbar;&lt;br /&gt;
clim([0 2]);      % forzamos rango para que el máximo destaque bien&lt;br /&gt;
colormap turbo;&lt;br /&gt;
&lt;br /&gt;
title('Tension tangencial apartado 10');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
&lt;br /&gt;
% Borde del sólido&lt;br /&gt;
plot(rho_max*cos(theta_vec), rho_max*sin(theta_vec), 'k','LineWidth',1.8);&lt;br /&gt;
plot(rho_min*cos(theta_vec), rho_min*sin(theta_vec), 'k','LineWidth',1.8);&lt;br /&gt;
plot([-rho_max -rho_min], [0 0], 'k','LineWidth',1.8);&lt;br /&gt;
plot([rho_min rho_max], [0 0], 'k','LineWidth',1.8);&lt;br /&gt;
&lt;br /&gt;
%  Marcar punto de máximo explícitamente en (0,2) en blanco&lt;br /&gt;
xmax = 0;&lt;br /&gt;
ymax = 2;&lt;br /&gt;
plot(xmax, ymax, 'w*', 'MarkerSize', 15, 'LineWidth', 2);&lt;br /&gt;
text(xmax+0.05, ymax-0.1, '  Máximo', 'Color','w','FontSize',11,'FontWeight','bold');&lt;br /&gt;
&lt;br /&gt;
hold off;&lt;br /&gt;
&lt;br /&gt;
%% --- 4. Mostrar valor numérico máximo en consola ---&lt;br /&gt;
fprintf('Máximo de |∇×u| = %.5g en (0,2)\n', curl_abs(find(X==0 &amp;amp; abs(Y-2)&amp;lt;1e-6, 1)));&lt;br /&gt;
&lt;br /&gt;
disp('El punto con mayor rotacional es (0,2)');&lt;br /&gt;
disp('Porque |∇×u| crece con ρ y es máximo cuando sinθ = 1 (θ = π/2) y ρ = 2');&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Cálculo de la masa aproximando la integral numéricamente==&lt;br /&gt;
La masa se calcula con la siguiente integral: M = ∫∫ d(ρ, θ) dA&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El dominio es [1,2]x[0,pi] y por tanto los límites de integración serán:&lt;br /&gt;
&lt;br /&gt;
Límete de rho: 1 ≤ ρ ≤ 2&lt;br /&gt;
&lt;br /&gt;
Límite de theta: 0 ≤ θ ≤ π&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El diferencial de área (Jacobiano) es: dA = ρ dρ dθ&lt;br /&gt;
&lt;br /&gt;
La densidad viene dada por: d(ρ, θ) = 1 + e^(ρ² cos θ)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por último la masa se calculará de la siguiente manera: &lt;br /&gt;
&lt;br /&gt;
M = ∫(de 0 a π) ∫(de 1 a 2) [1 + e^(ρ² cos θ)] · ρ dρ dθ = 26.26 u²&lt;br /&gt;
&lt;br /&gt;
== Interpretación del trabajo ==&lt;br /&gt;
&lt;br /&gt;
En el Trabajo K se modela una onda transversal en una placa rectangular mediante el campo de desplazamientos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{u}(x,y,t)=\vec{a}\cos(\vec{b}\cdot\vec{r}_0 - c t)&amp;lt;/math&amp;gt; con:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{a}=\frac{1}{10}\vec{i}&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{b}=\pi\vec{j}&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;t=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Esto se puede interpretar como una onda de corte (onda S) que se propaga en un medio elástico, como la corteza terrestre durante un terremoto.&lt;br /&gt;
Las ondas S (secundarias o de corte) son ondas transversales, en las que las partículas del material vibran perpendicularmente a la dirección de propagación de la onda.&lt;br /&gt;
&lt;br /&gt;
En este caso, la dirección de propagación es la del vector:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{b}=\pi\vec{j}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(eje 𝑦 y) y la vibración es en la dirección:&amp;lt;math&amp;gt;\vec{i}&amp;lt;/math&amp;gt;(eje 𝑥 x), lo cual es típico de ondas S con polarización horizontal (onda SH).&lt;br /&gt;
Aplicación al Trabajo M (arco entre radios 1 y 2)&lt;br /&gt;
En el Trabajo M, el dominio es un sector de arco en coordenadas polares(𝜌,𝜃)(ρ,θ), con:&amp;lt;math&amp;gt;\rho\in[1,2]&amp;lt;/math&amp;gt; y el campo de desplazamientos es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{u}(\rho,\theta)=\frac{1}{5}(\rho-1)\rho^{2}\sin\theta\,\vec{e}_\theta&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Este campo representa un desplazamiento puramente tangencial: &amp;lt;math&amp;gt;\vec{e}_\theta&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
que también corresponde a una onda de corte pero en geometría curvilínea.&lt;br /&gt;
En sismología, las ondas S pueden viajar a lo largo de estructuras curvas en la corteza, como capas geológicas curvadas o interfaces entre materiales.&lt;br /&gt;
&lt;br /&gt;
El factor:&amp;lt;math&amp;gt;(\rho-1)\rho^{2}\sin\theta&amp;lt;/math&amp;gt; indica que el desplazamiento es máximo en la parte exterior del arco: &amp;lt;math&amp;gt;\rho = 2&amp;lt;/math&amp;gt; y varía sinusoidalmente con:&amp;lt;math&amp;gt;\theta&amp;lt;/math&amp;gt; lo que podría modelar una onda estacionaria o forzada en una placa curvada.&lt;br /&gt;
&lt;br /&gt;
Relación con la temperatura&lt;br /&gt;
&lt;br /&gt;
En ambos trabajos se incluye un campo de temperatura: &amp;lt;math&amp;gt;T(x,y)=(x-y)^2&amp;lt;/math&amp;gt; que en el Trabajo M debe expresarse en coordenadas polares:&amp;lt;math&amp;gt;x=\rho\cos\theta&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y=\rho\sin\theta&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sustituyendo: &amp;lt;math&amp;gt;T(\rho,\theta)=\rho^{2}(\cos\theta - \sin\theta)^2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Esta temperatura podría representar gradientes térmicos en la corteza debidos a fuentes geotérmicas, que afectan a las propiedades elásticas del medio y, por tanto, a la propagación de ondas sísmicas.&lt;br /&gt;
&lt;br /&gt;
Conclusión&lt;br /&gt;
&lt;br /&gt;
El Trabajo M puede interpretarse como el estudio de ondas de corte (S) en una región curvilínea de la corteza terrestre, como un arco de falla o una capa geológica curvada, donde los desplazamientos son transversales a la dirección radial.&lt;br /&gt;
&lt;br /&gt;
La inclusión del campo de temperatura:&amp;lt;math&amp;gt;T(\rho,\theta)=\rho^{2}(\cos\theta - \sin\theta)^2&amp;lt;/math&amp;gt; permite analizar cómo los gradientes térmicos influyen en la deformación y propagación de ondas en estructuras geológicas reales, algo relevante en sismología y geofísica.&lt;/div&gt;</summary>
		<author><name>Álvaro Villar</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Mallado_Arco_1_(grupo_59)&amp;diff=97318</id>
		<title>Mallado Arco 1 (grupo 59)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Mallado_Arco_1_(grupo_59)&amp;diff=97318"/>
				<updated>2025-12-03T17:38:02Z</updated>
		
		<summary type="html">&lt;p&gt;Álvaro Villar: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Arco1. Grupo 59 | [[:Categoría:Teoría de Campos|Teoría de Campos]]|[[:Categoría:TC25/26|2025-26]] | &lt;br /&gt;
*Guillermo Pineros Quero&lt;br /&gt;
*Ignacio Sueiras Oviedo&lt;br /&gt;
*Francisco Yusep Saiz Cebrián&lt;br /&gt;
*Álvaro Villar Rosado&lt;br /&gt;
*Javier Ruiz Sáenz de Jubera}}&lt;br /&gt;
[[Categoría:Teoría de Campos]]&lt;br /&gt;
[[Categoría:TC25/26]]&lt;br /&gt;
==Introducción==&lt;br /&gt;
&amp;quot;En este artículo se examina el proceso de parametrización y mallado de una placa plana 2D con forma de arco circular (anillo), delimitada por un radio interior de 1 y uno exterior de 2. Definimos dos variables físicas sobre esta geometría: la temperatura $T(x,y)$ en coordenadas cartesianas y un vector de desplazamientos $\vec{u}(\rho,\theta)$ en coordenadas cilíndricas. La temperatura se rige por la función $T(x,y)=(x-y)^2$, mientras que los desplazamientos obedecen a:$$\vec{u} = \frac{1}{5} (\rho-1)\rho^2 \cos\theta(\vec{e}_\theta)$$El objetivo principal es formalizar la descripción del dominio y sus funciones para facilitar el análisis numérico mediante discretización. El texto se complementa con códigos de MATLAB, fotografías y representaciones gráficas en cada apartado.&amp;quot;&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align:center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{u}(\rho,\theta)=\frac{1}{5}(\rho - 1)\rho^{2}\sin\theta\,\vec{e}_{\theta}&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Mallado del arco ==&lt;br /&gt;
El mallado de un arco consiste en dividir su superficie en puntos organizados, lo que permite describir su geometría y analizar cómo cambian diferentes magnitudes dentro de él.&lt;br /&gt;
El arco está comprendido entre los radios de valor 1 y 2, que al pasarlo a coordenadas polares la región estará definida por rho(ρ) y theta(θ) y sus valores [1,2]x[0,π]&lt;br /&gt;
&lt;br /&gt;
=== Representación del mallado ===&lt;br /&gt;
[[Archivo:mallado.del.arco.png|500px|thumb|right|]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Mallado del arco alineado&lt;br /&gt;
&lt;br /&gt;
% Elegimos divisiones que garanticen que:&lt;br /&gt;
% θ = 0, pi/2, pi están incluidos &lt;br /&gt;
% r incluye exactamente 1 y 2    &lt;br /&gt;
&lt;br /&gt;
theta = linspace(0, pi, 20);   % mallado moderado, incluye 0, pi/2 y pi&lt;br /&gt;
r = linspace(1, 2, 15);        % radios exactos 1 y 2&lt;br /&gt;
&lt;br /&gt;
[R, TH] = meshgrid(r, theta);&lt;br /&gt;
&lt;br /&gt;
% Convertir a coordenadas cartesianas&lt;br /&gt;
X = R .* cos(TH);&lt;br /&gt;
Y = R .* sin(TH);&lt;br /&gt;
&lt;br /&gt;
figure;&lt;br /&gt;
hold on;&lt;br /&gt;
&lt;br /&gt;
col = [0.3 0.6 1];  % azul clarito&lt;br /&gt;
&lt;br /&gt;
% Mallado tipo red (más grueso) &lt;br /&gt;
plot(X,  Y, 'Color', col, 'LineWidth', 1.1);   % líneas en theta&lt;br /&gt;
plot(X', Y', 'Color', col, 'LineWidth', 1.1);  % líneas en r&lt;br /&gt;
&lt;br /&gt;
% Contornos superior interior y exterior &lt;br /&gt;
theta_cont = linspace(0, pi, 400);&lt;br /&gt;
&lt;br /&gt;
plot(1*cos(theta_cont), 1*sin(theta_cont), 'Color', col, 'LineWidth', 2);&lt;br /&gt;
plot(2*cos(theta_cont), 2*sin(theta_cont), 'Color', col, 'LineWidth', 2);&lt;br /&gt;
&lt;br /&gt;
% Bases &lt;br /&gt;
plot([-1 -2], [0 0], 'Color', col, 'LineWidth', 2);  % base izquierda&lt;br /&gt;
plot([ 1  2], [0 0], 'Color', col, 'LineWidth', 2);  % base derecha&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% Ajustes&lt;br /&gt;
axis equal&lt;br /&gt;
grid on&lt;br /&gt;
title('Mallado del arco')&lt;br /&gt;
xlabel('x')&lt;br /&gt;
ylabel('y')&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==  Temperatura en el arco  ==&lt;br /&gt;
La temperatura del sólido proviene de un foco de calor muy concentrado en los puntos&lt;br /&gt;
que están a distancia 1 del origen. La función es: '''&amp;lt;big&amp;gt;𝑇(𝑥, 𝑦) = (𝑥 − 𝑦)&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;&amp;lt;/big&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
=== Código ===&lt;br /&gt;
[[Archivo:funciontemperatura.png|500px|thumb|right|Representación de la temperatura en el arco]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Mallado del arco&lt;br /&gt;
theta = linspace(0, pi, 200);   % más denso para curva suave&lt;br /&gt;
r = linspace(1, 2, 200);        % radio interior 1, exterior 2&lt;br /&gt;
[R, TH] = meshgrid(r, theta);&lt;br /&gt;
&lt;br /&gt;
% Convertir a cartesianas&lt;br /&gt;
X = R .* cos(TH);&lt;br /&gt;
Y = R .* sin(TH);&lt;br /&gt;
&lt;br /&gt;
% Funcion temperatura&lt;br /&gt;
T = (X - Y).^2;&lt;br /&gt;
&lt;br /&gt;
% Representación 2D&lt;br /&gt;
figure;&lt;br /&gt;
pcolor(X, Y, T);     % representación 2D en colores&lt;br /&gt;
shading interp       % suavizado del color&lt;br /&gt;
colormap(jet)&lt;br /&gt;
colorbar;&lt;br /&gt;
&lt;br /&gt;
title('Temperatura T(x,y) = (x - y)^2 sobre el arco')&lt;br /&gt;
xlabel('x')&lt;br /&gt;
ylabel('y')&lt;br /&gt;
axis equal           % mantiene proporciones reales&lt;br /&gt;
hold on&lt;br /&gt;
&lt;br /&gt;
%% Contorno negro del arco &lt;br /&gt;
theta_cont = linspace(0, pi, 400);&lt;br /&gt;
&lt;br /&gt;
% Borde interior&lt;br /&gt;
plot(1*cos(theta_cont), 1*sin(theta_cont), 'k-', 'LineWidth', 1);&lt;br /&gt;
&lt;br /&gt;
% Borde exterior&lt;br /&gt;
plot(2*cos(theta_cont), 2*sin(theta_cont), 'k-', 'LineWidth', 1);&lt;br /&gt;
&lt;br /&gt;
% Radio izquierdo&lt;br /&gt;
plot([1 2]*cos(0), [1 2]*sin(0), 'k-', 'LineWidth', 1);&lt;br /&gt;
&lt;br /&gt;
% Radio derecho&lt;br /&gt;
plot([1 2]*cos(pi), [1 2]*sin(pi), 'k-', 'LineWidth', 1);&lt;br /&gt;
&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Gradiente de temperatura ==&lt;br /&gt;
===Cálculo del gradiente===&lt;br /&gt;
El gradiente de una función escalar (∇f) es un campo vectorial cuyas componentes son las derivadas parciales de la función. Geométricamente, el vector gradiente apunta en la dirección de máximo crecimiento de la función y es ortogonal a sus curvas de nivel.&lt;br /&gt;
&lt;br /&gt;
La fórmula para calcularlo es: &lt;br /&gt;
&lt;br /&gt;
∇f(x,y) = ( ∂f/∂x , ∂f/∂y )&lt;br /&gt;
&lt;br /&gt;
Como la temperatura viene dada por la siguiente fórmula: &lt;br /&gt;
&lt;br /&gt;
T(x, y) = (x - y)²&lt;br /&gt;
&lt;br /&gt;
El gradiente de temperatura será:&lt;br /&gt;
&lt;br /&gt;
∇T = (2(x - y), -2(x - y))&lt;br /&gt;
===Representación gráfica del gradiente===&lt;br /&gt;
[[Archivo:Gradiente apartado 3.png|500px|thumb|right|Gradiente de temperatura]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% Representación del gradiente&lt;br /&gt;
clc; clear; close all;&lt;br /&gt;
&lt;br /&gt;
% Dominio &lt;br /&gt;
rho_min = 1;  rho_max = 2;&lt;br /&gt;
th_min = 0;   th_max = pi;&lt;br /&gt;
&lt;br /&gt;
[Rho, Theta] = meshgrid(linspace(rho_min, rho_max, 100), ...&lt;br /&gt;
                        linspace(th_min, th_max, 200));&lt;br /&gt;
&lt;br /&gt;
% Convertimos a Cartesianas&lt;br /&gt;
X = Rho .* cos(Theta);&lt;br /&gt;
Y = Rho .* sin(Theta);&lt;br /&gt;
&lt;br /&gt;
%% 2. Definición de Temperatura y Gradiente&lt;br /&gt;
% Temperatura T = (x - y)^2&lt;br /&gt;
T_val = (X - Y).^2;&lt;br /&gt;
&lt;br /&gt;
% Cálculo del gradiente&lt;br /&gt;
Grad_X = 2 .* (X - Y);&lt;br /&gt;
Grad_Y = -2 .* (X - Y);&lt;br /&gt;
&lt;br /&gt;
% Representación gráfica&lt;br /&gt;
figure('Name', 'Trabajo M - Pregunta 3 (Estilo Suave)', 'Color', 'w');&lt;br /&gt;
hold on;&lt;br /&gt;
&lt;br /&gt;
contourf(X, Y, T_val, 50, 'LineStyle', 'none');&lt;br /&gt;
&lt;br /&gt;
% Creamos la gráfica&lt;br /&gt;
N = 256;&lt;br /&gt;
r = linspace(0.2, 1, N)'; &lt;br /&gt;
g = linspace(0.5, 1, N)';&lt;br /&gt;
b = linspace(1, 0, N)';   &lt;br /&gt;
mi_mapa = [r, g, b];      % Matriz de colores&lt;br /&gt;
&lt;br /&gt;
colormap(mi_mapa);&lt;br /&gt;
c = colorbar;&lt;br /&gt;
c.Label.String = 'Temperatura T = (x-y)^2';&lt;br /&gt;
&lt;br /&gt;
% Cantida de flechas&lt;br /&gt;
step_r = 8;  % Salta cada 8 puntos en el radio&lt;br /&gt;
step_t = 12; % Salta cada 12 puntos en el ángulo&lt;br /&gt;
&lt;br /&gt;
idx_r = 1:step_r:size(X,1);&lt;br /&gt;
idx_t = 1:step_t:size(X,2);&lt;br /&gt;
&lt;br /&gt;
% Dibujo flechas&lt;br /&gt;
quiver(X(idx_r, idx_t), Y(idx_r, idx_t), ...&lt;br /&gt;
       Grad_X(idx_r, idx_t), Grad_Y(idx_r, idx_t), ...&lt;br /&gt;
       'k', ...                 % Color negro flechas&lt;br /&gt;
       'LineWidth', 1.0, ...    % Grosor flechas&lt;br /&gt;
       'AutoScaleFactor', 0.8); % Tamaño flechas&lt;br /&gt;
&lt;br /&gt;
axis equal;&lt;br /&gt;
xlim([-2.5 2.5]); ylim([0 2.5]); % Márgenes &lt;br /&gt;
title('Gradiente sobre T');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
&lt;br /&gt;
box on; &lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
== Campo de Vectores ==&lt;br /&gt;
El campo vectorial viene dado por la siguiente fórmula: &lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align:center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{u}(\rho,\theta)=\frac{1}{5}(\rho - 1)\rho^{2}\sin\theta\,\vec{e}_{\theta}&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== código ===&lt;br /&gt;
[[Archivo:apartado.4.png|500px|thumb|right|Campo de vectores]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear; clc; close all;&lt;br /&gt;
&lt;br /&gt;
%% --- 1. Definir el mallado polar del sólido ---&lt;br /&gt;
h = 0.1;&lt;br /&gt;
rho_min = 1;&lt;br /&gt;
rho_max = 2;&lt;br /&gt;
theta_min = 0;&lt;br /&gt;
theta_max = pi;&lt;br /&gt;
&lt;br /&gt;
rho_vec   = rho_min:h:rho_max;&lt;br /&gt;
theta_vec = theta_min:h:theta_max;&lt;br /&gt;
&lt;br /&gt;
[R, Th] = meshgrid(rho_vec, theta_vec);&lt;br /&gt;
&lt;br /&gt;
% Convertir la malla a cartesianas (puntos del sólido)&lt;br /&gt;
X = R .* cos(Th);&lt;br /&gt;
Y = R .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
%% --- 2. Definir el campo vectorial u en e_theta ---&lt;br /&gt;
U_theta = (1/5) * (R - 1) .* R.^2 .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
% Componentes de los vectores unitarios e_theta en cartesianas&lt;br /&gt;
e_th_x = -sin(Th);&lt;br /&gt;
e_th_y =  cos(Th);&lt;br /&gt;
&lt;br /&gt;
% Convertir el campo a componentes cartesianas&lt;br /&gt;
U_x = U_theta .* e_th_x;&lt;br /&gt;
U_y = U_theta .* e_th_y;&lt;br /&gt;
&lt;br /&gt;
%% --- 3. Dibujar SOLO el campo vectorial u en los puntos de la malla ---&lt;br /&gt;
figure;&lt;br /&gt;
hold on;&lt;br /&gt;
axis equal;&lt;br /&gt;
grid off;&lt;br /&gt;
set(gcf,'Color','w');&lt;br /&gt;
&lt;br /&gt;
% Dibujar las flechas del campo vectorial u&lt;br /&gt;
quiver(X, Y, U_x, U_y, 'b', 'LineWidth', 1.2, 'MaxHeadSize', 0.6);&lt;br /&gt;
&lt;br /&gt;
%% --- 4. Dibujar el borde del sólido con UNA línea negra ---&lt;br /&gt;
% Lado 1: arco exterior&lt;br /&gt;
plot(rho_max*cos(theta_vec), rho_max*sin(theta_vec), 'k', 'LineWidth', 2);&lt;br /&gt;
&lt;br /&gt;
% Lado 2: arco interior&lt;br /&gt;
plot(rho_min*cos(theta_vec), rho_min*sin(theta_vec), 'k', 'LineWidth', 2);&lt;br /&gt;
&lt;br /&gt;
% Lado 3: cierre izquierdo (theta = pi)&lt;br /&gt;
plot([rho_min*cos(pi), rho_max*cos(pi)], [rho_min*sin(pi), rho_max*sin(pi)], 'k', 'LineWidth', 2);&lt;br /&gt;
&lt;br /&gt;
% Lado 4: cierre derecho (theta = 0)&lt;br /&gt;
plot([rho_min*cos(0), rho_max*cos(0)], [rho_min*sin(0), rho_max*sin(0)], 'k', 'LineWidth', 2);&lt;br /&gt;
&lt;br /&gt;
title('Campo \vec u sobre la malla del sólido (bordeado en negro)');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Dibujo del sólido antes y después del desplazamiento==&lt;br /&gt;
&lt;br /&gt;
===Código===&lt;br /&gt;
[[Archivo:grafica_1.png|500px|thumb|right|Gráfica 1]]&lt;br /&gt;
[[Archivo:Grafica_2.png|500px|thumb|right|Gráfica 2]]&lt;br /&gt;
[[Archivo:apartado.5.png|500px|thumb|right|Gráfica 3]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% Visualización de Deformación (Azul vs Rojo)&lt;br /&gt;
clear; clc; close all;&lt;br /&gt;
% --- 1. DATOS Y CÁLCULOS  ---&lt;br /&gt;
rho_vec = 1:0.1:2;&lt;br /&gt;
&lt;br /&gt;
% EL CAMBIO ESTÁ AQUÍ:&lt;br /&gt;
&lt;br /&gt;
theta_vec = [0:0.1:pi, pi]; &lt;br /&gt;
&lt;br /&gt;
[R, Th] = meshgrid(rho_vec, theta_vec);&lt;br /&gt;
&lt;br /&gt;
% Posición Inicial&lt;br /&gt;
X_ini = R .* cos(Th);&lt;br /&gt;
Y_ini = R .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
% Desplazamiento u (Trabajo M)&lt;br /&gt;
u_rho   = zeros(size(R));&lt;br /&gt;
u_theta = (1/5) * (R - 1) .* (R.^2) .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
UX = u_rho .* cos(Th) - u_theta .* sin(Th);&lt;br /&gt;
UY = u_rho .* sin(Th) + u_theta .* cos(Th);&lt;br /&gt;
&lt;br /&gt;
% Posición Final&lt;br /&gt;
X_fin = X_ini + UX;&lt;br /&gt;
Y_fin = Y_ini + UY;&lt;br /&gt;
&lt;br /&gt;
% ---  GENERACIÓN DE LAS GRÁFICAS ---&lt;br /&gt;
&lt;br /&gt;
% GRÁFICA 1: Posición Inicial&lt;br /&gt;
figure(1); clf; hold on; axis equal;&lt;br /&gt;
set(gcf, 'Color', 'w'); title('1. Posición Inicial (Sin deformar)');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
plot(X_ini, Y_ini, 'b', 'LineWidth', 1);&lt;br /&gt;
plot(X_ini', Y_ini', 'b', 'LineWidth', 1);&lt;br /&gt;
plot_borde(rho_vec, theta_vec, 'k', 2); &lt;br /&gt;
axis([-2.5 2.5 0 2.5]); grid on;&lt;br /&gt;
&lt;br /&gt;
% GRÁFICA 2: Posición Final&lt;br /&gt;
figure(2); clf; hold on; axis equal;&lt;br /&gt;
set(gcf, 'Color', 'w'); title('2. Posición Final (Deformada)');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
plot(X_fin, Y_fin, 'r', 'LineWidth', 1);&lt;br /&gt;
plot(X_fin', Y_fin', 'r', 'LineWidth', 1);&lt;br /&gt;
axis([-2.5 2.5 0 2.5]); grid on;&lt;br /&gt;
&lt;br /&gt;
% GRÁFICA 3: Superposición (AZUL vs ROJO)&lt;br /&gt;
figure(3); clf; hold on; axis equal;&lt;br /&gt;
set(gcf, 'Color', 'w'); title('3. Comparativa: Inicial vs Final');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
&lt;br /&gt;
% A) Inicial: AZUL&lt;br /&gt;
plot(X_ini, Y_ini, 'b', 'LineWidth', 1);&lt;br /&gt;
plot(X_ini', Y_ini', 'b', 'LineWidth', 1);&lt;br /&gt;
&lt;br /&gt;
% B) Final: ROJO&lt;br /&gt;
plot(X_fin, Y_fin, 'r', 'LineWidth', 1.2);&lt;br /&gt;
plot(X_fin', Y_fin', 'r', 'LineWidth', 1.2);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% --- Función para bordes ---&lt;br /&gt;
function plot_borde(r_v, t_v, col, ancho)&lt;br /&gt;
    plot(r_v(end)*cos(t_v), r_v(end)*sin(t_v), col, 'LineWidth', ancho);&lt;br /&gt;
    plot(r_v(1)*cos(t_v), r_v(1)*sin(t_v), col, 'LineWidth', ancho);&lt;br /&gt;
    plot([r_v(1) r_v(end)]*cos(t_v(1)), [r_v(1) r_v(end)]*sin(t_v(1)), col, 'LineWidth', ancho);&lt;br /&gt;
    plot([r_v(1) r_v(end)]*cos(t_v(end)), [r_v(1) r_v(end)]*sin(t_v(end)), col, 'LineWidth', ancho);&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Divergencia==&lt;br /&gt;
[[Archivo:apartado.6.png|500px|thumb|right|Divergencia]]&lt;br /&gt;
===Definición de la divergencia===&lt;br /&gt;
La divergencia de un campo vectorial &amp;lt;math&amp;gt;\nabla \cdot \vec{u}&amp;lt;/math&amp;gt; en un punto dado es una medida de la tasa a la que el flujo del campo se está expandiendo (saliendo) o contrayendo (entrando) en ese punto.&lt;br /&gt;
&lt;br /&gt;
Es un valor escalar que te dice qué tan fuerte es una fuente o un sumidero de flujo en ese lugar. Para calcular la divergencia en coordenadas cilíndricas se utiliza la siguiente fórmula:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\nabla \cdot \vec{U} = \frac{1}{\rho}\left[ \frac{\partial}{\partial \rho}(\rho U_{\rho}) + \frac{\partial U_{\theta}}{\partial \theta} + \frac{\partial}{\partial z}(\rho U_{z}) \right]&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reemplazando los valores del campo en las posiciones de U, obtenemos la siguiente expresión:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\nabla \cdot \vec{U}&lt;br /&gt;
= \frac{1}{\rho}\left[&lt;br /&gt;
\frac{\partial}{\partial \rho}(0)&lt;br /&gt;
+ \frac{\partial}{\partial \theta}\!\left(\frac{1}{5}(\rho - 1)\rho^{2}\sin\theta\right)&lt;br /&gt;
+ \frac{\partial}{\partial z}(0)&lt;br /&gt;
\right]&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El resultado final de la divergencia es el siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\nabla \cdot \vec{U}&lt;br /&gt;
= \frac{1}{5}(\rho - 1)\,\rho\,\cos\theta&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Código y representación===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% DIVERGENCIA &lt;br /&gt;
&lt;br /&gt;
clear; clc; close all;&lt;br /&gt;
&lt;br /&gt;
% 1. Geometría&lt;br /&gt;
rho_vec = 1:0.05:2;          &lt;br /&gt;
theta_vec = [0:0.05:pi, pi]; &lt;br /&gt;
[R, Th] = meshgrid(rho_vec, theta_vec);&lt;br /&gt;
&lt;br /&gt;
% Paso a cartesianas solo para pintar (X, Y)&lt;br /&gt;
X = R .* cos(Th);&lt;br /&gt;
Y = R .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
% 2. Cálculo de la Divergencia&lt;br /&gt;
% Fórmula: (1/5) * (rho^2 - rho) * cos(theta)&lt;br /&gt;
Div = (1/5) * (R.^2 - R) .* cos(Th);&lt;br /&gt;
&lt;br /&gt;
% 3. Visualización&lt;br /&gt;
figure(7); clf; hold on; axis equal;&lt;br /&gt;
set(gcf, 'Color', 'w');&lt;br /&gt;
title('Divergencia: Expansión y Compresión');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
&lt;br /&gt;
% mapa de colores&lt;br /&gt;
[C, h] = contourf(X, Y, Div, 30, 'LineStyle', 'none');&lt;br /&gt;
&lt;br /&gt;
% Barra de color&lt;br /&gt;
cb = colorbar;&lt;br /&gt;
ylabel(cb, 'Cambio de Volumen');&lt;br /&gt;
&lt;br /&gt;
% borde negro&lt;br /&gt;
plot_borde(rho_vec, theta_vec, 'k', 2);&lt;br /&gt;
&lt;br /&gt;
% Definimos un mapa de colores &amp;quot;Divergente&amp;quot; (Rojo-Azul)&lt;br /&gt;
%Azul para compresión, Rojo para expansión&lt;br /&gt;
colormap(redbluecmap); &lt;br /&gt;
&lt;br /&gt;
axis([-2.5 2.5 0 2.5]); &lt;br /&gt;
grid off;&lt;br /&gt;
&lt;br /&gt;
% --- Función Borde  ---&lt;br /&gt;
function plot_borde(r_v, t_v, col, ancho)&lt;br /&gt;
    plot(r_v(end)*cos(t_v), r_v(end)*sin(t_v), col, 'LineWidth', ancho);&lt;br /&gt;
    plot(r_v(1)*cos(t_v), r_v(1)*sin(t_v), col, 'LineWidth', ancho);&lt;br /&gt;
    plot([r_v(1) r_v(end)]*cos(t_v(1)), [r_v(1) r_v(end)]*sin(t_v(1)), col, 'LineWidth', ancho);&lt;br /&gt;
    plot([r_v(1) r_v(end)]*cos(t_v(end)), [r_v(1) r_v(end)]*sin(t_v(end)), col, 'LineWidth', ancho);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Rotacional ==&lt;br /&gt;
El rotacional de un campo vectorial &amp;lt;math&amp;gt;|\nabla \times \vec{u}|&amp;lt;/math&amp;gt; mide cuánto y en qué dirección tiende a girar el campo, es decir, si el campo hace que una partícula colocada en él empiece a rotar. Si el rotacional es distinto de 0 entonces la partícula rotará, en cambio si el rotacional es igual a 0 entonces la partícula no rotará. &lt;br /&gt;
=== Código ===&lt;br /&gt;
[[Archivo:apartado.7.png|500px|thumb|right|Rotacional]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear; clc; close all;&lt;br /&gt;
&lt;br /&gt;
% Parámetros del sólido (anillo semicircular)&lt;br /&gt;
h = 0.02;&lt;br /&gt;
rho_min = 1;&lt;br /&gt;
rho_max = 2;&lt;br /&gt;
theta_min = 0;&lt;br /&gt;
theta_max = pi;&lt;br /&gt;
&lt;br /&gt;
rho_vec   = rho_min:h:rho_max;&lt;br /&gt;
theta_vec = theta_min:h:theta_max;&lt;br /&gt;
[R, Th] = meshgrid(rho_vec, theta_vec);&lt;br /&gt;
&lt;br /&gt;
% Coordenadas cartesianas&lt;br /&gt;
X = R .* cos(Th);&lt;br /&gt;
Y = R .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
% Magnitud del rotacional&lt;br /&gt;
curl_z = (1/5) .* R .* (4.*R - 3) .* sin(Th);&lt;br /&gt;
curl_abs = abs(curl_z);&lt;br /&gt;
&lt;br /&gt;
% --- Visualización ---&lt;br /&gt;
figure;&lt;br /&gt;
hold on; axis equal; grid off;&lt;br /&gt;
set(gcf,'Color','w');&lt;br /&gt;
&lt;br /&gt;
contourf(X, Y, curl_abs, 30, 'LineStyle','none');&lt;br /&gt;
colorbar;&lt;br /&gt;
colormap(parula);&lt;br /&gt;
&lt;br /&gt;
title('|∇×u| en el sólido');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
&lt;br /&gt;
% --- Marcar máximo explícitamente en (0,2) ---&lt;br /&gt;
xmax = 0;&lt;br /&gt;
ymax = 2;&lt;br /&gt;
plot(xmax, ymax, 'r*', 'MarkerSize', 14, 'LineWidth', 2);&lt;br /&gt;
text(xmax+0.05, ymax, '  Máximo rotacional (0,2)', 'Color','r','FontSize',10);&lt;br /&gt;
&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Tensiones tangenciales respecto al plano ortogonal &amp;lt;math&amp;gt;\vec{e}_{\rho}&amp;lt;/math&amp;gt; ==&lt;br /&gt;
[[Archivo:apartado_9.jpg|500px|thumb|right|Tensiones tangenciales]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% TENSIONES TANGENCIALES&lt;br /&gt;
clear; clc; close all;&lt;br /&gt;
&lt;br /&gt;
% --- 1. GEOMETRÍA ---&lt;br /&gt;
rho_vec = 1:0.01:2;&lt;br /&gt;
theta_vec = 0:0.01:pi;&lt;br /&gt;
[R, Th] = meshgrid(rho_vec, theta_vec);&lt;br /&gt;
&lt;br /&gt;
X = R .* cos(Th);&lt;br /&gt;
Y = R .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
% --- 2. CÁLCULO DE LA TENSIÓN ---&lt;br /&gt;
Tau = (1/5) * (2*R.^2 - R) .* sin(Th);&lt;br /&gt;
Tau_Mag = abs(Tau);&lt;br /&gt;
&lt;br /&gt;
% --- 3. VISUALIZACIÓN ---&lt;br /&gt;
figure(9); clf; hold on; axis equal;&lt;br /&gt;
set(gcf, 'Color', 'w');&lt;br /&gt;
title('Tensión tangencial');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
&lt;br /&gt;
contourf(X, Y, Tau_Mag, 50, 'LineStyle', 'none');&lt;br /&gt;
c = colorbar;&lt;br /&gt;
ylabel(c,'Esfuerzo de Corte (Pa)');&lt;br /&gt;
&lt;br /&gt;
% --- 4. Colormap amplio AZUL → ROJO (256 tonos) ---&lt;br /&gt;
n = 256;&lt;br /&gt;
azul = [0 0 1];       % azul puro&lt;br /&gt;
rojo = [1 0 0];       % rojo puro&lt;br /&gt;
cmap = [linspace(azul(1), rojo(1), n)', ...&lt;br /&gt;
        linspace(azul(2), rojo(2), n)', ...&lt;br /&gt;
        linspace(azul(3), rojo(3), n)'];&lt;br /&gt;
colormap(cmap);&lt;br /&gt;
&lt;br /&gt;
% --- 5. Bordes exteriores en negro ---&lt;br /&gt;
t_border = 0:0.001:pi;&lt;br /&gt;
plot(2*cos(t_border),2*sin(t_border),'k','LineWidth',2);&lt;br /&gt;
plot(1*cos(t_border),1*sin(t_border),'k','LineWidth',2);&lt;br /&gt;
plot([-2,-1],[0,0],'k','LineWidth',2);&lt;br /&gt;
plot([1,2],[0,0],'k','LineWidth',2);&lt;br /&gt;
&lt;br /&gt;
% --- 6. Punto de máxima tensión ---&lt;br /&gt;
max_val = max(Tau_Mag(:));&lt;br /&gt;
[fr, fc] = find(Tau_Mag == max_val, 1);&lt;br /&gt;
plot(X(fr,fc),Y(fr,fc),'wx','LineWidth',2,'MarkerSize',10);&lt;br /&gt;
text(X(fr,fc),Y(fr,fc)+0.1,'Máx','Color','w','FontWeight','bold');&lt;br /&gt;
&lt;br /&gt;
axis([-2.2 2.2 0 2.2]);&lt;br /&gt;
grid off;&lt;br /&gt;
hold off;&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Tensiones tangenciales respecto al plano ortogonal &amp;lt;math&amp;gt;\frac{1}{\rho} \vec{e}_{\theta}&amp;lt;/math&amp;gt; ==&lt;br /&gt;
[[Archivo:apartado.10.png|500px|thumb|right|Tensiones tangenciales]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear; clc; close all;&lt;br /&gt;
&lt;br /&gt;
%% --- 1. Mallado polar del sólido (corona semicircular) ---&lt;br /&gt;
h = 0.02;                 % paso fino&lt;br /&gt;
rho_min = 1;&lt;br /&gt;
rho_max = 2;&lt;br /&gt;
theta_min = 0;&lt;br /&gt;
theta_max = pi;&lt;br /&gt;
&lt;br /&gt;
rho_vec = rho_min:h:rho_max;&lt;br /&gt;
theta_vec = theta_min:h:theta_max;&lt;br /&gt;
&lt;br /&gt;
[R, Th] = meshgrid(rho_vec, theta_vec);&lt;br /&gt;
&lt;br /&gt;
% Conversión a cartesianas&lt;br /&gt;
X = R .* cos(Th);&lt;br /&gt;
Y = R .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
%% --- 2. Campo u = u_theta * e_theta ---&lt;br /&gt;
u_theta = (1/5) * (R - 1) .* R.^2 .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
% Cálculo del rotacional (componente z en 2D, analítico)&lt;br /&gt;
curl_z = (1/5) .* R .* (4.*R - 3) .* sin(Th);&lt;br /&gt;
curl_abs = abs(curl_z);&lt;br /&gt;
&lt;br /&gt;
%% --- 3. Gráfica del rotacional (sin flechas) ---&lt;br /&gt;
figure;&lt;br /&gt;
hold on;&lt;br /&gt;
axis equal;&lt;br /&gt;
grid off;&lt;br /&gt;
set(gcf,'Color','w');&lt;br /&gt;
&lt;br /&gt;
% Mapa de calor del rotacional&lt;br /&gt;
contourf(X, Y, curl_abs, 40, 'LineStyle','none');&lt;br /&gt;
colorbar;&lt;br /&gt;
clim([0 2]);      % forzamos rango para que el máximo destaque bien&lt;br /&gt;
colormap turbo;&lt;br /&gt;
&lt;br /&gt;
title('Tension tangencial apartado 10');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
&lt;br /&gt;
% Borde del sólido&lt;br /&gt;
plot(rho_max*cos(theta_vec), rho_max*sin(theta_vec), 'k','LineWidth',1.8);&lt;br /&gt;
plot(rho_min*cos(theta_vec), rho_min*sin(theta_vec), 'k','LineWidth',1.8);&lt;br /&gt;
plot([-rho_max -rho_min], [0 0], 'k','LineWidth',1.8);&lt;br /&gt;
plot([rho_min rho_max], [0 0], 'k','LineWidth',1.8);&lt;br /&gt;
&lt;br /&gt;
%  Marcar punto de máximo explícitamente en (0,2) en blanco&lt;br /&gt;
xmax = 0;&lt;br /&gt;
ymax = 2;&lt;br /&gt;
plot(xmax, ymax, 'w*', 'MarkerSize', 15, 'LineWidth', 2);&lt;br /&gt;
text(xmax+0.05, ymax-0.1, '  Máximo', 'Color','w','FontSize',11,'FontWeight','bold');&lt;br /&gt;
&lt;br /&gt;
hold off;&lt;br /&gt;
&lt;br /&gt;
%% --- 4. Mostrar valor numérico máximo en consola ---&lt;br /&gt;
fprintf('Máximo de |∇×u| = %.5g en (0,2)\n', curl_abs(find(X==0 &amp;amp; abs(Y-2)&amp;lt;1e-6, 1)));&lt;br /&gt;
&lt;br /&gt;
disp('El punto con mayor rotacional es (0,2)');&lt;br /&gt;
disp('Porque |∇×u| crece con ρ y es máximo cuando sinθ = 1 (θ = π/2) y ρ = 2');&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Cálculo de la masa aproximando la integral numéricamente==&lt;br /&gt;
La masa se calcula con la siguiente integral: M = ∫∫ d(ρ, θ) dA&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El dominio es [1,2]x[0,pi] y por tanto los límites de integración serán:&lt;br /&gt;
&lt;br /&gt;
Límete de rho: 1 ≤ ρ ≤ 2&lt;br /&gt;
&lt;br /&gt;
Límite de theta: 0 ≤ θ ≤ π&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El diferencial de área (Jacobiano) es: dA = ρ dρ dθ&lt;br /&gt;
&lt;br /&gt;
La densidad viene dada por: d(ρ, θ) = 1 + e^(ρ² cos θ)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por último la masa se calculará de la siguiente manera: &lt;br /&gt;
&lt;br /&gt;
M = ∫(de 0 a π) ∫(de 1 a 2) [1 + e^(ρ² cos θ)] · ρ dρ dθ = 26.26 u²&lt;br /&gt;
&lt;br /&gt;
== Interpretación del trabajo ==&lt;br /&gt;
&lt;br /&gt;
En el Trabajo K se modela una onda transversal en una placa rectangular mediante el campo de desplazamientos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{u}(x,y,t)=\vec{a}\cos(\vec{b}\cdot\vec{r}_0 - c t)&amp;lt;/math&amp;gt; con:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{a}=\frac{1}{10}\vec{i}&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{b}=\pi\vec{j}&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;t=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Esto se puede interpretar como una onda de corte (onda S) que se propaga en un medio elástico, como la corteza terrestre durante un terremoto.&lt;br /&gt;
Las ondas S (secundarias o de corte) son ondas transversales, en las que las partículas del material vibran perpendicularmente a la dirección de propagación de la onda.&lt;br /&gt;
&lt;br /&gt;
En este caso, la dirección de propagación es la del vector:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{b}=\pi\vec{j}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(eje 𝑦 y) y la vibración es en la dirección:&amp;lt;math&amp;gt;\vec{i}&amp;lt;/math&amp;gt;(eje 𝑥 x), lo cual es típico de ondas S con polarización horizontal (onda SH).&lt;br /&gt;
Aplicación al Trabajo M (arco entre radios 1 y 2)&lt;br /&gt;
En el Trabajo M, el dominio es un sector de arco en coordenadas polares(𝜌,𝜃)(ρ,θ), con:&amp;lt;math&amp;gt;\rho\in[1,2]&amp;lt;/math&amp;gt; y el campo de desplazamientos es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{u}(\rho,\theta)=\frac{1}{5}(\rho-1)\rho^{2}\sin\theta\,\vec{e}_\theta&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Este campo representa un desplazamiento puramente tangencial: &amp;lt;math&amp;gt;\vec{e}_\theta&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
que también corresponde a una onda de corte pero en geometría curvilínea.&lt;br /&gt;
En sismología, las ondas S pueden viajar a lo largo de estructuras curvas en la corteza, como capas geológicas curvadas o interfaces entre materiales.&lt;br /&gt;
&lt;br /&gt;
El factor:&amp;lt;math&amp;gt;(\rho-1)\rho^{2}\sin\theta&amp;lt;/math&amp;gt; indica que el desplazamiento es máximo en la parte exterior del arco: &amp;lt;math&amp;gt;\rho = 2&amp;lt;/math&amp;gt; y varía sinusoidalmente con:&amp;lt;math&amp;gt;\theta&amp;lt;/math&amp;gt; lo que podría modelar una onda estacionaria o forzada en una placa curvada.&lt;br /&gt;
&lt;br /&gt;
Relación con la temperatura&lt;br /&gt;
&lt;br /&gt;
En ambos trabajos se incluye un campo de temperatura: &amp;lt;math&amp;gt;T(x,y)=(x-y)^2&amp;lt;/math&amp;gt; que en el Trabajo M debe expresarse en coordenadas polares:&amp;lt;math&amp;gt;x=\rho\cos\theta&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y=\rho\sin\theta&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sustituyendo: &amp;lt;math&amp;gt;T(\rho,\theta)=\rho^{2}(\cos\theta - \sin\theta)^2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Esta temperatura podría representar gradientes térmicos en la corteza debidos a fuentes geotérmicas, que afectan a las propiedades elásticas del medio y, por tanto, a la propagación de ondas sísmicas.&lt;br /&gt;
&lt;br /&gt;
Conclusión&lt;br /&gt;
&lt;br /&gt;
El Trabajo M puede interpretarse como el estudio de ondas de corte (S) en una región curvilínea de la corteza terrestre, como un arco de falla o una capa geológica curvada, donde los desplazamientos son transversales a la dirección radial.&lt;br /&gt;
&lt;br /&gt;
La inclusión del campo de temperatura:&amp;lt;math&amp;gt;T(\rho,\theta)=\rho^{2}(\cos\theta - \sin\theta)^2&amp;lt;/math&amp;gt; permite analizar cómo los gradientes térmicos influyen en la deformación y propagación de ondas en estructuras geológicas reales, algo relevante en sismología y geofísica.&lt;/div&gt;</summary>
		<author><name>Álvaro Villar</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Mallado_Arco_1_(grupo_59)&amp;diff=97241</id>
		<title>Mallado Arco 1 (grupo 59)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Mallado_Arco_1_(grupo_59)&amp;diff=97241"/>
				<updated>2025-12-03T17:20:49Z</updated>
		
		<summary type="html">&lt;p&gt;Álvaro Villar: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Arco1. Grupo 59 | [[:Categoría:Teoría de Campos|Teoría de Campos]]|[[:Categoría:TC25/26|2025-26]] | &lt;br /&gt;
*Guillermo Pineros Quero&lt;br /&gt;
*Ignacio Suegras Oviedo&lt;br /&gt;
*Francisco Yusep Saiz Cebrián&lt;br /&gt;
*Álvaro Villar Rosado&lt;br /&gt;
*Javier Ruiz Sáenz de Jubera}}&lt;br /&gt;
[[Categoría:Teoría de Campos]]&lt;br /&gt;
[[Categoría:TC25/26]]&lt;br /&gt;
==Introducción==&lt;br /&gt;
u⃗ (ρ,θ)=15(ρ−1)ρ2sinθe⃗ θ&lt;br /&gt;
== Mallado del arco ==&lt;br /&gt;
El mallado de un arco consiste en dividir su superficie en puntos organizados, lo que permite describir su geometría y analizar cómo cambian diferentes magnitudes dentro de él.&lt;br /&gt;
=== Representación del mallado ===&lt;br /&gt;
[[Archivo:mallado.del.arco.png|500px|thumb|right|]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Mallado del arco alineado&lt;br /&gt;
&lt;br /&gt;
% Elegimos divisiones que garanticen que:&lt;br /&gt;
% θ = 0, pi/2, pi están incluidos &lt;br /&gt;
% r incluye exactamente 1 y 2    &lt;br /&gt;
&lt;br /&gt;
theta = linspace(0, pi, 20);   % mallado moderado, incluye 0, pi/2 y pi&lt;br /&gt;
r = linspace(1, 2, 15);        % radios exactos 1 y 2&lt;br /&gt;
&lt;br /&gt;
[R, TH] = meshgrid(r, theta);&lt;br /&gt;
&lt;br /&gt;
% Convertir a coordenadas cartesianas&lt;br /&gt;
X = R .* cos(TH);&lt;br /&gt;
Y = R .* sin(TH);&lt;br /&gt;
&lt;br /&gt;
figure;&lt;br /&gt;
hold on;&lt;br /&gt;
&lt;br /&gt;
col = [0.3 0.6 1];  % azul clarito&lt;br /&gt;
&lt;br /&gt;
% Mallado tipo red (más grueso) &lt;br /&gt;
plot(X,  Y, 'Color', col, 'LineWidth', 1.1);   % líneas en theta&lt;br /&gt;
plot(X', Y', 'Color', col, 'LineWidth', 1.1);  % líneas en r&lt;br /&gt;
&lt;br /&gt;
% Contornos superior interior y exterior &lt;br /&gt;
theta_cont = linspace(0, pi, 400);&lt;br /&gt;
&lt;br /&gt;
plot(1*cos(theta_cont), 1*sin(theta_cont), 'Color', col, 'LineWidth', 2);&lt;br /&gt;
plot(2*cos(theta_cont), 2*sin(theta_cont), 'Color', col, 'LineWidth', 2);&lt;br /&gt;
&lt;br /&gt;
% Bases &lt;br /&gt;
plot([-1 -2], [0 0], 'Color', col, 'LineWidth', 2);  % base izquierda&lt;br /&gt;
plot([ 1  2], [0 0], 'Color', col, 'LineWidth', 2);  % base derecha&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% Ajustes&lt;br /&gt;
axis equal&lt;br /&gt;
grid on&lt;br /&gt;
title('Mallado del arco')&lt;br /&gt;
xlabel('x')&lt;br /&gt;
ylabel('y')&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==  Temperatura en el arco  ==&lt;br /&gt;
La temperatura del sólido proviene de un foco de calor muy concentrado en los puntos&lt;br /&gt;
que están a distancia 1 del origen. La función es: '''&amp;lt;big&amp;gt;𝑇(𝑥, 𝑦) = (𝑥 − 𝑦)&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;&amp;lt;/big&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
=== Código ===&lt;br /&gt;
[[Archivo:funciontemperatura.png|500px|thumb|right|Representación de la temperatura en el arco]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Mallado del arco&lt;br /&gt;
theta = linspace(0, pi, 200);   % más denso para curva suave&lt;br /&gt;
r = linspace(1, 2, 200);        % radio interior 1, exterior 2&lt;br /&gt;
[R, TH] = meshgrid(r, theta);&lt;br /&gt;
&lt;br /&gt;
% Convertir a cartesianas&lt;br /&gt;
X = R .* cos(TH);&lt;br /&gt;
Y = R .* sin(TH);&lt;br /&gt;
&lt;br /&gt;
% Funcion temperatura&lt;br /&gt;
T = (X - Y).^2;&lt;br /&gt;
&lt;br /&gt;
% Representación 2D&lt;br /&gt;
figure;&lt;br /&gt;
pcolor(X, Y, T);     % representación 2D en colores&lt;br /&gt;
shading interp       % suavizado del color&lt;br /&gt;
colormap(jet)&lt;br /&gt;
colorbar;&lt;br /&gt;
&lt;br /&gt;
title('Temperatura T(x,y) = (x - y)^2 sobre el arco')&lt;br /&gt;
xlabel('x')&lt;br /&gt;
ylabel('y')&lt;br /&gt;
axis equal           % mantiene proporciones reales&lt;br /&gt;
hold on&lt;br /&gt;
&lt;br /&gt;
%% Contorno negro del arco &lt;br /&gt;
theta_cont = linspace(0, pi, 400);&lt;br /&gt;
&lt;br /&gt;
% Borde interior&lt;br /&gt;
plot(1*cos(theta_cont), 1*sin(theta_cont), 'k-', 'LineWidth', 1);&lt;br /&gt;
&lt;br /&gt;
% Borde exterior&lt;br /&gt;
plot(2*cos(theta_cont), 2*sin(theta_cont), 'k-', 'LineWidth', 1);&lt;br /&gt;
&lt;br /&gt;
% Radio izquierdo&lt;br /&gt;
plot([1 2]*cos(0), [1 2]*sin(0), 'k-', 'LineWidth', 1);&lt;br /&gt;
&lt;br /&gt;
% Radio derecho&lt;br /&gt;
plot([1 2]*cos(pi), [1 2]*sin(pi), 'k-', 'LineWidth', 1);&lt;br /&gt;
&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Gradiente de temperatura ==&lt;br /&gt;
===Cálculo del gradiente===&lt;br /&gt;
El gradiente de una función escalar (∇f) es un campo vectorial cuyas componentes son las derivadas parciales de la función. Geométricamente, el vector gradiente apunta en la dirección de máximo crecimiento de la función y es ortogonal a sus curvas de nivel.&lt;br /&gt;
&lt;br /&gt;
La fórmula para calcularlo es: &lt;br /&gt;
&lt;br /&gt;
∇f(x,y) = ( ∂f/∂x , ∂f/∂y )&lt;br /&gt;
&lt;br /&gt;
Como la temperatura viene dada por la siguiente fórmula: &lt;br /&gt;
&lt;br /&gt;
T(x, y) = (x - y)²&lt;br /&gt;
&lt;br /&gt;
El gradiente de temperatura será:&lt;br /&gt;
&lt;br /&gt;
∇T = (2(x - y), -2(x - y))&lt;br /&gt;
===Representación gráfica del gradiente===&lt;br /&gt;
[[Archivo:Gradiente apartado 3.png|500px|thumb|right|Gradiente de temperatura]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% Representación del gradiente&lt;br /&gt;
clc; clear; close all;&lt;br /&gt;
&lt;br /&gt;
% Dominio &lt;br /&gt;
rho_min = 1;  rho_max = 2;&lt;br /&gt;
th_min = 0;   th_max = pi;&lt;br /&gt;
&lt;br /&gt;
[Rho, Theta] = meshgrid(linspace(rho_min, rho_max, 100), ...&lt;br /&gt;
                        linspace(th_min, th_max, 200));&lt;br /&gt;
&lt;br /&gt;
% Convertimos a Cartesianas&lt;br /&gt;
X = Rho .* cos(Theta);&lt;br /&gt;
Y = Rho .* sin(Theta);&lt;br /&gt;
&lt;br /&gt;
%% 2. Definición de Temperatura y Gradiente&lt;br /&gt;
% Temperatura T = (x - y)^2&lt;br /&gt;
T_val = (X - Y).^2;&lt;br /&gt;
&lt;br /&gt;
% Cálculo del gradiente&lt;br /&gt;
Grad_X = 2 .* (X - Y);&lt;br /&gt;
Grad_Y = -2 .* (X - Y);&lt;br /&gt;
&lt;br /&gt;
% Representación gráfica&lt;br /&gt;
figure('Name', 'Trabajo M - Pregunta 3 (Estilo Suave)', 'Color', 'w');&lt;br /&gt;
hold on;&lt;br /&gt;
&lt;br /&gt;
contourf(X, Y, T_val, 50, 'LineStyle', 'none');&lt;br /&gt;
&lt;br /&gt;
% Creamos la gráfica&lt;br /&gt;
N = 256;&lt;br /&gt;
r = linspace(0.2, 1, N)'; &lt;br /&gt;
g = linspace(0.5, 1, N)';&lt;br /&gt;
b = linspace(1, 0, N)';   &lt;br /&gt;
mi_mapa = [r, g, b];      % Matriz de colores&lt;br /&gt;
&lt;br /&gt;
colormap(mi_mapa);&lt;br /&gt;
c = colorbar;&lt;br /&gt;
c.Label.String = 'Temperatura T = (x-y)^2';&lt;br /&gt;
&lt;br /&gt;
% Cantida de flechas&lt;br /&gt;
step_r = 8;  % Salta cada 8 puntos en el radio&lt;br /&gt;
step_t = 12; % Salta cada 12 puntos en el ángulo&lt;br /&gt;
&lt;br /&gt;
idx_r = 1:step_r:size(X,1);&lt;br /&gt;
idx_t = 1:step_t:size(X,2);&lt;br /&gt;
&lt;br /&gt;
% Dibujo flechas&lt;br /&gt;
quiver(X(idx_r, idx_t), Y(idx_r, idx_t), ...&lt;br /&gt;
       Grad_X(idx_r, idx_t), Grad_Y(idx_r, idx_t), ...&lt;br /&gt;
       'k', ...                 % Color negro flechas&lt;br /&gt;
       'LineWidth', 1.0, ...    % Grosor flechas&lt;br /&gt;
       'AutoScaleFactor', 0.8); % Tamaño flechas&lt;br /&gt;
&lt;br /&gt;
axis equal;&lt;br /&gt;
xlim([-2.5 2.5]); ylim([0 2.5]); % Márgenes &lt;br /&gt;
title('Gradiente sobre T');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
&lt;br /&gt;
box on; &lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
== Campo de Vectores ==&lt;br /&gt;
El campo vectorial viene dado por la siguiente fórmula: &lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align:center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{u}(\rho,\theta)=\frac{1}{5}(\rho - 1)\rho^{2}\sin\theta\,\vec{e}_{\theta}&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== código ===&lt;br /&gt;
[[Archivo:apartado.4.png|500px|thumb|right|Campo de vectores]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear; clc; close all;&lt;br /&gt;
&lt;br /&gt;
%% --- 1. Definir el mallado polar del sólido ---&lt;br /&gt;
h = 0.1;&lt;br /&gt;
rho_min = 1;&lt;br /&gt;
rho_max = 2;&lt;br /&gt;
theta_min = 0;&lt;br /&gt;
theta_max = pi;&lt;br /&gt;
&lt;br /&gt;
rho_vec   = rho_min:h:rho_max;&lt;br /&gt;
theta_vec = theta_min:h:theta_max;&lt;br /&gt;
&lt;br /&gt;
[R, Th] = meshgrid(rho_vec, theta_vec);&lt;br /&gt;
&lt;br /&gt;
% Convertir la malla a cartesianas (puntos del sólido)&lt;br /&gt;
X = R .* cos(Th);&lt;br /&gt;
Y = R .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
%% --- 2. Definir el campo vectorial u en e_theta ---&lt;br /&gt;
U_theta = (1/5) * (R - 1) .* R.^2 .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
% Componentes de los vectores unitarios e_theta en cartesianas&lt;br /&gt;
e_th_x = -sin(Th);&lt;br /&gt;
e_th_y =  cos(Th);&lt;br /&gt;
&lt;br /&gt;
% Convertir el campo a componentes cartesianas&lt;br /&gt;
U_x = U_theta .* e_th_x;&lt;br /&gt;
U_y = U_theta .* e_th_y;&lt;br /&gt;
&lt;br /&gt;
%% --- 3. Dibujar SOLO el campo vectorial u en los puntos de la malla ---&lt;br /&gt;
figure;&lt;br /&gt;
hold on;&lt;br /&gt;
axis equal;&lt;br /&gt;
grid off;&lt;br /&gt;
set(gcf,'Color','w');&lt;br /&gt;
&lt;br /&gt;
% Dibujar las flechas del campo vectorial u&lt;br /&gt;
quiver(X, Y, U_x, U_y, 'b', 'LineWidth', 1.2, 'MaxHeadSize', 0.6);&lt;br /&gt;
&lt;br /&gt;
%% --- 4. Dibujar el borde del sólido con UNA línea negra ---&lt;br /&gt;
% Lado 1: arco exterior&lt;br /&gt;
plot(rho_max*cos(theta_vec), rho_max*sin(theta_vec), 'k', 'LineWidth', 2);&lt;br /&gt;
&lt;br /&gt;
% Lado 2: arco interior&lt;br /&gt;
plot(rho_min*cos(theta_vec), rho_min*sin(theta_vec), 'k', 'LineWidth', 2);&lt;br /&gt;
&lt;br /&gt;
% Lado 3: cierre izquierdo (theta = pi)&lt;br /&gt;
plot([rho_min*cos(pi), rho_max*cos(pi)], [rho_min*sin(pi), rho_max*sin(pi)], 'k', 'LineWidth', 2);&lt;br /&gt;
&lt;br /&gt;
% Lado 4: cierre derecho (theta = 0)&lt;br /&gt;
plot([rho_min*cos(0), rho_max*cos(0)], [rho_min*sin(0), rho_max*sin(0)], 'k', 'LineWidth', 2);&lt;br /&gt;
&lt;br /&gt;
title('Campo \vec u sobre la malla del sólido (bordeado en negro)');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Dibujo del sólido antes y después del desplazamiento==&lt;br /&gt;
&lt;br /&gt;
===Código===&lt;br /&gt;
[[Archivo:grafica_1.png|500px|thumb|right|Gráfica 1]]&lt;br /&gt;
[[Archivo:Grafica_2.png|500px|thumb|right|Gráfica 2]]&lt;br /&gt;
[[Archivo:apartado.5.png|500px|thumb|right|Gráfica 3]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% Visualización de Deformación (Azul vs Rojo)&lt;br /&gt;
clear; clc; close all;&lt;br /&gt;
% --- 1. DATOS Y CÁLCULOS  ---&lt;br /&gt;
rho_vec = 1:0.1:2;&lt;br /&gt;
&lt;br /&gt;
% EL CAMBIO ESTÁ AQUÍ:&lt;br /&gt;
&lt;br /&gt;
theta_vec = [0:0.1:pi, pi]; &lt;br /&gt;
&lt;br /&gt;
[R, Th] = meshgrid(rho_vec, theta_vec);&lt;br /&gt;
&lt;br /&gt;
% Posición Inicial&lt;br /&gt;
X_ini = R .* cos(Th);&lt;br /&gt;
Y_ini = R .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
% Desplazamiento u (Trabajo M)&lt;br /&gt;
u_rho   = zeros(size(R));&lt;br /&gt;
u_theta = (1/5) * (R - 1) .* (R.^2) .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
UX = u_rho .* cos(Th) - u_theta .* sin(Th);&lt;br /&gt;
UY = u_rho .* sin(Th) + u_theta .* cos(Th);&lt;br /&gt;
&lt;br /&gt;
% Posición Final&lt;br /&gt;
X_fin = X_ini + UX;&lt;br /&gt;
Y_fin = Y_ini + UY;&lt;br /&gt;
&lt;br /&gt;
% ---  GENERACIÓN DE LAS GRÁFICAS ---&lt;br /&gt;
&lt;br /&gt;
% GRÁFICA 1: Posición Inicial&lt;br /&gt;
figure(1); clf; hold on; axis equal;&lt;br /&gt;
set(gcf, 'Color', 'w'); title('1. Posición Inicial (Sin deformar)');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
plot(X_ini, Y_ini, 'b', 'LineWidth', 1);&lt;br /&gt;
plot(X_ini', Y_ini', 'b', 'LineWidth', 1);&lt;br /&gt;
plot_borde(rho_vec, theta_vec, 'k', 2); &lt;br /&gt;
axis([-2.5 2.5 0 2.5]); grid on;&lt;br /&gt;
&lt;br /&gt;
% GRÁFICA 2: Posición Final&lt;br /&gt;
figure(2); clf; hold on; axis equal;&lt;br /&gt;
set(gcf, 'Color', 'w'); title('2. Posición Final (Deformada)');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
plot(X_fin, Y_fin, 'r', 'LineWidth', 1);&lt;br /&gt;
plot(X_fin', Y_fin', 'r', 'LineWidth', 1);&lt;br /&gt;
axis([-2.5 2.5 0 2.5]); grid on;&lt;br /&gt;
&lt;br /&gt;
% GRÁFICA 3: Superposición (AZUL vs ROJO)&lt;br /&gt;
figure(3); clf; hold on; axis equal;&lt;br /&gt;
set(gcf, 'Color', 'w'); title('3. Comparativa: Inicial vs Final');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
&lt;br /&gt;
% A) Inicial: AZUL&lt;br /&gt;
plot(X_ini, Y_ini, 'b', 'LineWidth', 1);&lt;br /&gt;
plot(X_ini', Y_ini', 'b', 'LineWidth', 1);&lt;br /&gt;
&lt;br /&gt;
% B) Final: ROJO&lt;br /&gt;
plot(X_fin, Y_fin, 'r', 'LineWidth', 1.2);&lt;br /&gt;
plot(X_fin', Y_fin', 'r', 'LineWidth', 1.2);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% --- Función para bordes ---&lt;br /&gt;
function plot_borde(r_v, t_v, col, ancho)&lt;br /&gt;
    plot(r_v(end)*cos(t_v), r_v(end)*sin(t_v), col, 'LineWidth', ancho);&lt;br /&gt;
    plot(r_v(1)*cos(t_v), r_v(1)*sin(t_v), col, 'LineWidth', ancho);&lt;br /&gt;
    plot([r_v(1) r_v(end)]*cos(t_v(1)), [r_v(1) r_v(end)]*sin(t_v(1)), col, 'LineWidth', ancho);&lt;br /&gt;
    plot([r_v(1) r_v(end)]*cos(t_v(end)), [r_v(1) r_v(end)]*sin(t_v(end)), col, 'LineWidth', ancho);&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Divergencia==&lt;br /&gt;
[[Archivo:apartado.6.png|500px|thumb|right|Divergencia]]&lt;br /&gt;
===Definición de la divergencia===&lt;br /&gt;
La divergencia de un campo vectorial &amp;lt;math&amp;gt;\nabla \cdot \vec{u}&amp;lt;/math&amp;gt; en un punto dado es una medida de la tasa a la que el flujo del campo se está expandiendo (saliendo) o contrayendo (entrando) en ese punto.&lt;br /&gt;
&lt;br /&gt;
Es un valor escalar que te dice qué tan fuerte es una fuente o un sumidero de flujo en ese lugar. Para calcular la divergencia en coordenadas cilíndricas se utiliza la siguiente fórmula:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\nabla \cdot \vec{U} = \frac{1}{\rho}\left[ \frac{\partial}{\partial \rho}(\rho U_{\rho}) + \frac{\partial U_{\theta}}{\partial \theta} + \frac{\partial}{\partial z}(\rho U_{z}) \right]&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reemplazando los valores del campo en las posiciones de U, obtenemos la siguiente expresión:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\nabla \cdot \vec{U}&lt;br /&gt;
= \frac{1}{\rho}\left[&lt;br /&gt;
\frac{\partial}{\partial \rho}(0)&lt;br /&gt;
+ \frac{\partial}{\partial \theta}\!\left(\frac{1}{5}(\rho - 1)\rho^{2}\sin\theta\right)&lt;br /&gt;
+ \frac{\partial}{\partial z}(0)&lt;br /&gt;
\right]&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El resultado final de la divergencia es el siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\nabla \cdot \vec{U}&lt;br /&gt;
= \frac{1}{5}(\rho - 1)\,\rho\,\cos\theta&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Código y representación===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% DIVERGENCIA &lt;br /&gt;
&lt;br /&gt;
clear; clc; close all;&lt;br /&gt;
&lt;br /&gt;
% 1. Geometría&lt;br /&gt;
rho_vec = 1:0.05:2;          &lt;br /&gt;
theta_vec = [0:0.05:pi, pi]; &lt;br /&gt;
[R, Th] = meshgrid(rho_vec, theta_vec);&lt;br /&gt;
&lt;br /&gt;
% Paso a cartesianas solo para pintar (X, Y)&lt;br /&gt;
X = R .* cos(Th);&lt;br /&gt;
Y = R .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
% 2. Cálculo de la Divergencia&lt;br /&gt;
% Fórmula: (1/5) * (rho^2 - rho) * cos(theta)&lt;br /&gt;
Div = (1/5) * (R.^2 - R) .* cos(Th);&lt;br /&gt;
&lt;br /&gt;
% 3. Visualización&lt;br /&gt;
figure(7); clf; hold on; axis equal;&lt;br /&gt;
set(gcf, 'Color', 'w');&lt;br /&gt;
title('Divergencia: Expansión y Compresión');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
&lt;br /&gt;
% mapa de colores&lt;br /&gt;
[C, h] = contourf(X, Y, Div, 30, 'LineStyle', 'none');&lt;br /&gt;
&lt;br /&gt;
% Barra de color&lt;br /&gt;
cb = colorbar;&lt;br /&gt;
ylabel(cb, 'Cambio de Volumen');&lt;br /&gt;
&lt;br /&gt;
% borde negro&lt;br /&gt;
plot_borde(rho_vec, theta_vec, 'k', 2);&lt;br /&gt;
&lt;br /&gt;
% Definimos un mapa de colores &amp;quot;Divergente&amp;quot; (Rojo-Azul)&lt;br /&gt;
%Azul para compresión, Rojo para expansión&lt;br /&gt;
colormap(redbluecmap); &lt;br /&gt;
&lt;br /&gt;
axis([-2.5 2.5 0 2.5]); &lt;br /&gt;
grid off;&lt;br /&gt;
&lt;br /&gt;
% --- Función Borde  ---&lt;br /&gt;
function plot_borde(r_v, t_v, col, ancho)&lt;br /&gt;
    plot(r_v(end)*cos(t_v), r_v(end)*sin(t_v), col, 'LineWidth', ancho);&lt;br /&gt;
    plot(r_v(1)*cos(t_v), r_v(1)*sin(t_v), col, 'LineWidth', ancho);&lt;br /&gt;
    plot([r_v(1) r_v(end)]*cos(t_v(1)), [r_v(1) r_v(end)]*sin(t_v(1)), col, 'LineWidth', ancho);&lt;br /&gt;
    plot([r_v(1) r_v(end)]*cos(t_v(end)), [r_v(1) r_v(end)]*sin(t_v(end)), col, 'LineWidth', ancho);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Rotacional ==&lt;br /&gt;
El rotacional de un campo vectorial mide cuánto y en qué dirección tiende a girar el campo, es decir, si el campo hace que una partícula colocada en él empiece a rotar&lt;br /&gt;
=== Código ===&lt;br /&gt;
[[Archivo:apartado.7.png|500px|thumb|right|Rotacional]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear; clc; close all;&lt;br /&gt;
&lt;br /&gt;
% Parámetros del sólido (anillo semicircular)&lt;br /&gt;
h = 0.02;&lt;br /&gt;
rho_min = 1;&lt;br /&gt;
rho_max = 2;&lt;br /&gt;
theta_min = 0;&lt;br /&gt;
theta_max = pi;&lt;br /&gt;
&lt;br /&gt;
rho_vec   = rho_min:h:rho_max;&lt;br /&gt;
theta_vec = theta_min:h:theta_max;&lt;br /&gt;
[R, Th] = meshgrid(rho_vec, theta_vec);&lt;br /&gt;
&lt;br /&gt;
% Coordenadas cartesianas&lt;br /&gt;
X = R .* cos(Th);&lt;br /&gt;
Y = R .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
% Magnitud del rotacional&lt;br /&gt;
curl_z = (1/5) .* R .* (4.*R - 3) .* sin(Th);&lt;br /&gt;
curl_abs = abs(curl_z);&lt;br /&gt;
&lt;br /&gt;
% --- Visualización ---&lt;br /&gt;
figure;&lt;br /&gt;
hold on; axis equal; grid off;&lt;br /&gt;
set(gcf,'Color','w');&lt;br /&gt;
&lt;br /&gt;
contourf(X, Y, curl_abs, 30, 'LineStyle','none');&lt;br /&gt;
colorbar;&lt;br /&gt;
colormap(parula);&lt;br /&gt;
&lt;br /&gt;
title('|∇×u| en el sólido');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
&lt;br /&gt;
% --- Marcar máximo explícitamente en (0,2) ---&lt;br /&gt;
xmax = 0;&lt;br /&gt;
ymax = 2;&lt;br /&gt;
plot(xmax, ymax, 'r*', 'MarkerSize', 14, 'LineWidth', 2);&lt;br /&gt;
text(xmax+0.05, ymax, '  Máximo rotacional (0,2)', 'Color','r','FontSize',10);&lt;br /&gt;
&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Tensiones tangenciales respecto al plano ortogonal &amp;lt;math&amp;gt;\vec{e}_{\rho}&amp;lt;/math&amp;gt; ==&lt;br /&gt;
[[Archivo:apartado_9.jpg|500px|thumb|right|Tensiones tangenciales]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% TENSIONES TANGENCIALES&lt;br /&gt;
clear; clc; close all;&lt;br /&gt;
&lt;br /&gt;
% --- 1. GEOMETRÍA ---&lt;br /&gt;
rho_vec = 1:0.01:2;&lt;br /&gt;
theta_vec = 0:0.01:pi;&lt;br /&gt;
[R, Th] = meshgrid(rho_vec, theta_vec);&lt;br /&gt;
&lt;br /&gt;
X = R .* cos(Th);&lt;br /&gt;
Y = R .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
% --- 2. CÁLCULO DE LA TENSIÓN ---&lt;br /&gt;
Tau = (1/5) * (2*R.^2 - R) .* sin(Th);&lt;br /&gt;
Tau_Mag = abs(Tau);&lt;br /&gt;
&lt;br /&gt;
% --- 3. VISUALIZACIÓN ---&lt;br /&gt;
figure(9); clf; hold on; axis equal;&lt;br /&gt;
set(gcf, 'Color', 'w');&lt;br /&gt;
title('Tensión tangencial');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
&lt;br /&gt;
contourf(X, Y, Tau_Mag, 50, 'LineStyle', 'none');&lt;br /&gt;
c = colorbar;&lt;br /&gt;
ylabel(c,'Esfuerzo de Corte (Pa)');&lt;br /&gt;
&lt;br /&gt;
% --- 4. Colormap amplio AZUL → ROJO (256 tonos) ---&lt;br /&gt;
n = 256;&lt;br /&gt;
azul = [0 0 1];       % azul puro&lt;br /&gt;
rojo = [1 0 0];       % rojo puro&lt;br /&gt;
cmap = [linspace(azul(1), rojo(1), n)', ...&lt;br /&gt;
        linspace(azul(2), rojo(2), n)', ...&lt;br /&gt;
        linspace(azul(3), rojo(3), n)'];&lt;br /&gt;
colormap(cmap);&lt;br /&gt;
&lt;br /&gt;
% --- 5. Bordes exteriores en negro ---&lt;br /&gt;
t_border = 0:0.001:pi;&lt;br /&gt;
plot(2*cos(t_border),2*sin(t_border),'k','LineWidth',2);&lt;br /&gt;
plot(1*cos(t_border),1*sin(t_border),'k','LineWidth',2);&lt;br /&gt;
plot([-2,-1],[0,0],'k','LineWidth',2);&lt;br /&gt;
plot([1,2],[0,0],'k','LineWidth',2);&lt;br /&gt;
&lt;br /&gt;
% --- 6. Punto de máxima tensión ---&lt;br /&gt;
max_val = max(Tau_Mag(:));&lt;br /&gt;
[fr, fc] = find(Tau_Mag == max_val, 1);&lt;br /&gt;
plot(X(fr,fc),Y(fr,fc),'wx','LineWidth',2,'MarkerSize',10);&lt;br /&gt;
text(X(fr,fc),Y(fr,fc)+0.1,'Máx','Color','w','FontWeight','bold');&lt;br /&gt;
&lt;br /&gt;
axis([-2.2 2.2 0 2.2]);&lt;br /&gt;
grid off;&lt;br /&gt;
hold off;&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Tensiones tangenciales respecto al plano ortogonal &amp;lt;math&amp;gt;\frac{1}{\rho} \vec{e}_{\theta}&amp;lt;/math&amp;gt; ==&lt;br /&gt;
[[Archivo:apartado.10.png|500px|thumb|right|Tensiones tangenciales]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear; clc; close all;&lt;br /&gt;
&lt;br /&gt;
%% --- 1. Mallado polar del sólido (corona semicircular) ---&lt;br /&gt;
h = 0.02;                 % paso fino&lt;br /&gt;
rho_min = 1;&lt;br /&gt;
rho_max = 2;&lt;br /&gt;
theta_min = 0;&lt;br /&gt;
theta_max = pi;&lt;br /&gt;
&lt;br /&gt;
rho_vec = rho_min:h:rho_max;&lt;br /&gt;
theta_vec = theta_min:h:theta_max;&lt;br /&gt;
&lt;br /&gt;
[R, Th] = meshgrid(rho_vec, theta_vec);&lt;br /&gt;
&lt;br /&gt;
% Conversión a cartesianas&lt;br /&gt;
X = R .* cos(Th);&lt;br /&gt;
Y = R .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
%% --- 2. Campo u = u_theta * e_theta ---&lt;br /&gt;
u_theta = (1/5) * (R - 1) .* R.^2 .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
% Cálculo del rotacional (componente z en 2D, analítico)&lt;br /&gt;
curl_z = (1/5) .* R .* (4.*R - 3) .* sin(Th);&lt;br /&gt;
curl_abs = abs(curl_z);&lt;br /&gt;
&lt;br /&gt;
%% --- 3. Gráfica del rotacional (sin flechas) ---&lt;br /&gt;
figure;&lt;br /&gt;
hold on;&lt;br /&gt;
axis equal;&lt;br /&gt;
grid off;&lt;br /&gt;
set(gcf,'Color','w');&lt;br /&gt;
&lt;br /&gt;
% Mapa de calor del rotacional&lt;br /&gt;
contourf(X, Y, curl_abs, 40, 'LineStyle','none');&lt;br /&gt;
colorbar;&lt;br /&gt;
clim([0 2]);      % forzamos rango para que el máximo destaque bien&lt;br /&gt;
colormap turbo;&lt;br /&gt;
&lt;br /&gt;
title('Tension tangencial apartado 10');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
&lt;br /&gt;
% Borde del sólido&lt;br /&gt;
plot(rho_max*cos(theta_vec), rho_max*sin(theta_vec), 'k','LineWidth',1.8);&lt;br /&gt;
plot(rho_min*cos(theta_vec), rho_min*sin(theta_vec), 'k','LineWidth',1.8);&lt;br /&gt;
plot([-rho_max -rho_min], [0 0], 'k','LineWidth',1.8);&lt;br /&gt;
plot([rho_min rho_max], [0 0], 'k','LineWidth',1.8);&lt;br /&gt;
&lt;br /&gt;
%  Marcar punto de máximo explícitamente en (0,2) en blanco&lt;br /&gt;
xmax = 0;&lt;br /&gt;
ymax = 2;&lt;br /&gt;
plot(xmax, ymax, 'w*', 'MarkerSize', 15, 'LineWidth', 2);&lt;br /&gt;
text(xmax+0.05, ymax-0.1, '  Máximo', 'Color','w','FontSize',11,'FontWeight','bold');&lt;br /&gt;
&lt;br /&gt;
hold off;&lt;br /&gt;
&lt;br /&gt;
%% --- 4. Mostrar valor numérico máximo en consola ---&lt;br /&gt;
fprintf('Máximo de |∇×u| = %.5g en (0,2)\n', curl_abs(find(X==0 &amp;amp; abs(Y-2)&amp;lt;1e-6, 1)));&lt;br /&gt;
&lt;br /&gt;
disp('El punto con mayor rotacional es (0,2)');&lt;br /&gt;
disp('Porque |∇×u| crece con ρ y es máximo cuando sinθ = 1 (θ = π/2) y ρ = 2');&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Cálculo de la masa aproximando la integral numéricamente==&lt;br /&gt;
La masa se calcula con la siguiente integral: M = ∫∫ d(ρ, θ) dA&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El dominio es [1,2]x[0,pi] y por tanto los límites de integración serán:&lt;br /&gt;
&lt;br /&gt;
Límete de rho: 1 ≤ ρ ≤ 2&lt;br /&gt;
&lt;br /&gt;
Límite de theta: 0 ≤ θ ≤ π&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El diferencial de área (Jacobiano) es: dA = ρ dρ dθ&lt;br /&gt;
&lt;br /&gt;
La densidad viene dada por: d(ρ, θ) = 1 + e^(ρ² cos θ)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por último la masa se calculará de la siguiente manera: &lt;br /&gt;
&lt;br /&gt;
M = ∫(de 0 a π) ∫(de 1 a 2) [1 + e^(ρ² cos θ)] · ρ dρ dθ = 26.26 u²&lt;br /&gt;
&lt;br /&gt;
== Interpretación del trabajo ==&lt;br /&gt;
&lt;br /&gt;
En el Trabajo K se modela una onda transversal en una placa rectangular mediante el campo de desplazamientos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{u}(x,y,t)=\vec{a}\cos(\vec{b}\cdot\vec{r}_0 - c t)&amp;lt;/math&amp;gt; con:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{a}=\frac{1}{10}\vec{i}&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{b}=\pi\vec{j}&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;t=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Esto se puede interpretar como una onda de corte (onda S) que se propaga en un medio elástico, como la corteza terrestre durante un terremoto.&lt;br /&gt;
Las ondas S (secundarias o de corte) son ondas transversales, en las que las partículas del material vibran perpendicularmente a la dirección de propagación de la onda.&lt;br /&gt;
&lt;br /&gt;
En este caso, la dirección de propagación es la del vector:&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{b}=\pi\vec{j}&amp;lt;/math&amp;gt;&lt;br /&gt;
(eje 𝑦 y) y la vibración es en la dirección:&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{i}&amp;lt;/math&amp;gt;&lt;br /&gt;
(eje 𝑥 x), lo cual es típico de ondas S con polarización horizontal (onda SH).&lt;br /&gt;
Aplicación al Trabajo M (arco entre radios 1 y 2)&lt;br /&gt;
En el Trabajo M, el dominio es un sector de arco en coordenadas polares(𝜌,𝜃)(ρ,θ), con:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\rho\in[1,2]&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
y el campo de desplazamientos es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{u}(\rho,\theta)=\frac{1}{5}(\rho-1)\rho^{2}\sin\theta\,\vec{e}_\theta&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Este campo representa un desplazamiento puramente tangencial:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{e}_\theta&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
que también corresponde a una onda de corte pero en geometría curvilínea.&lt;br /&gt;
En sismología, las ondas S pueden viajar a lo largo de estructuras curvas en la corteza, como capas geológicas curvadas o interfaces entre materiales.&lt;br /&gt;
El factor:&amp;lt;math&amp;gt;(\rho-1)\rho^{2}\sin\theta&amp;lt;/math&amp;gt; indica que el desplazamiento es máximo en la parte exterior del arco: &amp;lt;math&amp;gt;\rho = 2&amp;lt;/math&amp;gt; y varía sinusoidalmente con:&amp;lt;math&amp;gt;\theta&amp;lt;/math&amp;gt; lo que podría modelar una onda estacionaria o forzada en una placa curvada.&lt;br /&gt;
Relación con la temperatura&lt;br /&gt;
En ambos trabajos se incluye un campo de temperatura: &amp;lt;math&amp;gt;T(x,y)=(x-y)^2&amp;lt;/math&amp;gt; que en el Trabajo M debe expresarse en coordenadas polares:&amp;lt;math&amp;gt;x=\rho\cos\theta&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y=\rho\sin\theta&amp;lt;/math&amp;gt;&lt;br /&gt;
Sustituyendo: &amp;lt;math&amp;gt;T(\rho,\theta)=\rho^{2}(\cos\theta - \sin\theta)^2&amp;lt;/math&amp;gt;&lt;br /&gt;
Esta temperatura podría representar gradientes térmicos en la corteza debidos a fuentes geotérmicas, que afectan a las propiedades elásticas del medio y, por tanto, a la propagación de ondas sísmicas.&lt;br /&gt;
&lt;br /&gt;
Conclusión&lt;br /&gt;
&lt;br /&gt;
El Trabajo M puede interpretarse como el estudio de ondas de corte (S) en una región curvilínea de la corteza terrestre, como un arco de falla o una capa geológica curvada, donde los desplazamientos son transversales a la dirección radial.&lt;br /&gt;
La inclusión del campo de temperatura:&amp;lt;math&amp;gt;T(\rho,\theta)=\rho^{2}(\cos\theta - \sin\theta)^2&amp;lt;/math&amp;gt; permite analizar cómo los gradientes térmicos influyen en la deformación y propagación de ondas en estructuras geológicas reales, algo relevante en sismología y geofísica.&lt;/div&gt;</summary>
		<author><name>Álvaro Villar</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Mallado_Arco_1_(grupo_59)&amp;diff=97128</id>
		<title>Mallado Arco 1 (grupo 59)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Mallado_Arco_1_(grupo_59)&amp;diff=97128"/>
				<updated>2025-12-03T17:01:16Z</updated>
		
		<summary type="html">&lt;p&gt;Álvaro Villar: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Arco1. Grupo 59 | [[:Categoría:Teoría de Campos|Teoría de Campos]]|[[:Categoría:TC25/26|2025-26]] | &lt;br /&gt;
*Guillermo Pineros Quero&lt;br /&gt;
*Ignacio Sopas Oviedo&lt;br /&gt;
*Francisco Yusep Saiz Cebrián&lt;br /&gt;
*Álvaro Bellota Rosado&lt;br /&gt;
*Javier Ruiz Sáenz de Jubera}}&lt;br /&gt;
[[Categoría:Teoría de Campos]]&lt;br /&gt;
[[Categoría:TC25/26]]&lt;br /&gt;
== Mallado del arco ==&lt;br /&gt;
El mallado de un arco consiste en dividir su superficie en puntos organizados, lo que permite describir su geometría y analizar cómo cambian diferentes magnitudes dentro de él.&lt;br /&gt;
=== Representación del mallado ===&lt;br /&gt;
[[Archivo:mallado.del.arco.png|500px|thumb|right|]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Mallado del arco alineado&lt;br /&gt;
&lt;br /&gt;
% Elegimos divisiones que garanticen que:&lt;br /&gt;
% θ = 0, pi/2, pi están incluidos &lt;br /&gt;
% r incluye exactamente 1 y 2    &lt;br /&gt;
&lt;br /&gt;
theta = linspace(0, pi, 20);   % mallado moderado, incluye 0, pi/2 y pi&lt;br /&gt;
r = linspace(1, 2, 15);        % radios exactos 1 y 2&lt;br /&gt;
&lt;br /&gt;
[R, TH] = meshgrid(r, theta);&lt;br /&gt;
&lt;br /&gt;
% Convertir a coordenadas cartesianas&lt;br /&gt;
X = R .* cos(TH);&lt;br /&gt;
Y = R .* sin(TH);&lt;br /&gt;
&lt;br /&gt;
figure;&lt;br /&gt;
hold on;&lt;br /&gt;
&lt;br /&gt;
col = [0.3 0.6 1];  % azul clarito&lt;br /&gt;
&lt;br /&gt;
% Mallado tipo red (más grueso) &lt;br /&gt;
plot(X,  Y, 'Color', col, 'LineWidth', 1.1);   % líneas en theta&lt;br /&gt;
plot(X', Y', 'Color', col, 'LineWidth', 1.1);  % líneas en r&lt;br /&gt;
&lt;br /&gt;
% Contornos superior interior y exterior &lt;br /&gt;
theta_cont = linspace(0, pi, 400);&lt;br /&gt;
&lt;br /&gt;
plot(1*cos(theta_cont), 1*sin(theta_cont), 'Color', col, 'LineWidth', 2);&lt;br /&gt;
plot(2*cos(theta_cont), 2*sin(theta_cont), 'Color', col, 'LineWidth', 2);&lt;br /&gt;
&lt;br /&gt;
% Bases &lt;br /&gt;
plot([-1 -2], [0 0], 'Color', col, 'LineWidth', 2);  % base izquierda&lt;br /&gt;
plot([ 1  2], [0 0], 'Color', col, 'LineWidth', 2);  % base derecha&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% Ajustes&lt;br /&gt;
axis equal&lt;br /&gt;
grid on&lt;br /&gt;
title('Mallado del arco')&lt;br /&gt;
xlabel('x')&lt;br /&gt;
ylabel('y')&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==  Temperatura en el arco  ==&lt;br /&gt;
La temperatura del sólido proviene de un foco de calor muy concentrado en los puntos&lt;br /&gt;
que están a distancia 1 del origen. La función es: '''&amp;lt;big&amp;gt;𝑇(𝑥, 𝑦) = (𝑥 − 𝑦)&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;&amp;lt;/big&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
=== Código ===&lt;br /&gt;
[[Archivo:funciontemperatura.png|500px|thumb|right|Representación de la temperatura en el arco]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Mallado del arco&lt;br /&gt;
theta = linspace(0, pi, 200);   % más denso para curva suave&lt;br /&gt;
r = linspace(1, 2, 200);        % radio interior 1, exterior 2&lt;br /&gt;
[R, TH] = meshgrid(r, theta);&lt;br /&gt;
&lt;br /&gt;
% Convertir a cartesianas&lt;br /&gt;
X = R .* cos(TH);&lt;br /&gt;
Y = R .* sin(TH);&lt;br /&gt;
&lt;br /&gt;
% Funcion temperatura&lt;br /&gt;
T = (X - Y).^2;&lt;br /&gt;
&lt;br /&gt;
% Representación 2D&lt;br /&gt;
figure;&lt;br /&gt;
pcolor(X, Y, T);     % representación 2D en colores&lt;br /&gt;
shading interp       % suavizado del color&lt;br /&gt;
colormap(jet)&lt;br /&gt;
colorbar;&lt;br /&gt;
&lt;br /&gt;
title('Temperatura T(x,y) = (x - y)^2 sobre el arco')&lt;br /&gt;
xlabel('x')&lt;br /&gt;
ylabel('y')&lt;br /&gt;
axis equal           % mantiene proporciones reales&lt;br /&gt;
hold on&lt;br /&gt;
&lt;br /&gt;
%% Contorno negro del arco &lt;br /&gt;
theta_cont = linspace(0, pi, 400);&lt;br /&gt;
&lt;br /&gt;
% Borde interior&lt;br /&gt;
plot(1*cos(theta_cont), 1*sin(theta_cont), 'k-', 'LineWidth', 1);&lt;br /&gt;
&lt;br /&gt;
% Borde exterior&lt;br /&gt;
plot(2*cos(theta_cont), 2*sin(theta_cont), 'k-', 'LineWidth', 1);&lt;br /&gt;
&lt;br /&gt;
% Radio izquierdo&lt;br /&gt;
plot([1 2]*cos(0), [1 2]*sin(0), 'k-', 'LineWidth', 1);&lt;br /&gt;
&lt;br /&gt;
% Radio derecho&lt;br /&gt;
plot([1 2]*cos(pi), [1 2]*sin(pi), 'k-', 'LineWidth', 1);&lt;br /&gt;
&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Gradiente de temperatura ==&lt;br /&gt;
===Cálculo del gradiente===&lt;br /&gt;
El gradiente de una función escalar (∇f) es un campo vectorial cuyas componentes son las derivadas parciales de la función. Geométricamente, el vector gradiente apunta en la dirección de máximo crecimiento de la función y es ortogonal a sus curvas de nivel.&lt;br /&gt;
&lt;br /&gt;
La fórmula para calcularlo es: &lt;br /&gt;
&lt;br /&gt;
∇f(x,y) = ( ∂f/∂x , ∂f/∂y )&lt;br /&gt;
&lt;br /&gt;
Como la temperatura viene dada por la siguiente fórmula: &lt;br /&gt;
&lt;br /&gt;
T(x, y) = (x - y)²&lt;br /&gt;
&lt;br /&gt;
El gradiente de temperatura será:&lt;br /&gt;
&lt;br /&gt;
∇T = (2(x - y), -2(x - y))&lt;br /&gt;
===Representación gráfica del gradiente===&lt;br /&gt;
[[Archivo:Gradiente apartado 3.png|500px|thumb|right|Gradiente de temperatura]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% Representación del gradiente&lt;br /&gt;
clc; clear; close all;&lt;br /&gt;
&lt;br /&gt;
% Dominio &lt;br /&gt;
rho_min = 1;  rho_max = 2;&lt;br /&gt;
th_min = 0;   th_max = pi;&lt;br /&gt;
&lt;br /&gt;
[Rho, Theta] = meshgrid(linspace(rho_min, rho_max, 100), ...&lt;br /&gt;
                        linspace(th_min, th_max, 200));&lt;br /&gt;
&lt;br /&gt;
% Convertimos a Cartesianas&lt;br /&gt;
X = Rho .* cos(Theta);&lt;br /&gt;
Y = Rho .* sin(Theta);&lt;br /&gt;
&lt;br /&gt;
%% 2. Definición de Temperatura y Gradiente&lt;br /&gt;
% Temperatura T = (x - y)^2&lt;br /&gt;
T_val = (X - Y).^2;&lt;br /&gt;
&lt;br /&gt;
% Cálculo del gradiente&lt;br /&gt;
Grad_X = 2 .* (X - Y);&lt;br /&gt;
Grad_Y = -2 .* (X - Y);&lt;br /&gt;
&lt;br /&gt;
% Representación gráfica&lt;br /&gt;
figure('Name', 'Trabajo M - Pregunta 3 (Estilo Suave)', 'Color', 'w');&lt;br /&gt;
hold on;&lt;br /&gt;
&lt;br /&gt;
contourf(X, Y, T_val, 50, 'LineStyle', 'none');&lt;br /&gt;
&lt;br /&gt;
% Creamos la gráfica&lt;br /&gt;
N = 256;&lt;br /&gt;
r = linspace(0.2, 1, N)'; &lt;br /&gt;
g = linspace(0.5, 1, N)';&lt;br /&gt;
b = linspace(1, 0, N)';   &lt;br /&gt;
mi_mapa = [r, g, b];      % Matriz de colores&lt;br /&gt;
&lt;br /&gt;
colormap(mi_mapa);&lt;br /&gt;
c = colorbar;&lt;br /&gt;
c.Label.String = 'Temperatura T = (x-y)^2';&lt;br /&gt;
&lt;br /&gt;
% Cantida de flechas&lt;br /&gt;
step_r = 8;  % Salta cada 8 puntos en el radio&lt;br /&gt;
step_t = 12; % Salta cada 12 puntos en el ángulo&lt;br /&gt;
&lt;br /&gt;
idx_r = 1:step_r:size(X,1);&lt;br /&gt;
idx_t = 1:step_t:size(X,2);&lt;br /&gt;
&lt;br /&gt;
% Dibujo flechas&lt;br /&gt;
quiver(X(idx_r, idx_t), Y(idx_r, idx_t), ...&lt;br /&gt;
       Grad_X(idx_r, idx_t), Grad_Y(idx_r, idx_t), ...&lt;br /&gt;
       'k', ...                 % Color negro flechas&lt;br /&gt;
       'LineWidth', 1.0, ...    % Grosor flechas&lt;br /&gt;
       'AutoScaleFactor', 0.8); % Tamaño flechas&lt;br /&gt;
&lt;br /&gt;
axis equal;&lt;br /&gt;
xlim([-2.5 2.5]); ylim([0 2.5]); % Márgenes &lt;br /&gt;
title('Gradiente sobre T');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
&lt;br /&gt;
box on; &lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
== Campo de Vectores ==&lt;br /&gt;
El campo vectorial viene dado por la siguiente fórmula: &lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align:center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{u}(\rho,\theta)=\frac{1}{5}(\rho - 1)\rho^{2}\sin\theta\,\vec{e}_{\theta}&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== código ===&lt;br /&gt;
[[Archivo:apartado.4.png|500px|thumb|right|Campo de vectores]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear; clc; close all;&lt;br /&gt;
&lt;br /&gt;
%% --- 1. Definir el mallado polar del sólido ---&lt;br /&gt;
h = 0.1;&lt;br /&gt;
rho_min = 1;&lt;br /&gt;
rho_max = 2;&lt;br /&gt;
theta_min = 0;&lt;br /&gt;
theta_max = pi;&lt;br /&gt;
&lt;br /&gt;
rho_vec   = rho_min:h:rho_max;&lt;br /&gt;
theta_vec = theta_min:h:theta_max;&lt;br /&gt;
&lt;br /&gt;
[R, Th] = meshgrid(rho_vec, theta_vec);&lt;br /&gt;
&lt;br /&gt;
% Convertir la malla a cartesianas (puntos del sólido)&lt;br /&gt;
X = R .* cos(Th);&lt;br /&gt;
Y = R .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
%% --- 2. Definir el campo vectorial u en e_theta ---&lt;br /&gt;
U_theta = (1/5) * (R - 1) .* R.^2 .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
% Componentes de los vectores unitarios e_theta en cartesianas&lt;br /&gt;
e_th_x = -sin(Th);&lt;br /&gt;
e_th_y =  cos(Th);&lt;br /&gt;
&lt;br /&gt;
% Convertir el campo a componentes cartesianas&lt;br /&gt;
U_x = U_theta .* e_th_x;&lt;br /&gt;
U_y = U_theta .* e_th_y;&lt;br /&gt;
&lt;br /&gt;
%% --- 3. Dibujar SOLO el campo vectorial u en los puntos de la malla ---&lt;br /&gt;
figure;&lt;br /&gt;
hold on;&lt;br /&gt;
axis equal;&lt;br /&gt;
grid off;&lt;br /&gt;
set(gcf,'Color','w');&lt;br /&gt;
&lt;br /&gt;
% Dibujar las flechas del campo vectorial u&lt;br /&gt;
quiver(X, Y, U_x, U_y, 'b', 'LineWidth', 1.2, 'MaxHeadSize', 0.6);&lt;br /&gt;
&lt;br /&gt;
%% --- 4. Dibujar el borde del sólido con UNA línea negra ---&lt;br /&gt;
% Lado 1: arco exterior&lt;br /&gt;
plot(rho_max*cos(theta_vec), rho_max*sin(theta_vec), 'k', 'LineWidth', 2);&lt;br /&gt;
&lt;br /&gt;
% Lado 2: arco interior&lt;br /&gt;
plot(rho_min*cos(theta_vec), rho_min*sin(theta_vec), 'k', 'LineWidth', 2);&lt;br /&gt;
&lt;br /&gt;
% Lado 3: cierre izquierdo (theta = pi)&lt;br /&gt;
plot([rho_min*cos(pi), rho_max*cos(pi)], [rho_min*sin(pi), rho_max*sin(pi)], 'k', 'LineWidth', 2);&lt;br /&gt;
&lt;br /&gt;
% Lado 4: cierre derecho (theta = 0)&lt;br /&gt;
plot([rho_min*cos(0), rho_max*cos(0)], [rho_min*sin(0), rho_max*sin(0)], 'k', 'LineWidth', 2);&lt;br /&gt;
&lt;br /&gt;
title('Campo \vec u sobre la malla del sólido (bordeado en negro)');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Dibujo del sólido antes y después del desplazamiento==&lt;br /&gt;
&lt;br /&gt;
===Código===&lt;br /&gt;
[[Archivo:grafica_1.png|500px|thumb|right|Gráfica 1]]&lt;br /&gt;
[[Archivo:Grafica_2.png|500px|thumb|right|Gráfica 2]]&lt;br /&gt;
[[Archivo:apartado.5.png|500px|thumb|right|Gráfica 3]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% Visualización de Deformación (Azul vs Rojo)&lt;br /&gt;
clear; clc; close all;&lt;br /&gt;
% --- 1. DATOS Y CÁLCULOS  ---&lt;br /&gt;
rho_vec = 1:0.1:2;&lt;br /&gt;
&lt;br /&gt;
% EL CAMBIO ESTÁ AQUÍ:&lt;br /&gt;
&lt;br /&gt;
theta_vec = [0:0.1:pi, pi]; &lt;br /&gt;
&lt;br /&gt;
[R, Th] = meshgrid(rho_vec, theta_vec);&lt;br /&gt;
&lt;br /&gt;
% Posición Inicial&lt;br /&gt;
X_ini = R .* cos(Th);&lt;br /&gt;
Y_ini = R .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
% Desplazamiento u (Trabajo M)&lt;br /&gt;
u_rho   = zeros(size(R));&lt;br /&gt;
u_theta = (1/5) * (R - 1) .* (R.^2) .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
UX = u_rho .* cos(Th) - u_theta .* sin(Th);&lt;br /&gt;
UY = u_rho .* sin(Th) + u_theta .* cos(Th);&lt;br /&gt;
&lt;br /&gt;
% Posición Final&lt;br /&gt;
X_fin = X_ini + UX;&lt;br /&gt;
Y_fin = Y_ini + UY;&lt;br /&gt;
&lt;br /&gt;
% ---  GENERACIÓN DE LAS GRÁFICAS ---&lt;br /&gt;
&lt;br /&gt;
% GRÁFICA 1: Posición Inicial&lt;br /&gt;
figure(1); clf; hold on; axis equal;&lt;br /&gt;
set(gcf, 'Color', 'w'); title('1. Posición Inicial (Sin deformar)');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
plot(X_ini, Y_ini, 'b', 'LineWidth', 1);&lt;br /&gt;
plot(X_ini', Y_ini', 'b', 'LineWidth', 1);&lt;br /&gt;
plot_borde(rho_vec, theta_vec, 'k', 2); &lt;br /&gt;
axis([-2.5 2.5 0 2.5]); grid on;&lt;br /&gt;
&lt;br /&gt;
% GRÁFICA 2: Posición Final&lt;br /&gt;
figure(2); clf; hold on; axis equal;&lt;br /&gt;
set(gcf, 'Color', 'w'); title('2. Posición Final (Deformada)');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
plot(X_fin, Y_fin, 'r', 'LineWidth', 1);&lt;br /&gt;
plot(X_fin', Y_fin', 'r', 'LineWidth', 1);&lt;br /&gt;
axis([-2.5 2.5 0 2.5]); grid on;&lt;br /&gt;
&lt;br /&gt;
% GRÁFICA 3: Superposición (AZUL vs ROJO)&lt;br /&gt;
figure(3); clf; hold on; axis equal;&lt;br /&gt;
set(gcf, 'Color', 'w'); title('3. Comparativa: Inicial vs Final');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
&lt;br /&gt;
% A) Inicial: AZUL&lt;br /&gt;
plot(X_ini, Y_ini, 'b', 'LineWidth', 1);&lt;br /&gt;
plot(X_ini', Y_ini', 'b', 'LineWidth', 1);&lt;br /&gt;
&lt;br /&gt;
% B) Final: ROJO&lt;br /&gt;
plot(X_fin, Y_fin, 'r', 'LineWidth', 1.2);&lt;br /&gt;
plot(X_fin', Y_fin', 'r', 'LineWidth', 1.2);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% --- Función para bordes ---&lt;br /&gt;
function plot_borde(r_v, t_v, col, ancho)&lt;br /&gt;
    plot(r_v(end)*cos(t_v), r_v(end)*sin(t_v), col, 'LineWidth', ancho);&lt;br /&gt;
    plot(r_v(1)*cos(t_v), r_v(1)*sin(t_v), col, 'LineWidth', ancho);&lt;br /&gt;
    plot([r_v(1) r_v(end)]*cos(t_v(1)), [r_v(1) r_v(end)]*sin(t_v(1)), col, 'LineWidth', ancho);&lt;br /&gt;
    plot([r_v(1) r_v(end)]*cos(t_v(end)), [r_v(1) r_v(end)]*sin(t_v(end)), col, 'LineWidth', ancho);&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Divergencia==&lt;br /&gt;
[[Archivo:apartado.6.png|500px|thumb|right|Divergencia]]&lt;br /&gt;
===Definición de la divergencia===&lt;br /&gt;
La divergencia de un campo vectorial &amp;lt;math&amp;gt;\nabla \cdot \vec{u}&amp;lt;/math&amp;gt; en un punto dado es una medida de la tasa a la que el flujo del campo se está expandiendo (saliendo) o contrayendo (entrando) en ese punto.&lt;br /&gt;
&lt;br /&gt;
Es un valor escalar que te dice qué tan fuerte es una fuente o un sumidero de flujo en ese lugar. Para calcular la divergencia en coordenadas cilíndricas se utiliza la siguiente fórmula:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\nabla \cdot \vec{U} = \frac{1}{\rho}\left[ \frac{\partial}{\partial \rho}(\rho U_{\rho}) + \frac{\partial U_{\theta}}{\partial \theta} + \frac{\partial}{\partial z}(\rho U_{z}) \right]&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reemplazando los valores del campo en las posiciones de U, obtenemos la siguiente expresión:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\nabla \cdot \vec{U}&lt;br /&gt;
= \frac{1}{\rho}\left[&lt;br /&gt;
\frac{\partial}{\partial \rho}(0)&lt;br /&gt;
+ \frac{\partial}{\partial \theta}\!\left(\frac{1}{5}(\rho - 1)\rho^{2}\sin\theta\right)&lt;br /&gt;
+ \frac{\partial}{\partial z}(0)&lt;br /&gt;
\right]&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El resultado final de la divergencia es el siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\nabla \cdot \vec{U}&lt;br /&gt;
= \frac{1}{5}(\rho - 1)\,\rho\,\cos\theta&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Código y representación===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% DIVERGENCIA &lt;br /&gt;
&lt;br /&gt;
clear; clc; close all;&lt;br /&gt;
&lt;br /&gt;
% 1. Geometría&lt;br /&gt;
rho_vec = 1:0.05:2;          &lt;br /&gt;
theta_vec = [0:0.05:pi, pi]; &lt;br /&gt;
[R, Th] = meshgrid(rho_vec, theta_vec);&lt;br /&gt;
&lt;br /&gt;
% Paso a cartesianas solo para pintar (X, Y)&lt;br /&gt;
X = R .* cos(Th);&lt;br /&gt;
Y = R .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
% 2. Cálculo de la Divergencia&lt;br /&gt;
% Fórmula: (1/5) * (rho^2 - rho) * cos(theta)&lt;br /&gt;
Div = (1/5) * (R.^2 - R) .* cos(Th);&lt;br /&gt;
&lt;br /&gt;
% 3. Visualización&lt;br /&gt;
figure(7); clf; hold on; axis equal;&lt;br /&gt;
set(gcf, 'Color', 'w');&lt;br /&gt;
title('Divergencia: Expansión y Compresión');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
&lt;br /&gt;
% mapa de colores&lt;br /&gt;
[C, h] = contourf(X, Y, Div, 30, 'LineStyle', 'none');&lt;br /&gt;
&lt;br /&gt;
% Barra de color&lt;br /&gt;
cb = colorbar;&lt;br /&gt;
ylabel(cb, 'Cambio de Volumen');&lt;br /&gt;
&lt;br /&gt;
% borde negro&lt;br /&gt;
plot_borde(rho_vec, theta_vec, 'k', 2);&lt;br /&gt;
&lt;br /&gt;
% Definimos un mapa de colores &amp;quot;Divergente&amp;quot; (Rojo-Azul)&lt;br /&gt;
%Azul para compresión, Rojo para expansión&lt;br /&gt;
colormap(redbluecmap); &lt;br /&gt;
&lt;br /&gt;
axis([-2.5 2.5 0 2.5]); &lt;br /&gt;
grid off;&lt;br /&gt;
&lt;br /&gt;
% --- Función Borde  ---&lt;br /&gt;
function plot_borde(r_v, t_v, col, ancho)&lt;br /&gt;
    plot(r_v(end)*cos(t_v), r_v(end)*sin(t_v), col, 'LineWidth', ancho);&lt;br /&gt;
    plot(r_v(1)*cos(t_v), r_v(1)*sin(t_v), col, 'LineWidth', ancho);&lt;br /&gt;
    plot([r_v(1) r_v(end)]*cos(t_v(1)), [r_v(1) r_v(end)]*sin(t_v(1)), col, 'LineWidth', ancho);&lt;br /&gt;
    plot([r_v(1) r_v(end)]*cos(t_v(end)), [r_v(1) r_v(end)]*sin(t_v(end)), col, 'LineWidth', ancho);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Rotacional ==&lt;br /&gt;
[[Archivo:apartado.7.png|500px|thumb|right|Rotacional]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear; clc; close all;&lt;br /&gt;
&lt;br /&gt;
% Parámetros del sólido (anillo semicircular)&lt;br /&gt;
h = 0.02;&lt;br /&gt;
rho_min = 1;&lt;br /&gt;
rho_max = 2;&lt;br /&gt;
theta_min = 0;&lt;br /&gt;
theta_max = pi;&lt;br /&gt;
&lt;br /&gt;
rho_vec   = rho_min:h:rho_max;&lt;br /&gt;
theta_vec = theta_min:h:theta_max;&lt;br /&gt;
[R, Th] = meshgrid(rho_vec, theta_vec);&lt;br /&gt;
&lt;br /&gt;
% Coordenadas cartesianas&lt;br /&gt;
X = R .* cos(Th);&lt;br /&gt;
Y = R .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
% Magnitud del rotacional&lt;br /&gt;
curl_z = (1/5) .* R .* (4.*R - 3) .* sin(Th);&lt;br /&gt;
curl_abs = abs(curl_z);&lt;br /&gt;
&lt;br /&gt;
% --- Visualización ---&lt;br /&gt;
figure;&lt;br /&gt;
hold on; axis equal; grid off;&lt;br /&gt;
set(gcf,'Color','w');&lt;br /&gt;
&lt;br /&gt;
contourf(X, Y, curl_abs, 30, 'LineStyle','none');&lt;br /&gt;
colorbar;&lt;br /&gt;
colormap(parula);&lt;br /&gt;
&lt;br /&gt;
title('|∇×u| en el sólido');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
&lt;br /&gt;
% --- Marcar máximo explícitamente en (0,2) ---&lt;br /&gt;
xmax = 0;&lt;br /&gt;
ymax = 2;&lt;br /&gt;
plot(xmax, ymax, 'r*', 'MarkerSize', 14, 'LineWidth', 2);&lt;br /&gt;
text(xmax+0.05, ymax, '  Máximo rotacional (0,2)', 'Color','r','FontSize',10);&lt;br /&gt;
&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
== Tensiones tangenciales respecto al plano ortogonal &amp;lt;math&amp;gt;\vec{e}_{\rho}&amp;lt;/math&amp;gt; ==&lt;br /&gt;
[[Archivo:apartado_9.jpg|500px|thumb|right|Tensiones tangenciales]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% TENSIONES TANGENCIALES&lt;br /&gt;
clear; clc; close all;&lt;br /&gt;
&lt;br /&gt;
% --- 1. GEOMETRÍA ---&lt;br /&gt;
rho_vec = 1:0.01:2;&lt;br /&gt;
theta_vec = 0:0.01:pi;&lt;br /&gt;
[R, Th] = meshgrid(rho_vec, theta_vec);&lt;br /&gt;
&lt;br /&gt;
X = R .* cos(Th);&lt;br /&gt;
Y = R .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
% --- 2. CÁLCULO DE LA TENSIÓN ---&lt;br /&gt;
Tau = (1/5) * (2*R.^2 - R) .* sin(Th);&lt;br /&gt;
Tau_Mag = abs(Tau);&lt;br /&gt;
&lt;br /&gt;
% --- 3. VISUALIZACIÓN ---&lt;br /&gt;
figure(9); clf; hold on; axis equal;&lt;br /&gt;
set(gcf, 'Color', 'w');&lt;br /&gt;
title('Tensión tangencial');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
&lt;br /&gt;
contourf(X, Y, Tau_Mag, 50, 'LineStyle', 'none');&lt;br /&gt;
c = colorbar;&lt;br /&gt;
ylabel(c,'Esfuerzo de Corte (Pa)');&lt;br /&gt;
&lt;br /&gt;
% --- 4. Colormap amplio AZUL → ROJO (256 tonos) ---&lt;br /&gt;
n = 256;&lt;br /&gt;
azul = [0 0 1];       % azul puro&lt;br /&gt;
rojo = [1 0 0];       % rojo puro&lt;br /&gt;
cmap = [linspace(azul(1), rojo(1), n)', ...&lt;br /&gt;
        linspace(azul(2), rojo(2), n)', ...&lt;br /&gt;
        linspace(azul(3), rojo(3), n)'];&lt;br /&gt;
colormap(cmap);&lt;br /&gt;
&lt;br /&gt;
% --- 5. Bordes exteriores en negro ---&lt;br /&gt;
t_border = 0:0.001:pi;&lt;br /&gt;
plot(2*cos(t_border),2*sin(t_border),'k','LineWidth',2);&lt;br /&gt;
plot(1*cos(t_border),1*sin(t_border),'k','LineWidth',2);&lt;br /&gt;
plot([-2,-1],[0,0],'k','LineWidth',2);&lt;br /&gt;
plot([1,2],[0,0],'k','LineWidth',2);&lt;br /&gt;
&lt;br /&gt;
% --- 6. Punto de máxima tensión ---&lt;br /&gt;
max_val = max(Tau_Mag(:));&lt;br /&gt;
[fr, fc] = find(Tau_Mag == max_val, 1);&lt;br /&gt;
plot(X(fr,fc),Y(fr,fc),'wx','LineWidth',2,'MarkerSize',10);&lt;br /&gt;
text(X(fr,fc),Y(fr,fc)+0.1,'Máx','Color','w','FontWeight','bold');&lt;br /&gt;
&lt;br /&gt;
axis([-2.2 2.2 0 2.2]);&lt;br /&gt;
grid off;&lt;br /&gt;
hold off;&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Tensiones tangenciales respecto al plano ortogonal &amp;lt;math&amp;gt;\frac{1}{\rho} \vec{e}_{\theta}&amp;lt;/math&amp;gt; ==&lt;br /&gt;
[[Archivo:apartado.10.png|500px|thumb|right|Tensiones tangenciales]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear; clc; close all;&lt;br /&gt;
&lt;br /&gt;
%% --- 1. Mallado polar del sólido (corona semicircular) ---&lt;br /&gt;
h = 0.02;                 % paso fino&lt;br /&gt;
rho_min = 1;&lt;br /&gt;
rho_max = 2;&lt;br /&gt;
theta_min = 0;&lt;br /&gt;
theta_max = pi;&lt;br /&gt;
&lt;br /&gt;
rho_vec = rho_min:h:rho_max;&lt;br /&gt;
theta_vec = theta_min:h:theta_max;&lt;br /&gt;
&lt;br /&gt;
[R, Th] = meshgrid(rho_vec, theta_vec);&lt;br /&gt;
&lt;br /&gt;
% Conversión a cartesianas&lt;br /&gt;
X = R .* cos(Th);&lt;br /&gt;
Y = R .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
%% --- 2. Campo u = u_theta * e_theta ---&lt;br /&gt;
u_theta = (1/5) * (R - 1) .* R.^2 .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
% Cálculo del rotacional (componente z en 2D, analítico)&lt;br /&gt;
curl_z = (1/5) .* R .* (4.*R - 3) .* sin(Th);&lt;br /&gt;
curl_abs = abs(curl_z);&lt;br /&gt;
&lt;br /&gt;
%% --- 3. Gráfica del rotacional (sin flechas) ---&lt;br /&gt;
figure;&lt;br /&gt;
hold on;&lt;br /&gt;
axis equal;&lt;br /&gt;
grid off;&lt;br /&gt;
set(gcf,'Color','w');&lt;br /&gt;
&lt;br /&gt;
% Mapa de calor del rotacional&lt;br /&gt;
contourf(X, Y, curl_abs, 40, 'LineStyle','none');&lt;br /&gt;
colorbar;&lt;br /&gt;
clim([0 2]);      % forzamos rango para que el máximo destaque bien&lt;br /&gt;
colormap turbo;&lt;br /&gt;
&lt;br /&gt;
title('Tension tangencial apartado 10');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
&lt;br /&gt;
% Borde del sólido&lt;br /&gt;
plot(rho_max*cos(theta_vec), rho_max*sin(theta_vec), 'k','LineWidth',1.8);&lt;br /&gt;
plot(rho_min*cos(theta_vec), rho_min*sin(theta_vec), 'k','LineWidth',1.8);&lt;br /&gt;
plot([-rho_max -rho_min], [0 0], 'k','LineWidth',1.8);&lt;br /&gt;
plot([rho_min rho_max], [0 0], 'k','LineWidth',1.8);&lt;br /&gt;
&lt;br /&gt;
%  Marcar punto de máximo explícitamente en (0,2) en blanco&lt;br /&gt;
xmax = 0;&lt;br /&gt;
ymax = 2;&lt;br /&gt;
plot(xmax, ymax, 'w*', 'MarkerSize', 15, 'LineWidth', 2);&lt;br /&gt;
text(xmax+0.05, ymax-0.1, '  Máximo', 'Color','w','FontSize',11,'FontWeight','bold');&lt;br /&gt;
&lt;br /&gt;
hold off;&lt;br /&gt;
&lt;br /&gt;
%% --- 4. Mostrar valor numérico máximo en consola ---&lt;br /&gt;
fprintf('Máximo de |∇×u| = %.5g en (0,2)\n', curl_abs(find(X==0 &amp;amp; abs(Y-2)&amp;lt;1e-6, 1)));&lt;br /&gt;
&lt;br /&gt;
disp('El punto con mayor rotacional es (0,2)');&lt;br /&gt;
disp('Porque |∇×u| crece con ρ y es máximo cuando sinθ = 1 (θ = π/2) y ρ = 2');&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Cálculo de la masa aproximando la integral numéricamente==&lt;br /&gt;
La masa se calcula con la siguiente integral: M = ∫∫ d(ρ, θ) dA&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El dominio es [1,2]x[0,pi] y por tanto los límites de integración serán:&lt;br /&gt;
&lt;br /&gt;
Límete de rho: 1 ≤ ρ ≤ 2&lt;br /&gt;
&lt;br /&gt;
Límite de theta: 0 ≤ θ ≤ π&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El diferencial de área (Jacobiano) es: dA = ρ dρ dθ&lt;br /&gt;
&lt;br /&gt;
La densidad viene dada por: d(ρ, θ) = 1 + e^(ρ² cos θ)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por último la masa se calculará de la siguiente manera: &lt;br /&gt;
&lt;br /&gt;
M = ∫(de 0 a π) ∫(de 1 a 2) [1 + e^(ρ² cos θ)] · ρ dρ dθ = 26.26 u²&lt;br /&gt;
&lt;br /&gt;
== Interpretación del trabajo ==&lt;br /&gt;
&lt;br /&gt;
En el Trabajo K se modela una onda transversal en una placa rectangular mediante el campo de desplazamientos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{u}(x,y,t)=\vec{a}\cos(\vec{b}\cdot\vec{r}_0 - c t)&amp;lt;/math&amp;gt; con:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{a}=\frac{1}{10}\vec{i}&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{b}=\pi\vec{j}&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;t=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Esto se puede interpretar como una onda de corte (onda S) que se propaga en un medio elástico, como la corteza terrestre durante un terremoto.&lt;br /&gt;
Las ondas S (secundarias o de corte) son ondas transversales, en las que las partículas del material vibran perpendicularmente a la dirección de propagación de la onda.&lt;br /&gt;
En este caso, la dirección de propagación es la del vector:&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{b}=\pi\vec{j}&amp;lt;/math&amp;gt;(eje 𝑦 y) y la vibración es en la dirección:&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{i}&amp;lt;/math&amp;gt;(eje 𝑥 x), lo cual es típico de ondas S con polarización horizontal (onda SH).&lt;br /&gt;
Aplicación al Trabajo M (arco entre radios 1 y 2)&lt;br /&gt;
En el Trabajo M, el dominio es un sector de arco en coordenadas polares(𝜌,𝜃)(ρ,θ), con:&amp;lt;math&amp;gt;\rho\in[1,2]&amp;lt;/math&amp;gt; y el campo de desplazamientos es:&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{u}(\rho,\theta)=\frac{1}{5}(\rho-1)\rho^{2}\sin\theta\,\vec{e}_\theta&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Este campo representa un desplazamiento puramente tangencial:&amp;lt;math&amp;gt;\vec{e}_\theta&amp;lt;/math&amp;gt; que también corresponde a una onda de corte pero en geometría curvilínea.&lt;br /&gt;
En sismología, las ondas S pueden viajar a lo largo de estructuras curvas en la corteza, como capas geológicas curvadas o interfaces entre materiales.&lt;br /&gt;
El factor:&amp;lt;math&amp;gt;(\rho-1)\rho^{2}\sin\theta&amp;lt;/math&amp;gt; indica que el desplazamiento es máximo en la parte exterior del arco: &amp;lt;math&amp;gt;\rho = 2&amp;lt;/math&amp;gt; y varía sinusoidalmente con:&amp;lt;math&amp;gt;\theta&amp;lt;/math&amp;gt; lo que podría modelar una onda estacionaria o forzada en una placa curvada.&lt;br /&gt;
Relación con la temperatura&lt;br /&gt;
En ambos trabajos se incluye un campo de temperatura: &amp;lt;math&amp;gt;T(x,y)=(x-y)^2&amp;lt;/math&amp;gt; que en el Trabajo M debe expresarse en coordenadas polares:&amp;lt;math&amp;gt;x=\rho\cos\theta&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;y=\rho\sin\theta&amp;lt;/math&amp;gt;&lt;br /&gt;
Sustituyendo: &amp;lt;math&amp;gt;T(\rho,\theta)=\rho^{2}(\cos\theta - \sin\theta)^2&amp;lt;/math&amp;gt;&lt;br /&gt;
Esta temperatura podría representar gradientes térmicos en la corteza debidos a fuentes geotérmicas, que afectan a las propiedades elásticas del medio y, por tanto, a la propagación de ondas sísmicas.&lt;br /&gt;
&lt;br /&gt;
Conclusión&lt;br /&gt;
&lt;br /&gt;
El Trabajo M puede interpretarse como el estudio de ondas de corte (S) en una región curvilínea de la corteza terrestre, como un arco de falla o una capa geológica curvada, donde los desplazamientos son transversales a la dirección radial.&lt;br /&gt;
La inclusión del campo de temperatura:&amp;lt;math&amp;gt;T(\rho,\theta)=\rho^{2}(\cos\theta - \sin\theta)^2&amp;lt;/math&amp;gt; permite analizar cómo los gradientes térmicos influyen en la deformación y propagación de ondas en estructuras geológicas reales, algo relevante en sismología y geofísica.&lt;/div&gt;</summary>
		<author><name>Álvaro Villar</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Mallado_Arco_1_(grupo_59)&amp;diff=93216</id>
		<title>Mallado Arco 1 (grupo 59)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Mallado_Arco_1_(grupo_59)&amp;diff=93216"/>
				<updated>2025-12-01T12:24:20Z</updated>
		
		<summary type="html">&lt;p&gt;Álvaro Villar: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Arco1. Grupo 59 | [[:Categoría:Teoría de Campos|Teoría de Campos]]|[[:Categoría:TC25/26|2025-26]] | &lt;br /&gt;
*Guillermo Pineros Quero&lt;br /&gt;
*Ignacio Sueiras Oviedo&lt;br /&gt;
*Francisco Yusep Saiz Cebrián&lt;br /&gt;
*Álvaro Villar Rosado&lt;br /&gt;
*Javier Ruiz Sáenz de Jubera}}&lt;br /&gt;
[[Categoría:Teoría de Campos]]&lt;br /&gt;
[[Categoría:TC25/26]]&lt;br /&gt;
== Mallado del arco ==&lt;br /&gt;
[[Archivo:untitled4.png|500px|thumb|right|Representación del mallado]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Mallado del arco alineado&lt;br /&gt;
&lt;br /&gt;
% Elegimos divisiones que garanticen que:&lt;br /&gt;
% θ = 0, pi/2, pi están incluidos &lt;br /&gt;
% r incluye exactamente 1 y 2    &lt;br /&gt;
&lt;br /&gt;
theta = linspace(0, pi, 20);   % mallado moderado, incluye 0, pi/2 y pi&lt;br /&gt;
r = linspace(1, 2, 15);        % radios exactos 1 y 2&lt;br /&gt;
&lt;br /&gt;
[R, TH] = meshgrid(r, theta);&lt;br /&gt;
&lt;br /&gt;
% Convertir a coordenadas cartesianas&lt;br /&gt;
X = R .* cos(TH);&lt;br /&gt;
Y = R .* sin(TH);&lt;br /&gt;
&lt;br /&gt;
figure;&lt;br /&gt;
hold on;&lt;br /&gt;
&lt;br /&gt;
col = [0.3 0.6 1];  % azul clarito&lt;br /&gt;
&lt;br /&gt;
% Mallado tipo red (más grueso) &lt;br /&gt;
plot(X,  Y, 'Color', col, 'LineWidth', 1.1);   % líneas en theta&lt;br /&gt;
plot(X', Y', 'Color', col, 'LineWidth', 1.1);  % líneas en r&lt;br /&gt;
&lt;br /&gt;
% Contornos superior interior y exterior &lt;br /&gt;
theta_cont = linspace(0, pi, 400);&lt;br /&gt;
&lt;br /&gt;
plot(1*cos(theta_cont), 1*sin(theta_cont), 'Color', col, 'LineWidth', 2);&lt;br /&gt;
plot(2*cos(theta_cont), 2*sin(theta_cont), 'Color', col, 'LineWidth', 2);&lt;br /&gt;
&lt;br /&gt;
% Bases &lt;br /&gt;
plot([-1 -2], [0 0], 'Color', col, 'LineWidth', 2);  % base izquierda&lt;br /&gt;
plot([ 1  2], [0 0], 'Color', col, 'LineWidth', 2);  % base derecha&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% Ajustes&lt;br /&gt;
axis equal&lt;br /&gt;
grid on&lt;br /&gt;
title('Mallado del arco')&lt;br /&gt;
xlabel('x')&lt;br /&gt;
ylabel('y')&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==  Temperatura en el arco  ==&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Mallado del arco&lt;br /&gt;
theta = linspace(0, pi, 200);   % más denso para curva suave&lt;br /&gt;
r = linspace(1, 2, 200);        % radio interior 1, exterior 2&lt;br /&gt;
[R, TH] = meshgrid(r, theta);&lt;br /&gt;
&lt;br /&gt;
% Convertir a cartesianas&lt;br /&gt;
X = R .* cos(TH);&lt;br /&gt;
Y = R .* sin(TH);&lt;br /&gt;
&lt;br /&gt;
% Funcion temperatura&lt;br /&gt;
T = (X - Y).^2;&lt;br /&gt;
&lt;br /&gt;
% Representación 2D&lt;br /&gt;
figure;&lt;br /&gt;
pcolor(X, Y, T);     % representación 2D en colores&lt;br /&gt;
shading interp       % suavizado del color&lt;br /&gt;
colormap(jet)&lt;br /&gt;
colorbar;&lt;br /&gt;
&lt;br /&gt;
title('Temperatura T(x,y) = (x - y)^2 sobre el arco')&lt;br /&gt;
xlabel('x')&lt;br /&gt;
ylabel('y')&lt;br /&gt;
axis equal            % mantiene proporciones reales&lt;br /&gt;
== desplazamiento ==&lt;br /&gt;
%% TRABAJO M (ARCO)&lt;br /&gt;
clc; clear; close all;&lt;br /&gt;
&lt;br /&gt;
%% Pregunta 3&lt;br /&gt;
% Dominio &lt;br /&gt;
rho_min = 1;  rho_max = 2;&lt;br /&gt;
th_min = 0;   th_max = pi;&lt;br /&gt;
&lt;br /&gt;
[Rho, Theta] = meshgrid(linspace(rho_min, rho_max, 100), ...&lt;br /&gt;
                        linspace(th_min, th_max, 200));&lt;br /&gt;
&lt;br /&gt;
% Convertimos a Cartesianas&lt;br /&gt;
X = Rho .* cos(Theta);&lt;br /&gt;
Y = Rho .* sin(Theta);&lt;br /&gt;
&lt;br /&gt;
%% 2. Definición de Temperatura y Gradiente&lt;br /&gt;
% Temperatura T = (x - y)^2&lt;br /&gt;
T_val = (X - Y).^2;&lt;br /&gt;
&lt;br /&gt;
% Cálculo del gradiente&lt;br /&gt;
Grad_X = 2 .* (X - Y);&lt;br /&gt;
Grad_Y = -2 .* (X - Y);&lt;br /&gt;
&lt;br /&gt;
% Representación gráfica&lt;br /&gt;
figure('Name', 'Trabajo M - Pregunta 3 (Estilo Suave)', 'Color', 'w');&lt;br /&gt;
hold on;&lt;br /&gt;
&lt;br /&gt;
contourf(X, Y, T_val, 50, 'LineStyle', 'none');&lt;br /&gt;
&lt;br /&gt;
% Creamos la gráfica&lt;br /&gt;
N = 256;&lt;br /&gt;
r = linspace(0.2, 1, N)'; &lt;br /&gt;
g = linspace(0.5, 1, N)';&lt;br /&gt;
b = linspace(1, 0, N)';   &lt;br /&gt;
mi_mapa = [r, g, b];      % Matriz de colores&lt;br /&gt;
&lt;br /&gt;
colormap(mi_mapa);&lt;br /&gt;
c = colorbar;&lt;br /&gt;
c.Label.String = 'Temperatura T = (x-y)^2';&lt;br /&gt;
&lt;br /&gt;
% Cantida de flechas&lt;br /&gt;
step_r = 8;  % Salta cada 8 puntos en el radio&lt;br /&gt;
step_t = 12; % Salta cada 12 puntos en el ángulo&lt;br /&gt;
&lt;br /&gt;
idx_r = 1:step_r:size(X,1);&lt;br /&gt;
idx_t = 1:step_t:size(X,2);&lt;br /&gt;
&lt;br /&gt;
% Dibujo flechas&lt;br /&gt;
quiver(X(idx_r, idx_t), Y(idx_r, idx_t), ...&lt;br /&gt;
       Grad_X(idx_r, idx_t), Grad_Y(idx_r, idx_t), ...&lt;br /&gt;
       'k', ...                 % Color negro flechas&lt;br /&gt;
       'LineWidth', 1.0, ...    % Grosor flechas&lt;br /&gt;
       'AutoScaleFactor', 0.8); % Tamaño flechas&lt;br /&gt;
&lt;br /&gt;
axis equal;&lt;br /&gt;
xlim([-2.5 2.5]); ylim([0 2.5]); % Márgenes &lt;br /&gt;
title('Gradiente sobre T');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
box on; &lt;br /&gt;
&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
== Gradiente de temperatura ==&lt;br /&gt;
===Cálculo del gradiente===&lt;br /&gt;
El gradiente de una función escalar (∇f) es un campo vectorial cuyas componentes son las derivadas parciales de la función. Geométricamente, el vector gradiente apunta en la dirección de máximo crecimiento de la función y es ortogonal a sus curvas de nivel.&lt;br /&gt;
&lt;br /&gt;
La fórmula para calcularlo es: &lt;br /&gt;
&lt;br /&gt;
∇f(x,y) = ( ∂f/∂x , ∂f/∂y )&lt;br /&gt;
&lt;br /&gt;
Como la temperatura viene dada por la siguiente fórmula: &lt;br /&gt;
&lt;br /&gt;
T(x, y) = (x - y)²&lt;br /&gt;
&lt;br /&gt;
El gradiente de temperatura será:&lt;br /&gt;
&lt;br /&gt;
∇T = (2(x - y), -2(x - y))&lt;br /&gt;
===Representación gráfica del gradiente===&lt;br /&gt;
[[Archivo:Gradiente apartado 3.png|500px|thumb|right|Gradiente de temperatura]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% Representación del gradiente&lt;br /&gt;
clc; clear; close all;&lt;br /&gt;
&lt;br /&gt;
% Dominio &lt;br /&gt;
rho_min = 1;  rho_max = 2;&lt;br /&gt;
th_min = 0;   th_max = pi;&lt;br /&gt;
&lt;br /&gt;
[Rho, Theta] = meshgrid(linspace(rho_min, rho_max, 100), ...&lt;br /&gt;
                        linspace(th_min, th_max, 200));&lt;br /&gt;
&lt;br /&gt;
% Convertimos a Cartesianas&lt;br /&gt;
X = Rho .* cos(Theta);&lt;br /&gt;
Y = Rho .* sin(Theta);&lt;br /&gt;
&lt;br /&gt;
%% 2. Definición de Temperatura y Gradiente&lt;br /&gt;
% Temperatura T = (x - y)^2&lt;br /&gt;
T_val = (X - Y).^2;&lt;br /&gt;
&lt;br /&gt;
% Cálculo del gradiente&lt;br /&gt;
Grad_X = 2 .* (X - Y);&lt;br /&gt;
Grad_Y = -2 .* (X - Y);&lt;br /&gt;
&lt;br /&gt;
% Representación gráfica&lt;br /&gt;
figure('Name', 'Trabajo M - Pregunta 3 (Estilo Suave)', 'Color', 'w');&lt;br /&gt;
hold on;&lt;br /&gt;
&lt;br /&gt;
contourf(X, Y, T_val, 50, 'LineStyle', 'none');&lt;br /&gt;
&lt;br /&gt;
% Creamos la gráfica&lt;br /&gt;
N = 256;&lt;br /&gt;
r = linspace(0.2, 1, N)'; &lt;br /&gt;
g = linspace(0.5, 1, N)';&lt;br /&gt;
b = linspace(1, 0, N)';   &lt;br /&gt;
mi_mapa = [r, g, b];      % Matriz de colores&lt;br /&gt;
&lt;br /&gt;
colormap(mi_mapa);&lt;br /&gt;
c = colorbar;&lt;br /&gt;
c.Label.String = 'Temperatura T = (x-y)^2';&lt;br /&gt;
&lt;br /&gt;
% Cantida de flechas&lt;br /&gt;
step_r = 8;  % Salta cada 8 puntos en el radio&lt;br /&gt;
step_t = 12; % Salta cada 12 puntos en el ángulo&lt;br /&gt;
&lt;br /&gt;
idx_r = 1:step_r:size(X,1);&lt;br /&gt;
idx_t = 1:step_t:size(X,2);&lt;br /&gt;
&lt;br /&gt;
% Dibujo flechas&lt;br /&gt;
quiver(X(idx_r, idx_t), Y(idx_r, idx_t), ...&lt;br /&gt;
       Grad_X(idx_r, idx_t), Grad_Y(idx_r, idx_t), ...&lt;br /&gt;
       'k', ...                 % Color negro flechas&lt;br /&gt;
       'LineWidth', 1.0, ...    % Grosor flechas&lt;br /&gt;
       'AutoScaleFactor', 0.8); % Tamaño flechas&lt;br /&gt;
&lt;br /&gt;
axis equal;&lt;br /&gt;
xlim([-2.5 2.5]); ylim([0 2.5]); % Márgenes &lt;br /&gt;
title('Gradiente sobre T');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
&lt;br /&gt;
box on; &lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Dibujo del sólido antes y después del desplazamiento==&lt;br /&gt;
&lt;br /&gt;
===Código===&lt;br /&gt;
[[Archivo:grafica_1.png|500px|thumb|right|Gráfica 1]]&lt;br /&gt;
[[Archivo:Grafica_2.png|500px|thumb|right|Gráfica 2]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% Visualización de Deformación (Azul vs Rojo)&lt;br /&gt;
clear; clc; close all;&lt;br /&gt;
% --- 1. DATOS Y CÁLCULOS  ---&lt;br /&gt;
rho_vec = 1:0.1:2;&lt;br /&gt;
&lt;br /&gt;
% EL CAMBIO ESTÁ AQUÍ:&lt;br /&gt;
&lt;br /&gt;
theta_vec = [0:0.1:pi, pi]; &lt;br /&gt;
&lt;br /&gt;
[R, Th] = meshgrid(rho_vec, theta_vec);&lt;br /&gt;
&lt;br /&gt;
% Posición Inicial&lt;br /&gt;
X_ini = R .* cos(Th);&lt;br /&gt;
Y_ini = R .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
% Desplazamiento u (Trabajo M)&lt;br /&gt;
u_rho   = zeros(size(R));&lt;br /&gt;
u_theta = (1/5) * (R - 1) .* (R.^2) .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
UX = u_rho .* cos(Th) - u_theta .* sin(Th);&lt;br /&gt;
UY = u_rho .* sin(Th) + u_theta .* cos(Th);&lt;br /&gt;
&lt;br /&gt;
% Posición Final&lt;br /&gt;
X_fin = X_ini + UX;&lt;br /&gt;
Y_fin = Y_ini + UY;&lt;br /&gt;
&lt;br /&gt;
% ---  GENERACIÓN DE LAS GRÁFICAS ---&lt;br /&gt;
&lt;br /&gt;
% GRÁFICA 1: Posición Inicial&lt;br /&gt;
figure(1); clf; hold on; axis equal;&lt;br /&gt;
set(gcf, 'Color', 'w'); title('1. Posición Inicial (Sin deformar)');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
plot(X_ini, Y_ini, 'b', 'LineWidth', 1);&lt;br /&gt;
plot(X_ini', Y_ini', 'b', 'LineWidth', 1);&lt;br /&gt;
plot_borde(rho_vec, theta_vec, 'k', 2); &lt;br /&gt;
axis([-2.5 2.5 0 2.5]); grid on;&lt;br /&gt;
&lt;br /&gt;
% GRÁFICA 2: Posición Final&lt;br /&gt;
figure(2); clf; hold on; axis equal;&lt;br /&gt;
set(gcf, 'Color', 'w'); title('2. Posición Final (Deformada)');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
plot(X_fin, Y_fin, 'r', 'LineWidth', 1);&lt;br /&gt;
plot(X_fin', Y_fin', 'r', 'LineWidth', 1);&lt;br /&gt;
axis([-2.5 2.5 0 2.5]); grid on;&lt;br /&gt;
&lt;br /&gt;
% GRÁFICA 3: Superposición (AZUL vs ROJO)&lt;br /&gt;
figure(3); clf; hold on; axis equal;&lt;br /&gt;
set(gcf, 'Color', 'w'); title('3. Comparativa: Inicial vs Final');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
&lt;br /&gt;
% A) Inicial: AZUL&lt;br /&gt;
plot(X_ini, Y_ini, 'b', 'LineWidth', 1);&lt;br /&gt;
plot(X_ini', Y_ini', 'b', 'LineWidth', 1);&lt;br /&gt;
&lt;br /&gt;
% B) Final: ROJO&lt;br /&gt;
plot(X_fin, Y_fin, 'r', 'LineWidth', 1.2);&lt;br /&gt;
plot(X_fin', Y_fin', 'r', 'LineWidth', 1.2);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% --- Función para bordes ---&lt;br /&gt;
function plot_borde(r_v, t_v, col, ancho)&lt;br /&gt;
    plot(r_v(end)*cos(t_v), r_v(end)*sin(t_v), col, 'LineWidth', ancho);&lt;br /&gt;
    plot(r_v(1)*cos(t_v), r_v(1)*sin(t_v), col, 'LineWidth', ancho);&lt;br /&gt;
    plot([r_v(1) r_v(end)]*cos(t_v(1)), [r_v(1) r_v(end)]*sin(t_v(1)), col, 'LineWidth', ancho);&lt;br /&gt;
    plot([r_v(1) r_v(end)]*cos(t_v(end)), [r_v(1) r_v(end)]*sin(t_v(end)), col, 'LineWidth', ancho);&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Tensiones tangenciales ==&lt;br /&gt;
[[Archivo:apartado_9.jpg|500px|thumb|right|Tensiones tangenciales]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% TENSIONES TANGENCIALES&lt;br /&gt;
clear; clc; close all;&lt;br /&gt;
&lt;br /&gt;
% --- 1. GEOMETRÍA ---&lt;br /&gt;
rho_vec = 1:0.01:2;&lt;br /&gt;
theta_vec = 0:0.01:pi;&lt;br /&gt;
[R, Th] = meshgrid(rho_vec, theta_vec);&lt;br /&gt;
&lt;br /&gt;
X = R .* cos(Th);&lt;br /&gt;
Y = R .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
% --- 2. CÁLCULO DE LA TENSIÓN ---&lt;br /&gt;
Tau = (1/5) * (2*R.^2 - R) .* sin(Th);&lt;br /&gt;
Tau_Mag = abs(Tau);&lt;br /&gt;
&lt;br /&gt;
% --- 3. VISUALIZACIÓN ---&lt;br /&gt;
figure(9); clf; hold on; axis equal;&lt;br /&gt;
set(gcf, 'Color', 'w');&lt;br /&gt;
title('Tensión tangencial');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
&lt;br /&gt;
contourf(X, Y, Tau_Mag, 50, 'LineStyle', 'none');&lt;br /&gt;
c = colorbar;&lt;br /&gt;
ylabel(c,'Esfuerzo de Corte (Pa)');&lt;br /&gt;
&lt;br /&gt;
% --- 4. Colormap amplio AZUL → ROJO (256 tonos) ---&lt;br /&gt;
n = 256;&lt;br /&gt;
azul = [0 0 1];       % azul puro&lt;br /&gt;
rojo = [1 0 0];       % rojo puro&lt;br /&gt;
cmap = [linspace(azul(1), rojo(1), n)', ...&lt;br /&gt;
        linspace(azul(2), rojo(2), n)', ...&lt;br /&gt;
        linspace(azul(3), rojo(3), n)'];&lt;br /&gt;
colormap(cmap);&lt;br /&gt;
&lt;br /&gt;
% --- 5. Bordes exteriores en negro ---&lt;br /&gt;
t_border = 0:0.001:pi;&lt;br /&gt;
plot(2*cos(t_border),2*sin(t_border),'k','LineWidth',2);&lt;br /&gt;
plot(1*cos(t_border),1*sin(t_border),'k','LineWidth',2);&lt;br /&gt;
plot([-2,-1],[0,0],'k','LineWidth',2);&lt;br /&gt;
plot([1,2],[0,0],'k','LineWidth',2);&lt;br /&gt;
&lt;br /&gt;
% --- 6. Punto de máxima tensión ---&lt;br /&gt;
max_val = max(Tau_Mag(:));&lt;br /&gt;
[fr, fc] = find(Tau_Mag == max_val, 1);&lt;br /&gt;
plot(X(fr,fc),Y(fr,fc),'wx','LineWidth',2,'MarkerSize',10);&lt;br /&gt;
text(X(fr,fc),Y(fr,fc)+0.1,'Máx','Color','w','FontWeight','bold');&lt;br /&gt;
&lt;br /&gt;
axis([-2.2 2.2 0 2.2]);&lt;br /&gt;
grid off;&lt;br /&gt;
hold off;&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
== apartado 11 ==&lt;br /&gt;
La masa se calcula con la siguiente integral: M = ∫∫ d(ρ, θ) dA&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El dominio es [1,2]x[0,pi] y por tanto los límites de integración serán:&lt;br /&gt;
&lt;br /&gt;
Límete de rho: 1 ≤ ρ ≤ 2&lt;br /&gt;
&lt;br /&gt;
Límite de theta: 0 ≤ θ ≤ π&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El diferencial de área (Jacobiano) es: dA = ρ dρ dθ&lt;br /&gt;
&lt;br /&gt;
La densidad viene dada por: d(ρ, θ) = 1 + e^(ρ² cos θ)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por último la masa se calculará de la siguiente manera: &lt;br /&gt;
&lt;br /&gt;
M = ∫(de 0 a π) ∫(de 1 a 2) [1 + e^(ρ² cos θ)] · ρ dρ dθ = 26.26 u²&lt;br /&gt;
&lt;br /&gt;
== Interpretación del trabajo ==&lt;br /&gt;
&lt;br /&gt;
En el Trabajo K se modela una onda transversal en una placa rectangular mediante el campo de desplazamientos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{u}(x,y,t)=\vec{a}\cos(\vec{b}\cdot\vec{r}_0 - c t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
con:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{a}=\frac{1}{10}\vec{i}&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{b}=\pi\vec{j}&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;t=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Esto se puede interpretar como una onda de corte (onda S) que se propaga en un medio elástico, como la corteza terrestre durante un terremoto.&lt;br /&gt;
&lt;br /&gt;
Las ondas S (secundarias o de corte) son ondas transversales, en las que las partículas del material vibran perpendicularmente a la dirección de propagación de la onda.&lt;br /&gt;
&lt;br /&gt;
En este caso, la dirección de propagación es la del vector:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{b}=\pi\vec{j}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(eje &lt;br /&gt;
𝑦&lt;br /&gt;
y) y la vibración es en la dirección:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{i}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(eje &lt;br /&gt;
𝑥&lt;br /&gt;
x), lo cual es típico de ondas S con polarización horizontal (onda SH).&lt;br /&gt;
&lt;br /&gt;
Aplicación al Trabajo M (arco entre radios 1 y 2)&lt;br /&gt;
&lt;br /&gt;
En el Trabajo M, el dominio es un sector de arco en coordenadas polares &lt;br /&gt;
(&lt;br /&gt;
𝜌&lt;br /&gt;
,&lt;br /&gt;
𝜃&lt;br /&gt;
)&lt;br /&gt;
(ρ,θ), con:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\rho\in[1,2]&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
y el campo de desplazamientos es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{u}(\rho,\theta)=\frac{1}{5}(\rho-1)\rho^{2}\sin\theta\,\vec{e}_\theta&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Este campo representa un desplazamiento puramente tangencial:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{e}_\theta&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
que también corresponde a una onda de corte pero en geometría curvilínea.&lt;br /&gt;
&lt;br /&gt;
En sismología, las ondas S pueden viajar a lo largo de estructuras curvas en la corteza, como capas geológicas curvadas o interfaces entre materiales.&lt;br /&gt;
&lt;br /&gt;
El factor:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;(\rho-1)\rho^{2}\sin\theta&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
indica que el desplazamiento es máximo en la parte exterior del arco:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\rho = 2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
y varía sinusoidalmente con:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\theta&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
lo que podría modelar una onda estacionaria o forzada en una placa curvada.&lt;br /&gt;
&lt;br /&gt;
Relación con la temperatura&lt;br /&gt;
&lt;br /&gt;
En ambos trabajos se incluye un campo de temperatura:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;T(x,y)=(x-y)^2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
que en el Trabajo M debe expresarse en coordenadas polares:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;x=\rho\cos\theta&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y=\rho\sin\theta&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sustituyendo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;T(\rho,\theta)=\rho^{2}(\cos\theta - \sin\theta)^2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Esta temperatura podría representar gradientes térmicos en la corteza debidos a fuentes geotérmicas, que afectan a las propiedades elásticas del medio y, por tanto, a la propagación de ondas sísmicas.&lt;br /&gt;
&lt;br /&gt;
Conclusión&lt;br /&gt;
&lt;br /&gt;
El Trabajo M puede interpretarse como el estudio de ondas de corte (S) en una región curvilínea de la corteza terrestre, como un arco de falla o una capa geológica curvada, donde los desplazamientos son transversales a la dirección radial.&lt;br /&gt;
&lt;br /&gt;
La inclusión del campo de temperatura:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;T(\rho,\theta)=\rho^{2}(\cos\theta - \sin\theta)^2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
permite analizar cómo los gradientes térmicos influyen en la deformación y propagación de ondas en estructuras geológicas reales, algo relevante en sismología y geofísica.&lt;/div&gt;</summary>
		<author><name>Álvaro Villar</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Mallado_Arco_1_(grupo_59)&amp;diff=93209</id>
		<title>Mallado Arco 1 (grupo 59)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Mallado_Arco_1_(grupo_59)&amp;diff=93209"/>
				<updated>2025-12-01T12:22:18Z</updated>
		
		<summary type="html">&lt;p&gt;Álvaro Villar: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Arco1. Grupo 59 | [[:Categoría:Teoría de Campos|Teoría de Campos]]|[[:Categoría:TC25/26|2025-26]] | &lt;br /&gt;
*Guillermo Pineros Quero&lt;br /&gt;
*Ignacio Sueiras Oviedo&lt;br /&gt;
*Francisco Yusep Saiz Cebrián&lt;br /&gt;
*Álvaro Villar Rosado&lt;br /&gt;
*Javier Ruiz Sáenz de Jubera}}&lt;br /&gt;
[[Categoría:Teoría de Campos]]&lt;br /&gt;
[[Categoría:TC25/26]]&lt;br /&gt;
== Mallado del arco ==&lt;br /&gt;
[[Archivo:untitled4.png|500px|thumb|right|Representación del mallado]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Mallado del arco alineado&lt;br /&gt;
&lt;br /&gt;
% Elegimos divisiones que garanticen que:&lt;br /&gt;
% θ = 0, pi/2, pi están incluidos &lt;br /&gt;
% r incluye exactamente 1 y 2    &lt;br /&gt;
&lt;br /&gt;
theta = linspace(0, pi, 20);   % mallado moderado, incluye 0, pi/2 y pi&lt;br /&gt;
r = linspace(1, 2, 15);        % radios exactos 1 y 2&lt;br /&gt;
&lt;br /&gt;
[R, TH] = meshgrid(r, theta);&lt;br /&gt;
&lt;br /&gt;
% Convertir a coordenadas cartesianas&lt;br /&gt;
X = R .* cos(TH);&lt;br /&gt;
Y = R .* sin(TH);&lt;br /&gt;
&lt;br /&gt;
figure;&lt;br /&gt;
hold on;&lt;br /&gt;
&lt;br /&gt;
col = [0.3 0.6 1];  % azul clarito&lt;br /&gt;
&lt;br /&gt;
% Mallado tipo red (más grueso) &lt;br /&gt;
plot(X,  Y, 'Color', col, 'LineWidth', 1.1);   % líneas en theta&lt;br /&gt;
plot(X', Y', 'Color', col, 'LineWidth', 1.1);  % líneas en r&lt;br /&gt;
&lt;br /&gt;
% Contornos superior interior y exterior &lt;br /&gt;
theta_cont = linspace(0, pi, 400);&lt;br /&gt;
&lt;br /&gt;
plot(1*cos(theta_cont), 1*sin(theta_cont), 'Color', col, 'LineWidth', 2);&lt;br /&gt;
plot(2*cos(theta_cont), 2*sin(theta_cont), 'Color', col, 'LineWidth', 2);&lt;br /&gt;
&lt;br /&gt;
% Bases &lt;br /&gt;
plot([-1 -2], [0 0], 'Color', col, 'LineWidth', 2);  % base izquierda&lt;br /&gt;
plot([ 1  2], [0 0], 'Color', col, 'LineWidth', 2);  % base derecha&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% Ajustes&lt;br /&gt;
axis equal&lt;br /&gt;
grid on&lt;br /&gt;
title('Mallado del arco')&lt;br /&gt;
xlabel('x')&lt;br /&gt;
ylabel('y')&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==  Temperatura en el arco  ==&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Mallado del arco&lt;br /&gt;
theta = linspace(0, pi, 200);   % más denso para curva suave&lt;br /&gt;
r = linspace(1, 2, 200);        % radio interior 1, exterior 2&lt;br /&gt;
[R, TH] = meshgrid(r, theta);&lt;br /&gt;
&lt;br /&gt;
% Convertir a cartesianas&lt;br /&gt;
X = R .* cos(TH);&lt;br /&gt;
Y = R .* sin(TH);&lt;br /&gt;
&lt;br /&gt;
% Funcion temperatura&lt;br /&gt;
T = (X - Y).^2;&lt;br /&gt;
&lt;br /&gt;
% Representación 2D&lt;br /&gt;
figure;&lt;br /&gt;
pcolor(X, Y, T);     % representación 2D en colores&lt;br /&gt;
shading interp       % suavizado del color&lt;br /&gt;
colormap(jet)&lt;br /&gt;
colorbar;&lt;br /&gt;
&lt;br /&gt;
title('Temperatura T(x,y) = (x - y)^2 sobre el arco')&lt;br /&gt;
xlabel('x')&lt;br /&gt;
ylabel('y')&lt;br /&gt;
axis equal            % mantiene proporciones reales&lt;br /&gt;
== desplazamiento ==&lt;br /&gt;
%% TRABAJO M (ARCO)&lt;br /&gt;
clc; clear; close all;&lt;br /&gt;
&lt;br /&gt;
%% Pregunta 3&lt;br /&gt;
% Dominio &lt;br /&gt;
rho_min = 1;  rho_max = 2;&lt;br /&gt;
th_min = 0;   th_max = pi;&lt;br /&gt;
&lt;br /&gt;
[Rho, Theta] = meshgrid(linspace(rho_min, rho_max, 100), ...&lt;br /&gt;
                        linspace(th_min, th_max, 200));&lt;br /&gt;
&lt;br /&gt;
% Convertimos a Cartesianas&lt;br /&gt;
X = Rho .* cos(Theta);&lt;br /&gt;
Y = Rho .* sin(Theta);&lt;br /&gt;
&lt;br /&gt;
%% 2. Definición de Temperatura y Gradiente&lt;br /&gt;
% Temperatura T = (x - y)^2&lt;br /&gt;
T_val = (X - Y).^2;&lt;br /&gt;
&lt;br /&gt;
% Cálculo del gradiente&lt;br /&gt;
Grad_X = 2 .* (X - Y);&lt;br /&gt;
Grad_Y = -2 .* (X - Y);&lt;br /&gt;
&lt;br /&gt;
% Representación gráfica&lt;br /&gt;
figure('Name', 'Trabajo M - Pregunta 3 (Estilo Suave)', 'Color', 'w');&lt;br /&gt;
hold on;&lt;br /&gt;
&lt;br /&gt;
contourf(X, Y, T_val, 50, 'LineStyle', 'none');&lt;br /&gt;
&lt;br /&gt;
% Creamos la gráfica&lt;br /&gt;
N = 256;&lt;br /&gt;
r = linspace(0.2, 1, N)'; &lt;br /&gt;
g = linspace(0.5, 1, N)';&lt;br /&gt;
b = linspace(1, 0, N)';   &lt;br /&gt;
mi_mapa = [r, g, b];      % Matriz de colores&lt;br /&gt;
&lt;br /&gt;
colormap(mi_mapa);&lt;br /&gt;
c = colorbar;&lt;br /&gt;
c.Label.String = 'Temperatura T = (x-y)^2';&lt;br /&gt;
&lt;br /&gt;
% Cantida de flechas&lt;br /&gt;
step_r = 8;  % Salta cada 8 puntos en el radio&lt;br /&gt;
step_t = 12; % Salta cada 12 puntos en el ángulo&lt;br /&gt;
&lt;br /&gt;
idx_r = 1:step_r:size(X,1);&lt;br /&gt;
idx_t = 1:step_t:size(X,2);&lt;br /&gt;
&lt;br /&gt;
% Dibujo flechas&lt;br /&gt;
quiver(X(idx_r, idx_t), Y(idx_r, idx_t), ...&lt;br /&gt;
       Grad_X(idx_r, idx_t), Grad_Y(idx_r, idx_t), ...&lt;br /&gt;
       'k', ...                 % Color negro flechas&lt;br /&gt;
       'LineWidth', 1.0, ...    % Grosor flechas&lt;br /&gt;
       'AutoScaleFactor', 0.8); % Tamaño flechas&lt;br /&gt;
&lt;br /&gt;
axis equal;&lt;br /&gt;
xlim([-2.5 2.5]); ylim([0 2.5]); % Márgenes &lt;br /&gt;
title('Gradiente sobre T');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
box on; &lt;br /&gt;
&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
== Gradiente de temperatura ==&lt;br /&gt;
===Cálculo del gradiente===&lt;br /&gt;
El gradiente de una función escalar (∇f) es un campo vectorial cuyas componentes son las derivadas parciales de la función. Geométricamente, el vector gradiente apunta en la dirección de máximo crecimiento de la función y es ortogonal a sus curvas de nivel.&lt;br /&gt;
&lt;br /&gt;
La fórmula para calcularlo es: &lt;br /&gt;
&lt;br /&gt;
∇f(x,y) = ( ∂f/∂x , ∂f/∂y )&lt;br /&gt;
&lt;br /&gt;
Como la temperatura viene dada por la siguiente fórmula: &lt;br /&gt;
&lt;br /&gt;
T(x, y) = (x - y)²&lt;br /&gt;
&lt;br /&gt;
El gradiente de temperatura será:&lt;br /&gt;
&lt;br /&gt;
∇T = (2(x - y), -2(x - y))&lt;br /&gt;
===Representación gráfica del gradiente===&lt;br /&gt;
[[Archivo:Gradiente apartado 3.png|500px|thumb|right|Gradiente de temperatura]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% GRADIANTE TEMPERATURA&lt;br /&gt;
clc; clear; close all;&lt;br /&gt;
&lt;br /&gt;
% Dominio &lt;br /&gt;
rho_min = 1;  rho_max = 2;&lt;br /&gt;
th_min = 0;   th_max = pi;&lt;br /&gt;
&lt;br /&gt;
[Rho, Theta] = meshgrid(linspace(rho_min, rho_max, 100), ...&lt;br /&gt;
                        linspace(th_min, th_max, 200));&lt;br /&gt;
&lt;br /&gt;
% Convertimos a Cartesianas&lt;br /&gt;
X = Rho .* cos(Theta);&lt;br /&gt;
Y = Rho .* sin(Theta);&lt;br /&gt;
&lt;br /&gt;
%% 2. Definición de Temperatura y Gradiente&lt;br /&gt;
% Temperatura T = (x - y)^2&lt;br /&gt;
T_val = (X - Y).^2;&lt;br /&gt;
&lt;br /&gt;
% Cálculo del gradiente&lt;br /&gt;
Grad_X = 2 .* (X - Y);&lt;br /&gt;
Grad_Y = -2 .* (X - Y);&lt;br /&gt;
&lt;br /&gt;
% Representación gráfica&lt;br /&gt;
figure('Name', 'Trabajo M - Pregunta 3 (Estilo Suave)', 'Color', 'w');&lt;br /&gt;
hold on;&lt;br /&gt;
&lt;br /&gt;
contourf(X, Y, T_val, 50, 'LineStyle', 'none');&lt;br /&gt;
&lt;br /&gt;
% Creamos la gráfica&lt;br /&gt;
N = 256;&lt;br /&gt;
r = linspace(0.2, 1, N)'; &lt;br /&gt;
g = linspace(0.5, 1, N)';&lt;br /&gt;
b = linspace(1, 0, N)';   &lt;br /&gt;
mi_mapa = [r, g, b];      % Matriz de colores&lt;br /&gt;
&lt;br /&gt;
colormap(mi_mapa);&lt;br /&gt;
c = colorbar;&lt;br /&gt;
c.Label.String = 'Temperatura T = (x-y)^2';&lt;br /&gt;
&lt;br /&gt;
% Cantida de flechas&lt;br /&gt;
step_r = 8;  % Salta cada 8 puntos en el radio&lt;br /&gt;
step_t = 12; % Salta cada 12 puntos en el ángulo&lt;br /&gt;
&lt;br /&gt;
idx_r = 1:step_r:size(X,1);&lt;br /&gt;
idx_t = 1:step_t:size(X,2);&lt;br /&gt;
&lt;br /&gt;
% Dibujo flechas&lt;br /&gt;
quiver(X(idx_r, idx_t), Y(idx_r, idx_t), ...&lt;br /&gt;
       Grad_X(idx_r, idx_t), Grad_Y(idx_r, idx_t), ...&lt;br /&gt;
       'k', ...                 % Color negro flechas&lt;br /&gt;
       'LineWidth', 1.0, ...    % Grosor flechas&lt;br /&gt;
       'AutoScaleFactor', 0.8); % Tamaño flechas&lt;br /&gt;
&lt;br /&gt;
axis equal;&lt;br /&gt;
xlim([-2.5 2.5]); ylim([0 2.5]); % Márgenes &lt;br /&gt;
title('Gradiente sobre T');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
&lt;br /&gt;
box on; &lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Dibujo del sólido antes y después del desplazamiento==&lt;br /&gt;
&lt;br /&gt;
===Código===&lt;br /&gt;
[[Archivo:grafica_1.png|500px|thumb|right|Gráfica 1]]&lt;br /&gt;
[[Archivo:Grafica_2.png|500px|thumb|right|Gráfica 2]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% Visualización de Deformación (Azul vs Rojo)&lt;br /&gt;
clear; clc; close all;&lt;br /&gt;
% --- 1. DATOS Y CÁLCULOS  ---&lt;br /&gt;
rho_vec = 1:0.1:2;&lt;br /&gt;
&lt;br /&gt;
% EL CAMBIO ESTÁ AQUÍ:&lt;br /&gt;
&lt;br /&gt;
theta_vec = [0:0.1:pi, pi]; &lt;br /&gt;
&lt;br /&gt;
[R, Th] = meshgrid(rho_vec, theta_vec);&lt;br /&gt;
&lt;br /&gt;
% Posición Inicial&lt;br /&gt;
X_ini = R .* cos(Th);&lt;br /&gt;
Y_ini = R .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
% Desplazamiento u (Trabajo M)&lt;br /&gt;
u_rho   = zeros(size(R));&lt;br /&gt;
u_theta = (1/5) * (R - 1) .* (R.^2) .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
UX = u_rho .* cos(Th) - u_theta .* sin(Th);&lt;br /&gt;
UY = u_rho .* sin(Th) + u_theta .* cos(Th);&lt;br /&gt;
&lt;br /&gt;
% Posición Final&lt;br /&gt;
X_fin = X_ini + UX;&lt;br /&gt;
Y_fin = Y_ini + UY;&lt;br /&gt;
&lt;br /&gt;
% ---  GENERACIÓN DE LAS GRÁFICAS ---&lt;br /&gt;
&lt;br /&gt;
% GRÁFICA 1: Posición Inicial&lt;br /&gt;
figure(1); clf; hold on; axis equal;&lt;br /&gt;
set(gcf, 'Color', 'w'); title('1. Posición Inicial (Sin deformar)');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
plot(X_ini, Y_ini, 'b', 'LineWidth', 1);&lt;br /&gt;
plot(X_ini', Y_ini', 'b', 'LineWidth', 1);&lt;br /&gt;
plot_borde(rho_vec, theta_vec, 'k', 2); &lt;br /&gt;
axis([-2.5 2.5 0 2.5]); grid on;&lt;br /&gt;
&lt;br /&gt;
% GRÁFICA 2: Posición Final&lt;br /&gt;
figure(2); clf; hold on; axis equal;&lt;br /&gt;
set(gcf, 'Color', 'w'); title('2. Posición Final (Deformada)');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
plot(X_fin, Y_fin, 'r', 'LineWidth', 1);&lt;br /&gt;
plot(X_fin', Y_fin', 'r', 'LineWidth', 1);&lt;br /&gt;
axis([-2.5 2.5 0 2.5]); grid on;&lt;br /&gt;
&lt;br /&gt;
% GRÁFICA 3: Superposición (AZUL vs ROJO)&lt;br /&gt;
figure(3); clf; hold on; axis equal;&lt;br /&gt;
set(gcf, 'Color', 'w'); title('3. Comparativa: Inicial vs Final');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
&lt;br /&gt;
% A) Inicial: AZUL&lt;br /&gt;
plot(X_ini, Y_ini, 'b', 'LineWidth', 1);&lt;br /&gt;
plot(X_ini', Y_ini', 'b', 'LineWidth', 1);&lt;br /&gt;
&lt;br /&gt;
% B) Final: ROJO&lt;br /&gt;
plot(X_fin, Y_fin, 'r', 'LineWidth', 1.2);&lt;br /&gt;
plot(X_fin', Y_fin', 'r', 'LineWidth', 1.2);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% --- Función para bordes ---&lt;br /&gt;
function plot_borde(r_v, t_v, col, ancho)&lt;br /&gt;
    plot(r_v(end)*cos(t_v), r_v(end)*sin(t_v), col, 'LineWidth', ancho);&lt;br /&gt;
    plot(r_v(1)*cos(t_v), r_v(1)*sin(t_v), col, 'LineWidth', ancho);&lt;br /&gt;
    plot([r_v(1) r_v(end)]*cos(t_v(1)), [r_v(1) r_v(end)]*sin(t_v(1)), col, 'LineWidth', ancho);&lt;br /&gt;
    plot([r_v(1) r_v(end)]*cos(t_v(end)), [r_v(1) r_v(end)]*sin(t_v(end)), col, 'LineWidth', ancho);&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Tensiones tangenciales ==&lt;br /&gt;
[[Archivo:apartado_9.jpg|500px|thumb|right|Tensiones tangenciales]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% TENSIONES TANGENCIALES&lt;br /&gt;
clear; clc; close all;&lt;br /&gt;
&lt;br /&gt;
% --- 1. GEOMETRÍA ---&lt;br /&gt;
rho_vec = 1:0.01:2;&lt;br /&gt;
theta_vec = 0:0.01:pi;&lt;br /&gt;
[R, Th] = meshgrid(rho_vec, theta_vec);&lt;br /&gt;
&lt;br /&gt;
X = R .* cos(Th);&lt;br /&gt;
Y = R .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
% --- 2. CÁLCULO DE LA TENSIÓN ---&lt;br /&gt;
Tau = (1/5) * (2*R.^2 - R) .* sin(Th);&lt;br /&gt;
Tau_Mag = abs(Tau);&lt;br /&gt;
&lt;br /&gt;
% --- 3. VISUALIZACIÓN ---&lt;br /&gt;
figure(9); clf; hold on; axis equal;&lt;br /&gt;
set(gcf, 'Color', 'w');&lt;br /&gt;
title('Tensión tangencial');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
&lt;br /&gt;
contourf(X, Y, Tau_Mag, 50, 'LineStyle', 'none');&lt;br /&gt;
c = colorbar;&lt;br /&gt;
ylabel(c,'Esfuerzo de Corte (Pa)');&lt;br /&gt;
&lt;br /&gt;
% --- 4. Colormap amplio AZUL → ROJO (256 tonos) ---&lt;br /&gt;
n = 256;&lt;br /&gt;
azul = [0 0 1];       % azul puro&lt;br /&gt;
rojo = [1 0 0];       % rojo puro&lt;br /&gt;
cmap = [linspace(azul(1), rojo(1), n)', ...&lt;br /&gt;
        linspace(azul(2), rojo(2), n)', ...&lt;br /&gt;
        linspace(azul(3), rojo(3), n)'];&lt;br /&gt;
colormap(cmap);&lt;br /&gt;
&lt;br /&gt;
% --- 5. Bordes exteriores en negro ---&lt;br /&gt;
t_border = 0:0.001:pi;&lt;br /&gt;
plot(2*cos(t_border),2*sin(t_border),'k','LineWidth',2);&lt;br /&gt;
plot(1*cos(t_border),1*sin(t_border),'k','LineWidth',2);&lt;br /&gt;
plot([-2,-1],[0,0],'k','LineWidth',2);&lt;br /&gt;
plot([1,2],[0,0],'k','LineWidth',2);&lt;br /&gt;
&lt;br /&gt;
% --- 6. Punto de máxima tensión ---&lt;br /&gt;
max_val = max(Tau_Mag(:));&lt;br /&gt;
[fr, fc] = find(Tau_Mag == max_val, 1);&lt;br /&gt;
plot(X(fr,fc),Y(fr,fc),'wx','LineWidth',2,'MarkerSize',10);&lt;br /&gt;
text(X(fr,fc),Y(fr,fc)+0.1,'Máx','Color','w','FontWeight','bold');&lt;br /&gt;
&lt;br /&gt;
axis([-2.2 2.2 0 2.2]);&lt;br /&gt;
grid off;&lt;br /&gt;
hold off;&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
== apartado 11 ==&lt;br /&gt;
La masa se calcula con la siguiente integral: M = ∫∫ d(ρ, θ) dA&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El dominio es [1,2]x[0,pi] y por tanto los límites de integración serán:&lt;br /&gt;
&lt;br /&gt;
Límete de rho: 1 ≤ ρ ≤ 2&lt;br /&gt;
&lt;br /&gt;
Límite de theta: 0 ≤ θ ≤ π&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El diferencial de área (Jacobiano) es: dA = ρ dρ dθ&lt;br /&gt;
&lt;br /&gt;
La densidad viene dada por: d(ρ, θ) = 1 + e^(ρ² cos θ)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por último la masa se calculará de la siguiente manera: &lt;br /&gt;
&lt;br /&gt;
M = ∫(de 0 a π) ∫(de 1 a 2) [1 + e^(ρ² cos θ)] · ρ dρ dθ = 26.26 u²&lt;br /&gt;
&lt;br /&gt;
== Interpretación del trabajo ==&lt;br /&gt;
&lt;br /&gt;
En el Trabajo K se modela una onda transversal en una placa rectangular mediante el campo de desplazamientos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{u}(x,y,t)=\vec{a}\cos(\vec{b}\cdot\vec{r}_0 - c t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
con:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{a}=\frac{1}{10}\vec{i}&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{b}=\pi\vec{j}&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;t=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Esto se puede interpretar como una onda de corte (onda S) que se propaga en un medio elástico, como la corteza terrestre durante un terremoto.&lt;br /&gt;
&lt;br /&gt;
Las ondas S (secundarias o de corte) son ondas transversales, en las que las partículas del material vibran perpendicularmente a la dirección de propagación de la onda.&lt;br /&gt;
&lt;br /&gt;
En este caso, la dirección de propagación es la del vector:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{b}=\pi\vec{j}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(eje &lt;br /&gt;
𝑦&lt;br /&gt;
y) y la vibración es en la dirección:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{i}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(eje &lt;br /&gt;
𝑥&lt;br /&gt;
x), lo cual es típico de ondas S con polarización horizontal (onda SH).&lt;br /&gt;
&lt;br /&gt;
Aplicación al Trabajo M (arco entre radios 1 y 2)&lt;br /&gt;
&lt;br /&gt;
En el Trabajo M, el dominio es un sector de arco en coordenadas polares &lt;br /&gt;
(&lt;br /&gt;
𝜌&lt;br /&gt;
,&lt;br /&gt;
𝜃&lt;br /&gt;
)&lt;br /&gt;
(ρ,θ), con:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\rho\in[1,2]&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
y el campo de desplazamientos es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{u}(\rho,\theta)=\frac{1}{5}(\rho-1)\rho^{2}\sin\theta\,\vec{e}_\theta&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Este campo representa un desplazamiento puramente tangencial:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{e}_\theta&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
que también corresponde a una onda de corte pero en geometría curvilínea.&lt;br /&gt;
&lt;br /&gt;
En sismología, las ondas S pueden viajar a lo largo de estructuras curvas en la corteza, como capas geológicas curvadas o interfaces entre materiales.&lt;br /&gt;
&lt;br /&gt;
El factor:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;(\rho-1)\rho^{2}\sin\theta&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
indica que el desplazamiento es máximo en la parte exterior del arco:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\rho = 2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
y varía sinusoidalmente con:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\theta&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
lo que podría modelar una onda estacionaria o forzada en una placa curvada.&lt;br /&gt;
&lt;br /&gt;
Relación con la temperatura&lt;br /&gt;
&lt;br /&gt;
En ambos trabajos se incluye un campo de temperatura:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;T(x,y)=(x-y)^2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
que en el Trabajo M debe expresarse en coordenadas polares:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;x=\rho\cos\theta&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y=\rho\sin\theta&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sustituyendo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;T(\rho,\theta)=\rho^{2}(\cos\theta - \sin\theta)^2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Esta temperatura podría representar gradientes térmicos en la corteza debidos a fuentes geotérmicas, que afectan a las propiedades elásticas del medio y, por tanto, a la propagación de ondas sísmicas.&lt;br /&gt;
&lt;br /&gt;
Conclusión&lt;br /&gt;
&lt;br /&gt;
El Trabajo M puede interpretarse como el estudio de ondas de corte (S) en una región curvilínea de la corteza terrestre, como un arco de falla o una capa geológica curvada, donde los desplazamientos son transversales a la dirección radial.&lt;br /&gt;
&lt;br /&gt;
La inclusión del campo de temperatura:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;T(\rho,\theta)=\rho^{2}(\cos\theta - \sin\theta)^2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
permite analizar cómo los gradientes térmicos influyen en la deformación y propagación de ondas en estructuras geológicas reales, algo relevante en sismología y geofísica.&lt;/div&gt;</summary>
		<author><name>Álvaro Villar</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Mallado_Arco_1_(grupo_59)&amp;diff=93204</id>
		<title>Mallado Arco 1 (grupo 59)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Mallado_Arco_1_(grupo_59)&amp;diff=93204"/>
				<updated>2025-12-01T12:20:56Z</updated>
		
		<summary type="html">&lt;p&gt;Álvaro Villar: /* Gradiente de temperatura */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Arco1. Grupo 59 | [[:Categoría:Teoría de Campos|Teoría de Campos]]|[[:Categoría:TC25/26|2025-26]] | &lt;br /&gt;
*Guillermo Pineros Quero&lt;br /&gt;
*Ignacio Sueiras Oviedo&lt;br /&gt;
*Francisco Yusep Saiz Cebrián&lt;br /&gt;
*Álvaro Villar Rosado&lt;br /&gt;
*Javier Ruiz Sáenz de Jubera}}&lt;br /&gt;
[[Categoría:Teoría de Campos]]&lt;br /&gt;
[[Categoría:TC25/26]]&lt;br /&gt;
== Mallado del arco ==&lt;br /&gt;
[[Archivo:untitled4.png|500px|thumb|right|Representación del mallado]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Mallado del arco alineado&lt;br /&gt;
&lt;br /&gt;
% Elegimos divisiones que garanticen que:&lt;br /&gt;
% θ = 0, pi/2, pi están incluidos &lt;br /&gt;
% r incluye exactamente 1 y 2    &lt;br /&gt;
&lt;br /&gt;
theta = linspace(0, pi, 20);   % mallado moderado, incluye 0, pi/2 y pi&lt;br /&gt;
r = linspace(1, 2, 15);        % radios exactos 1 y 2&lt;br /&gt;
&lt;br /&gt;
[R, TH] = meshgrid(r, theta);&lt;br /&gt;
&lt;br /&gt;
% Convertir a coordenadas cartesianas&lt;br /&gt;
X = R .* cos(TH);&lt;br /&gt;
Y = R .* sin(TH);&lt;br /&gt;
&lt;br /&gt;
figure;&lt;br /&gt;
hold on;&lt;br /&gt;
&lt;br /&gt;
col = [0.3 0.6 1];  % azul clarito&lt;br /&gt;
&lt;br /&gt;
% Mallado tipo red (más grueso) &lt;br /&gt;
plot(X,  Y, 'Color', col, 'LineWidth', 1.1);   % líneas en theta&lt;br /&gt;
plot(X', Y', 'Color', col, 'LineWidth', 1.1);  % líneas en r&lt;br /&gt;
&lt;br /&gt;
% Contornos superior interior y exterior &lt;br /&gt;
theta_cont = linspace(0, pi, 400);&lt;br /&gt;
&lt;br /&gt;
plot(1*cos(theta_cont), 1*sin(theta_cont), 'Color', col, 'LineWidth', 2);&lt;br /&gt;
plot(2*cos(theta_cont), 2*sin(theta_cont), 'Color', col, 'LineWidth', 2);&lt;br /&gt;
&lt;br /&gt;
% Bases &lt;br /&gt;
plot([-1 -2], [0 0], 'Color', col, 'LineWidth', 2);  % base izquierda&lt;br /&gt;
plot([ 1  2], [0 0], 'Color', col, 'LineWidth', 2);  % base derecha&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% Ajustes&lt;br /&gt;
axis equal&lt;br /&gt;
grid on&lt;br /&gt;
title('Mallado del arco')&lt;br /&gt;
xlabel('x')&lt;br /&gt;
ylabel('y')&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==  Temperatura en el arco  ==&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Mallado del arco&lt;br /&gt;
theta = linspace(0, pi, 200);   % más denso para curva suave&lt;br /&gt;
r = linspace(1, 2, 200);        % radio interior 1, exterior 2&lt;br /&gt;
[R, TH] = meshgrid(r, theta);&lt;br /&gt;
&lt;br /&gt;
% Convertir a cartesianas&lt;br /&gt;
X = R .* cos(TH);&lt;br /&gt;
Y = R .* sin(TH);&lt;br /&gt;
&lt;br /&gt;
% Funcion temperatura&lt;br /&gt;
T = (X - Y).^2;&lt;br /&gt;
&lt;br /&gt;
% Representación 2D&lt;br /&gt;
figure;&lt;br /&gt;
pcolor(X, Y, T);     % representación 2D en colores&lt;br /&gt;
shading interp       % suavizado del color&lt;br /&gt;
colormap(jet)&lt;br /&gt;
colorbar;&lt;br /&gt;
&lt;br /&gt;
title('Temperatura T(x,y) = (x - y)^2 sobre el arco')&lt;br /&gt;
xlabel('x')&lt;br /&gt;
ylabel('y')&lt;br /&gt;
axis equal            % mantiene proporciones reales&lt;br /&gt;
== desplazamiento ==&lt;br /&gt;
%% TRABAJO M (ARCO)&lt;br /&gt;
clc; clear; close all;&lt;br /&gt;
&lt;br /&gt;
%% Pregunta 3&lt;br /&gt;
% Dominio &lt;br /&gt;
rho_min = 1;  rho_max = 2;&lt;br /&gt;
th_min = 0;   th_max = pi;&lt;br /&gt;
&lt;br /&gt;
[Rho, Theta] = meshgrid(linspace(rho_min, rho_max, 100), ...&lt;br /&gt;
                        linspace(th_min, th_max, 200));&lt;br /&gt;
&lt;br /&gt;
% Convertimos a Cartesianas&lt;br /&gt;
X = Rho .* cos(Theta);&lt;br /&gt;
Y = Rho .* sin(Theta);&lt;br /&gt;
&lt;br /&gt;
%% 2. Definición de Temperatura y Gradiente&lt;br /&gt;
% Temperatura T = (x - y)^2&lt;br /&gt;
T_val = (X - Y).^2;&lt;br /&gt;
&lt;br /&gt;
% Cálculo del gradiente&lt;br /&gt;
Grad_X = 2 .* (X - Y);&lt;br /&gt;
Grad_Y = -2 .* (X - Y);&lt;br /&gt;
&lt;br /&gt;
% Representación gráfica&lt;br /&gt;
figure('Name', 'Trabajo M - Pregunta 3 (Estilo Suave)', 'Color', 'w');&lt;br /&gt;
hold on;&lt;br /&gt;
&lt;br /&gt;
contourf(X, Y, T_val, 50, 'LineStyle', 'none');&lt;br /&gt;
&lt;br /&gt;
% Creamos la gráfica&lt;br /&gt;
N = 256;&lt;br /&gt;
r = linspace(0.2, 1, N)'; &lt;br /&gt;
g = linspace(0.5, 1, N)';&lt;br /&gt;
b = linspace(1, 0, N)';   &lt;br /&gt;
mi_mapa = [r, g, b];      % Matriz de colores&lt;br /&gt;
&lt;br /&gt;
colormap(mi_mapa);&lt;br /&gt;
c = colorbar;&lt;br /&gt;
c.Label.String = 'Temperatura T = (x-y)^2';&lt;br /&gt;
&lt;br /&gt;
% Cantida de flechas&lt;br /&gt;
step_r = 8;  % Salta cada 8 puntos en el radio&lt;br /&gt;
step_t = 12; % Salta cada 12 puntos en el ángulo&lt;br /&gt;
&lt;br /&gt;
idx_r = 1:step_r:size(X,1);&lt;br /&gt;
idx_t = 1:step_t:size(X,2);&lt;br /&gt;
&lt;br /&gt;
% Dibujo flechas&lt;br /&gt;
quiver(X(idx_r, idx_t), Y(idx_r, idx_t), ...&lt;br /&gt;
       Grad_X(idx_r, idx_t), Grad_Y(idx_r, idx_t), ...&lt;br /&gt;
       'k', ...                 % Color negro flechas&lt;br /&gt;
       'LineWidth', 1.0, ...    % Grosor flechas&lt;br /&gt;
       'AutoScaleFactor', 0.8); % Tamaño flechas&lt;br /&gt;
&lt;br /&gt;
axis equal;&lt;br /&gt;
xlim([-2.5 2.5]); ylim([0 2.5]); % Márgenes &lt;br /&gt;
title('Gradiente sobre T');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
box on; &lt;br /&gt;
&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
== Gradiente de temperatura ==&lt;br /&gt;
===Cálculo del gradiente===&lt;br /&gt;
El gradiente de una función escalar (∇f) es un campo vectorial cuyas componentes son las derivadas parciales de la función. Geométricamente, el vector gradiente apunta en la dirección de máximo crecimiento de la función y es ortogonal a sus curvas de nivel.&lt;br /&gt;
La fórmula para calcularlo es: &lt;br /&gt;
∇f(x,y) = ( ∂f/∂x , ∂f/∂y )&lt;br /&gt;
Como la temperatura viene dada por la siguiente fórmula: &lt;br /&gt;
T(x, y) = (x - y)²&lt;br /&gt;
El gradiente de temperatura será:&lt;br /&gt;
∇T = (2(x - y), -2(x - y))&lt;br /&gt;
[[Archivo:Gradiente apartado 3.png|500px|thumb|right|Gradiente de temperatura]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% GRADIANTE TEMPERATURA&lt;br /&gt;
clc; clear; close all;&lt;br /&gt;
&lt;br /&gt;
% Dominio &lt;br /&gt;
rho_min = 1;  rho_max = 2;&lt;br /&gt;
th_min = 0;   th_max = pi;&lt;br /&gt;
&lt;br /&gt;
[Rho, Theta] = meshgrid(linspace(rho_min, rho_max, 100), ...&lt;br /&gt;
                        linspace(th_min, th_max, 200));&lt;br /&gt;
&lt;br /&gt;
% Convertimos a Cartesianas&lt;br /&gt;
X = Rho .* cos(Theta);&lt;br /&gt;
Y = Rho .* sin(Theta);&lt;br /&gt;
&lt;br /&gt;
%% 2. Definición de Temperatura y Gradiente&lt;br /&gt;
% Temperatura T = (x - y)^2&lt;br /&gt;
T_val = (X - Y).^2;&lt;br /&gt;
&lt;br /&gt;
% Cálculo del gradiente&lt;br /&gt;
Grad_X = 2 .* (X - Y);&lt;br /&gt;
Grad_Y = -2 .* (X - Y);&lt;br /&gt;
&lt;br /&gt;
% Representación gráfica&lt;br /&gt;
figure('Name', 'Trabajo M - Pregunta 3 (Estilo Suave)', 'Color', 'w');&lt;br /&gt;
hold on;&lt;br /&gt;
&lt;br /&gt;
contourf(X, Y, T_val, 50, 'LineStyle', 'none');&lt;br /&gt;
&lt;br /&gt;
% Creamos la gráfica&lt;br /&gt;
N = 256;&lt;br /&gt;
r = linspace(0.2, 1, N)'; &lt;br /&gt;
g = linspace(0.5, 1, N)';&lt;br /&gt;
b = linspace(1, 0, N)';   &lt;br /&gt;
mi_mapa = [r, g, b];      % Matriz de colores&lt;br /&gt;
&lt;br /&gt;
colormap(mi_mapa);&lt;br /&gt;
c = colorbar;&lt;br /&gt;
c.Label.String = 'Temperatura T = (x-y)^2';&lt;br /&gt;
&lt;br /&gt;
% Cantida de flechas&lt;br /&gt;
step_r = 8;  % Salta cada 8 puntos en el radio&lt;br /&gt;
step_t = 12; % Salta cada 12 puntos en el ángulo&lt;br /&gt;
&lt;br /&gt;
idx_r = 1:step_r:size(X,1);&lt;br /&gt;
idx_t = 1:step_t:size(X,2);&lt;br /&gt;
&lt;br /&gt;
% Dibujo flechas&lt;br /&gt;
quiver(X(idx_r, idx_t), Y(idx_r, idx_t), ...&lt;br /&gt;
       Grad_X(idx_r, idx_t), Grad_Y(idx_r, idx_t), ...&lt;br /&gt;
       'k', ...                 % Color negro flechas&lt;br /&gt;
       'LineWidth', 1.0, ...    % Grosor flechas&lt;br /&gt;
       'AutoScaleFactor', 0.8); % Tamaño flechas&lt;br /&gt;
&lt;br /&gt;
axis equal;&lt;br /&gt;
xlim([-2.5 2.5]); ylim([0 2.5]); % Márgenes &lt;br /&gt;
title('Gradiente sobre T');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
&lt;br /&gt;
box on; &lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Dibujo del sólido antes y después del desplazamiento==&lt;br /&gt;
&lt;br /&gt;
===Código===&lt;br /&gt;
[[Archivo:grafica_1.png|500px|thumb|right|Gráfica 1]]&lt;br /&gt;
[[Archivo:Grafica_2.png|500px|thumb|right|Gráfica 2]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% Visualización de Deformación (Azul vs Rojo)&lt;br /&gt;
clear; clc; close all;&lt;br /&gt;
% --- 1. DATOS Y CÁLCULOS  ---&lt;br /&gt;
rho_vec = 1:0.1:2;&lt;br /&gt;
&lt;br /&gt;
% EL CAMBIO ESTÁ AQUÍ:&lt;br /&gt;
&lt;br /&gt;
theta_vec = [0:0.1:pi, pi]; &lt;br /&gt;
&lt;br /&gt;
[R, Th] = meshgrid(rho_vec, theta_vec);&lt;br /&gt;
&lt;br /&gt;
% Posición Inicial&lt;br /&gt;
X_ini = R .* cos(Th);&lt;br /&gt;
Y_ini = R .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
% Desplazamiento u (Trabajo M)&lt;br /&gt;
u_rho   = zeros(size(R));&lt;br /&gt;
u_theta = (1/5) * (R - 1) .* (R.^2) .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
UX = u_rho .* cos(Th) - u_theta .* sin(Th);&lt;br /&gt;
UY = u_rho .* sin(Th) + u_theta .* cos(Th);&lt;br /&gt;
&lt;br /&gt;
% Posición Final&lt;br /&gt;
X_fin = X_ini + UX;&lt;br /&gt;
Y_fin = Y_ini + UY;&lt;br /&gt;
&lt;br /&gt;
% ---  GENERACIÓN DE LAS GRÁFICAS ---&lt;br /&gt;
&lt;br /&gt;
% GRÁFICA 1: Posición Inicial&lt;br /&gt;
figure(1); clf; hold on; axis equal;&lt;br /&gt;
set(gcf, 'Color', 'w'); title('1. Posición Inicial (Sin deformar)');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
plot(X_ini, Y_ini, 'b', 'LineWidth', 1);&lt;br /&gt;
plot(X_ini', Y_ini', 'b', 'LineWidth', 1);&lt;br /&gt;
plot_borde(rho_vec, theta_vec, 'k', 2); &lt;br /&gt;
axis([-2.5 2.5 0 2.5]); grid on;&lt;br /&gt;
&lt;br /&gt;
% GRÁFICA 2: Posición Final&lt;br /&gt;
figure(2); clf; hold on; axis equal;&lt;br /&gt;
set(gcf, 'Color', 'w'); title('2. Posición Final (Deformada)');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
plot(X_fin, Y_fin, 'r', 'LineWidth', 1);&lt;br /&gt;
plot(X_fin', Y_fin', 'r', 'LineWidth', 1);&lt;br /&gt;
axis([-2.5 2.5 0 2.5]); grid on;&lt;br /&gt;
&lt;br /&gt;
% GRÁFICA 3: Superposición (AZUL vs ROJO)&lt;br /&gt;
figure(3); clf; hold on; axis equal;&lt;br /&gt;
set(gcf, 'Color', 'w'); title('3. Comparativa: Inicial vs Final');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
&lt;br /&gt;
% A) Inicial: AZUL&lt;br /&gt;
plot(X_ini, Y_ini, 'b', 'LineWidth', 1);&lt;br /&gt;
plot(X_ini', Y_ini', 'b', 'LineWidth', 1);&lt;br /&gt;
&lt;br /&gt;
% B) Final: ROJO&lt;br /&gt;
plot(X_fin, Y_fin, 'r', 'LineWidth', 1.2);&lt;br /&gt;
plot(X_fin', Y_fin', 'r', 'LineWidth', 1.2);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% --- Función para bordes ---&lt;br /&gt;
function plot_borde(r_v, t_v, col, ancho)&lt;br /&gt;
    plot(r_v(end)*cos(t_v), r_v(end)*sin(t_v), col, 'LineWidth', ancho);&lt;br /&gt;
    plot(r_v(1)*cos(t_v), r_v(1)*sin(t_v), col, 'LineWidth', ancho);&lt;br /&gt;
    plot([r_v(1) r_v(end)]*cos(t_v(1)), [r_v(1) r_v(end)]*sin(t_v(1)), col, 'LineWidth', ancho);&lt;br /&gt;
    plot([r_v(1) r_v(end)]*cos(t_v(end)), [r_v(1) r_v(end)]*sin(t_v(end)), col, 'LineWidth', ancho);&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Tensiones tangenciales ==&lt;br /&gt;
[[Archivo:apartado_9.jpg|500px|thumb|right|Tensiones tangenciales]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% TENSIONES TANGENCIALES&lt;br /&gt;
clear; clc; close all;&lt;br /&gt;
&lt;br /&gt;
% --- 1. GEOMETRÍA ---&lt;br /&gt;
rho_vec = 1:0.01:2;&lt;br /&gt;
theta_vec = 0:0.01:pi;&lt;br /&gt;
[R, Th] = meshgrid(rho_vec, theta_vec);&lt;br /&gt;
&lt;br /&gt;
X = R .* cos(Th);&lt;br /&gt;
Y = R .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
% --- 2. CÁLCULO DE LA TENSIÓN ---&lt;br /&gt;
Tau = (1/5) * (2*R.^2 - R) .* sin(Th);&lt;br /&gt;
Tau_Mag = abs(Tau);&lt;br /&gt;
&lt;br /&gt;
% --- 3. VISUALIZACIÓN ---&lt;br /&gt;
figure(9); clf; hold on; axis equal;&lt;br /&gt;
set(gcf, 'Color', 'w');&lt;br /&gt;
title('Tensión tangencial');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
&lt;br /&gt;
contourf(X, Y, Tau_Mag, 50, 'LineStyle', 'none');&lt;br /&gt;
c = colorbar;&lt;br /&gt;
ylabel(c,'Esfuerzo de Corte (Pa)');&lt;br /&gt;
&lt;br /&gt;
% --- 4. Colormap amplio AZUL → ROJO (256 tonos) ---&lt;br /&gt;
n = 256;&lt;br /&gt;
azul = [0 0 1];       % azul puro&lt;br /&gt;
rojo = [1 0 0];       % rojo puro&lt;br /&gt;
cmap = [linspace(azul(1), rojo(1), n)', ...&lt;br /&gt;
        linspace(azul(2), rojo(2), n)', ...&lt;br /&gt;
        linspace(azul(3), rojo(3), n)'];&lt;br /&gt;
colormap(cmap);&lt;br /&gt;
&lt;br /&gt;
% --- 5. Bordes exteriores en negro ---&lt;br /&gt;
t_border = 0:0.001:pi;&lt;br /&gt;
plot(2*cos(t_border),2*sin(t_border),'k','LineWidth',2);&lt;br /&gt;
plot(1*cos(t_border),1*sin(t_border),'k','LineWidth',2);&lt;br /&gt;
plot([-2,-1],[0,0],'k','LineWidth',2);&lt;br /&gt;
plot([1,2],[0,0],'k','LineWidth',2);&lt;br /&gt;
&lt;br /&gt;
% --- 6. Punto de máxima tensión ---&lt;br /&gt;
max_val = max(Tau_Mag(:));&lt;br /&gt;
[fr, fc] = find(Tau_Mag == max_val, 1);&lt;br /&gt;
plot(X(fr,fc),Y(fr,fc),'wx','LineWidth',2,'MarkerSize',10);&lt;br /&gt;
text(X(fr,fc),Y(fr,fc)+0.1,'Máx','Color','w','FontWeight','bold');&lt;br /&gt;
&lt;br /&gt;
axis([-2.2 2.2 0 2.2]);&lt;br /&gt;
grid off;&lt;br /&gt;
hold off;&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
== apartado 11 ==&lt;br /&gt;
La masa se calcula con la siguiente integral: M = ∫∫ d(ρ, θ) dA&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El dominio es [1,2]x[0,pi] y por tanto los límites de integración serán:&lt;br /&gt;
&lt;br /&gt;
Límete de rho: 1 ≤ ρ ≤ 2&lt;br /&gt;
&lt;br /&gt;
Límite de theta: 0 ≤ θ ≤ π&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El diferencial de área (Jacobiano) es: dA = ρ dρ dθ&lt;br /&gt;
&lt;br /&gt;
La densidad viene dada por: d(ρ, θ) = 1 + e^(ρ² cos θ)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por último la masa se calculará de la siguiente manera: &lt;br /&gt;
&lt;br /&gt;
M = ∫(de 0 a π) ∫(de 1 a 2) [1 + e^(ρ² cos θ)] · ρ dρ dθ = 26.26 u²&lt;br /&gt;
&lt;br /&gt;
== Interpretación del trabajo ==&lt;br /&gt;
En el Trabajo M se modela una onda transversal en una placa rectangular mediante el campo de desplazamientos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{u}(x,y,t)=\vec{a}\cos(\vec{b}\cdot\vec{r}_0 - c t)&amp;lt;/math&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
con&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{a}=\frac{1}{10}\vec{i}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Esto se puede interpretar como una onda de corte (onda S) que se propaga en un medio elástico, como la corteza terrestre durante un terremoto.&lt;br /&gt;
&lt;br /&gt;
Ondas S (secundarias o de corte): son ondas transversales, en las que las partículas del material vibran perpendicularmente a la dirección de propagación de la onda.&lt;br /&gt;
&lt;br /&gt;
En este caso, la dirección de propagación es la del vector &amp;lt;math&amp;gt;\vec{b}=\pi\vec{j}&amp;lt;/math&amp;gt; (eje y), y la vibración es en la dirección &amp;lt;math&amp;gt;\vec{i}&amp;lt;/math&amp;gt; (eje x), lo cual es típico de ondas S con polarización horizontal (onda SH).&lt;br /&gt;
&lt;br /&gt;
Aplicación al Trabajo M (arco entre radios 1 y 2)&lt;br /&gt;
&lt;br /&gt;
En el Trabajo M, el dominio es un sector de arco en coordenadas polares (ρ,θ), con ρ ∈ [1,2], y el campo de desplazamientos es:&lt;br /&gt;
&lt;br /&gt;
u⃗(ρ,θ) = 1/5 (ρ−1) ρ² sinθ &amp;lt;math&amp;gt;t=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Este campo representa un desplazamiento puramente tangencial (e⃗θ), que también corresponde a una onda de corte pero en geometría curvilínea.&lt;br /&gt;
&lt;br /&gt;
En sismología, las ondas S pueden viajar a lo largo de estructuras curvas en la corteza, como capas geológicas curvadas o interfaces entre materiales.&lt;br /&gt;
&lt;br /&gt;
El factor (ρ−1) ρ² sinθ indica que el desplazamiento es máximo en la parte exterior del arco (ρ = 2) y varía sinusoidalmente con θ, lo que podría modelar una onda estacionaria o forzada en una placa curvada.&lt;br /&gt;
&lt;br /&gt;
Relación con la temperatura&lt;br /&gt;
&lt;br /&gt;
En ambos trabajos se incluye un campo de temperatura:&lt;br /&gt;
&lt;br /&gt;
T(x,y) = (x − y)²,&lt;br /&gt;
&lt;br /&gt;
que en el Trabajo M debe expresarse en coordenadas polares:&lt;br /&gt;
&lt;br /&gt;
x = ρ cosθ,&lt;br /&gt;
y = ρ sinθ,&lt;br /&gt;
&lt;br /&gt;
T(ρ,θ) = ρ² (cosθ − sinθ)².&lt;br /&gt;
&lt;br /&gt;
Esta temperatura podría representar gradientes térmicos en la corteza debidos a fuentes geotérmicas, que afectan a las propiedades elásticas del medio y, por tanto, a la propagación de ondas sísmicas.&lt;br /&gt;
&lt;br /&gt;
Conclusión de la aplicación&lt;br /&gt;
&lt;br /&gt;
El Trabajo M puede interpretarse como el estudio de ondas de corte (S) en una región curvilínea de la corteza terrestre, como un arco de falla o una capa geológica curvada, donde los desplazamientos son transversales a la dirección radial. La inclusión del campo de temperatura permite analizar cómo los gradientes térmicos influyen en la deformación y propagación de ondas en estructuras geológicas reales, algo relevante en sismología y geofísica.&lt;br /&gt;
&lt;br /&gt;
En el Trabajo K se modela una onda transversal en una placa rectangular mediante el campo de desplazamientos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{u}(x,y,t)=\vec{a}\cos(\vec{b}\cdot\vec{r}_0 - c t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
con:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{a}=\frac{1}{10}\vec{i}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{b}=\pi\vec{j}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;t=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Esto se puede interpretar como una onda de corte (onda S) que se propaga en un medio elástico, como la corteza terrestre durante un terremoto.&lt;br /&gt;
&lt;br /&gt;
Las ondas S (secundarias o de corte) son ondas transversales, en las que las partículas del material vibran perpendicularmente a la dirección de propagación de la onda.&lt;br /&gt;
&lt;br /&gt;
En este caso, la dirección de propagación es la del vector:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{b}=\pi\vec{j}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(eje &lt;br /&gt;
𝑦&lt;br /&gt;
y) y la vibración es en la dirección:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{i}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(eje &lt;br /&gt;
𝑥&lt;br /&gt;
x), lo cual es típico de ondas S con polarización horizontal (onda SH).&lt;br /&gt;
&lt;br /&gt;
Aplicación al Trabajo M (arco entre radios 1 y 2)&lt;br /&gt;
&lt;br /&gt;
En el Trabajo M, el dominio es un sector de arco en coordenadas polares &lt;br /&gt;
(&lt;br /&gt;
𝜌&lt;br /&gt;
,&lt;br /&gt;
𝜃&lt;br /&gt;
)&lt;br /&gt;
(ρ,θ), con:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\rho\in[1,2]&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
y el campo de desplazamientos es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{u}(\rho,\theta)=\frac{1}{5}(\rho-1)\rho^{2}\sin\theta\,\vec{e}_\theta&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Este campo representa un desplazamiento puramente tangencial:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{e}_\theta&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
que también corresponde a una onda de corte pero en geometría curvilínea.&lt;br /&gt;
&lt;br /&gt;
En sismología, las ondas S pueden viajar a lo largo de estructuras curvas en la corteza, como capas geológicas curvadas o interfaces entre materiales.&lt;br /&gt;
&lt;br /&gt;
El factor:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;(\rho-1)\rho^{2}\sin\theta&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
indica que el desplazamiento es máximo en la parte exterior del arco:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\rho = 2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
y varía sinusoidalmente con:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\theta&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
lo que podría modelar una onda estacionaria o forzada en una placa curvada.&lt;br /&gt;
&lt;br /&gt;
Relación con la temperatura&lt;br /&gt;
&lt;br /&gt;
En ambos trabajos se incluye un campo de temperatura:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;T(x,y)=(x-y)^2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
que en el Trabajo M debe expresarse en coordenadas polares:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;x=\rho\cos\theta&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y=\rho\sin\theta&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sustituyendo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;T(\rho,\theta)=\rho^{2}(\cos\theta - \sin\theta)^2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Esta temperatura podría representar gradientes térmicos en la corteza debidos a fuentes geotérmicas, que afectan a las propiedades elásticas del medio y, por tanto, a la propagación de ondas sísmicas.&lt;br /&gt;
&lt;br /&gt;
Conclusión&lt;br /&gt;
&lt;br /&gt;
El Trabajo M puede interpretarse como el estudio de ondas de corte (S) en una región curvilínea de la corteza terrestre, como un arco de falla o una capa geológica curvada, donde los desplazamientos son transversales a la dirección radial.&lt;br /&gt;
&lt;br /&gt;
La inclusión del campo de temperatura:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;T(\rho,\theta)=\rho^{2}(\cos\theta - \sin\theta)^2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
permite analizar cómo los gradientes térmicos influyen en la deformación y propagación de ondas en estructuras geológicas reales, algo relevante en sismología y geofísica.&lt;/div&gt;</summary>
		<author><name>Álvaro Villar</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Mallado_Arco_1_(grupo_59)&amp;diff=93187</id>
		<title>Mallado Arco 1 (grupo 59)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Mallado_Arco_1_(grupo_59)&amp;diff=93187"/>
				<updated>2025-12-01T12:06:30Z</updated>
		
		<summary type="html">&lt;p&gt;Álvaro Villar: /* apartado 11 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Arco1. Grupo 59 | [[:Categoría:Teoría de Campos|Teoría de Campos]]|[[:Categoría:TC25/26|2025-26]] | &lt;br /&gt;
*Guillermo Pineros Quero&lt;br /&gt;
*Ignacio Sueiras Oviedo&lt;br /&gt;
*Francisco Yusep Saiz Cebrián&lt;br /&gt;
*Álvaro Villar Rosado&lt;br /&gt;
*Javier Ruiz Sáenz de Jubera}}&lt;br /&gt;
[[Categoría:Teoría de Campos]]&lt;br /&gt;
[[Categoría:TC25/26]]&lt;br /&gt;
== Mallado del arco ==&lt;br /&gt;
[[Archivo:untitled4.png|500px|thumb|right|Representación del mallado]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Mallado del arco alineado&lt;br /&gt;
&lt;br /&gt;
% Elegimos divisiones que garanticen que:&lt;br /&gt;
% θ = 0, pi/2, pi están incluidos &lt;br /&gt;
% r incluye exactamente 1 y 2    &lt;br /&gt;
&lt;br /&gt;
theta = linspace(0, pi, 20);   % mallado moderado, incluye 0, pi/2 y pi&lt;br /&gt;
r = linspace(1, 2, 15);        % radios exactos 1 y 2&lt;br /&gt;
&lt;br /&gt;
[R, TH] = meshgrid(r, theta);&lt;br /&gt;
&lt;br /&gt;
% Convertir a coordenadas cartesianas&lt;br /&gt;
X = R .* cos(TH);&lt;br /&gt;
Y = R .* sin(TH);&lt;br /&gt;
&lt;br /&gt;
figure;&lt;br /&gt;
hold on;&lt;br /&gt;
&lt;br /&gt;
col = [0.3 0.6 1];  % azul clarito&lt;br /&gt;
&lt;br /&gt;
% Mallado tipo red (más grueso) &lt;br /&gt;
plot(X,  Y, 'Color', col, 'LineWidth', 1.1);   % líneas en theta&lt;br /&gt;
plot(X', Y', 'Color', col, 'LineWidth', 1.1);  % líneas en r&lt;br /&gt;
&lt;br /&gt;
% Contornos superior interior y exterior &lt;br /&gt;
theta_cont = linspace(0, pi, 400);&lt;br /&gt;
&lt;br /&gt;
plot(1*cos(theta_cont), 1*sin(theta_cont), 'Color', col, 'LineWidth', 2);&lt;br /&gt;
plot(2*cos(theta_cont), 2*sin(theta_cont), 'Color', col, 'LineWidth', 2);&lt;br /&gt;
&lt;br /&gt;
% Bases &lt;br /&gt;
plot([-1 -2], [0 0], 'Color', col, 'LineWidth', 2);  % base izquierda&lt;br /&gt;
plot([ 1  2], [0 0], 'Color', col, 'LineWidth', 2);  % base derecha&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% Ajustes&lt;br /&gt;
axis equal&lt;br /&gt;
grid on&lt;br /&gt;
title('Mallado del arco')&lt;br /&gt;
xlabel('x')&lt;br /&gt;
ylabel('y')&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==  Temperatura en el arco  ==&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Mallado del arco&lt;br /&gt;
theta = linspace(0, pi, 200);   % más denso para curva suave&lt;br /&gt;
r = linspace(1, 2, 200);        % radio interior 1, exterior 2&lt;br /&gt;
[R, TH] = meshgrid(r, theta);&lt;br /&gt;
&lt;br /&gt;
% Convertir a cartesianas&lt;br /&gt;
X = R .* cos(TH);&lt;br /&gt;
Y = R .* sin(TH);&lt;br /&gt;
&lt;br /&gt;
% Funcion temperatura&lt;br /&gt;
T = (X - Y).^2;&lt;br /&gt;
&lt;br /&gt;
% Representación 2D&lt;br /&gt;
figure;&lt;br /&gt;
pcolor(X, Y, T);     % representación 2D en colores&lt;br /&gt;
shading interp       % suavizado del color&lt;br /&gt;
colormap(jet)&lt;br /&gt;
colorbar;&lt;br /&gt;
&lt;br /&gt;
title('Temperatura T(x,y) = (x - y)^2 sobre el arco')&lt;br /&gt;
xlabel('x')&lt;br /&gt;
ylabel('y')&lt;br /&gt;
axis equal            % mantiene proporciones reales&lt;br /&gt;
== desplazamiento ==&lt;br /&gt;
%% TRABAJO M (ARCO)&lt;br /&gt;
clc; clear; close all;&lt;br /&gt;
&lt;br /&gt;
%% Pregunta 3&lt;br /&gt;
% Dominio &lt;br /&gt;
rho_min = 1;  rho_max = 2;&lt;br /&gt;
th_min = 0;   th_max = pi;&lt;br /&gt;
&lt;br /&gt;
[Rho, Theta] = meshgrid(linspace(rho_min, rho_max, 100), ...&lt;br /&gt;
                        linspace(th_min, th_max, 200));&lt;br /&gt;
&lt;br /&gt;
% Convertimos a Cartesianas&lt;br /&gt;
X = Rho .* cos(Theta);&lt;br /&gt;
Y = Rho .* sin(Theta);&lt;br /&gt;
&lt;br /&gt;
%% 2. Definición de Temperatura y Gradiente&lt;br /&gt;
% Temperatura T = (x - y)^2&lt;br /&gt;
T_val = (X - Y).^2;&lt;br /&gt;
&lt;br /&gt;
% Cálculo del gradiente&lt;br /&gt;
Grad_X = 2 .* (X - Y);&lt;br /&gt;
Grad_Y = -2 .* (X - Y);&lt;br /&gt;
&lt;br /&gt;
% Representación gráfica&lt;br /&gt;
figure('Name', 'Trabajo M - Pregunta 3 (Estilo Suave)', 'Color', 'w');&lt;br /&gt;
hold on;&lt;br /&gt;
&lt;br /&gt;
contourf(X, Y, T_val, 50, 'LineStyle', 'none');&lt;br /&gt;
&lt;br /&gt;
% Creamos la gráfica&lt;br /&gt;
N = 256;&lt;br /&gt;
r = linspace(0.2, 1, N)'; &lt;br /&gt;
g = linspace(0.5, 1, N)';&lt;br /&gt;
b = linspace(1, 0, N)';   &lt;br /&gt;
mi_mapa = [r, g, b];      % Matriz de colores&lt;br /&gt;
&lt;br /&gt;
colormap(mi_mapa);&lt;br /&gt;
c = colorbar;&lt;br /&gt;
c.Label.String = 'Temperatura T = (x-y)^2';&lt;br /&gt;
&lt;br /&gt;
% Cantida de flechas&lt;br /&gt;
step_r = 8;  % Salta cada 8 puntos en el radio&lt;br /&gt;
step_t = 12; % Salta cada 12 puntos en el ángulo&lt;br /&gt;
&lt;br /&gt;
idx_r = 1:step_r:size(X,1);&lt;br /&gt;
idx_t = 1:step_t:size(X,2);&lt;br /&gt;
&lt;br /&gt;
% Dibujo flechas&lt;br /&gt;
quiver(X(idx_r, idx_t), Y(idx_r, idx_t), ...&lt;br /&gt;
       Grad_X(idx_r, idx_t), Grad_Y(idx_r, idx_t), ...&lt;br /&gt;
       'k', ...                 % Color negro flechas&lt;br /&gt;
       'LineWidth', 1.0, ...    % Grosor flechas&lt;br /&gt;
       'AutoScaleFactor', 0.8); % Tamaño flechas&lt;br /&gt;
&lt;br /&gt;
axis equal;&lt;br /&gt;
xlim([-2.5 2.5]); ylim([0 2.5]); % Márgenes &lt;br /&gt;
title('Gradiente sobre T');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
box on; &lt;br /&gt;
&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
== Gradiente de temperatura ==&lt;br /&gt;
[[Archivo:Gradiente apartado 3.png|500px|thumb|right|Gradiente de temperatura]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% GRADIANTE TEMPERATURA&lt;br /&gt;
clc; clear; close all;&lt;br /&gt;
&lt;br /&gt;
% Dominio &lt;br /&gt;
rho_min = 1;  rho_max = 2;&lt;br /&gt;
th_min = 0;   th_max = pi;&lt;br /&gt;
&lt;br /&gt;
[Rho, Theta] = meshgrid(linspace(rho_min, rho_max, 100), ...&lt;br /&gt;
                        linspace(th_min, th_max, 200));&lt;br /&gt;
&lt;br /&gt;
% Convertimos a Cartesianas&lt;br /&gt;
X = Rho .* cos(Theta);&lt;br /&gt;
Y = Rho .* sin(Theta);&lt;br /&gt;
&lt;br /&gt;
%% 2. Definición de Temperatura y Gradiente&lt;br /&gt;
% Temperatura T = (x - y)^2&lt;br /&gt;
T_val = (X - Y).^2;&lt;br /&gt;
&lt;br /&gt;
% Cálculo del gradiente&lt;br /&gt;
Grad_X = 2 .* (X - Y);&lt;br /&gt;
Grad_Y = -2 .* (X - Y);&lt;br /&gt;
&lt;br /&gt;
% Representación gráfica&lt;br /&gt;
figure('Name', 'Trabajo M - Pregunta 3 (Estilo Suave)', 'Color', 'w');&lt;br /&gt;
hold on;&lt;br /&gt;
&lt;br /&gt;
contourf(X, Y, T_val, 50, 'LineStyle', 'none');&lt;br /&gt;
&lt;br /&gt;
% Creamos la gráfica&lt;br /&gt;
N = 256;&lt;br /&gt;
r = linspace(0.2, 1, N)'; &lt;br /&gt;
g = linspace(0.5, 1, N)';&lt;br /&gt;
b = linspace(1, 0, N)';   &lt;br /&gt;
mi_mapa = [r, g, b];      % Matriz de colores&lt;br /&gt;
&lt;br /&gt;
colormap(mi_mapa);&lt;br /&gt;
c = colorbar;&lt;br /&gt;
c.Label.String = 'Temperatura T = (x-y)^2';&lt;br /&gt;
&lt;br /&gt;
% Cantida de flechas&lt;br /&gt;
step_r = 8;  % Salta cada 8 puntos en el radio&lt;br /&gt;
step_t = 12; % Salta cada 12 puntos en el ángulo&lt;br /&gt;
&lt;br /&gt;
idx_r = 1:step_r:size(X,1);&lt;br /&gt;
idx_t = 1:step_t:size(X,2);&lt;br /&gt;
&lt;br /&gt;
% Dibujo flechas&lt;br /&gt;
quiver(X(idx_r, idx_t), Y(idx_r, idx_t), ...&lt;br /&gt;
       Grad_X(idx_r, idx_t), Grad_Y(idx_r, idx_t), ...&lt;br /&gt;
       'k', ...                 % Color negro flechas&lt;br /&gt;
       'LineWidth', 1.0, ...    % Grosor flechas&lt;br /&gt;
       'AutoScaleFactor', 0.8); % Tamaño flechas&lt;br /&gt;
&lt;br /&gt;
axis equal;&lt;br /&gt;
xlim([-2.5 2.5]); ylim([0 2.5]); % Márgenes &lt;br /&gt;
title('Gradiente sobre T');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
&lt;br /&gt;
box on; &lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
==Dibujo del sólido antes y después del desplazamiento==&lt;br /&gt;
&lt;br /&gt;
===Código===&lt;br /&gt;
[[Archivo:grafica_1.png|500px|thumb|right|Gráfica 1]]&lt;br /&gt;
[[Archivo:Grafica_2.png|500px|thumb|right|Gráfica 2]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% Visualización de Deformación (Azul vs Rojo)&lt;br /&gt;
clear; clc; close all;&lt;br /&gt;
% --- 1. DATOS Y CÁLCULOS  ---&lt;br /&gt;
rho_vec = 1:0.1:2;&lt;br /&gt;
&lt;br /&gt;
% EL CAMBIO ESTÁ AQUÍ:&lt;br /&gt;
&lt;br /&gt;
theta_vec = [0:0.1:pi, pi]; &lt;br /&gt;
&lt;br /&gt;
[R, Th] = meshgrid(rho_vec, theta_vec);&lt;br /&gt;
&lt;br /&gt;
% Posición Inicial&lt;br /&gt;
X_ini = R .* cos(Th);&lt;br /&gt;
Y_ini = R .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
% Desplazamiento u (Trabajo M)&lt;br /&gt;
u_rho   = zeros(size(R));&lt;br /&gt;
u_theta = (1/5) * (R - 1) .* (R.^2) .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
UX = u_rho .* cos(Th) - u_theta .* sin(Th);&lt;br /&gt;
UY = u_rho .* sin(Th) + u_theta .* cos(Th);&lt;br /&gt;
&lt;br /&gt;
% Posición Final&lt;br /&gt;
X_fin = X_ini + UX;&lt;br /&gt;
Y_fin = Y_ini + UY;&lt;br /&gt;
&lt;br /&gt;
% ---  GENERACIÓN DE LAS GRÁFICAS ---&lt;br /&gt;
&lt;br /&gt;
% GRÁFICA 1: Posición Inicial&lt;br /&gt;
figure(1); clf; hold on; axis equal;&lt;br /&gt;
set(gcf, 'Color', 'w'); title('1. Posición Inicial (Sin deformar)');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
plot(X_ini, Y_ini, 'b', 'LineWidth', 1);&lt;br /&gt;
plot(X_ini', Y_ini', 'b', 'LineWidth', 1);&lt;br /&gt;
plot_borde(rho_vec, theta_vec, 'k', 2); &lt;br /&gt;
axis([-2.5 2.5 0 2.5]); grid on;&lt;br /&gt;
&lt;br /&gt;
% GRÁFICA 2: Posición Final&lt;br /&gt;
figure(2); clf; hold on; axis equal;&lt;br /&gt;
set(gcf, 'Color', 'w'); title('2. Posición Final (Deformada)');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
plot(X_fin, Y_fin, 'r', 'LineWidth', 1);&lt;br /&gt;
plot(X_fin', Y_fin', 'r', 'LineWidth', 1);&lt;br /&gt;
axis([-2.5 2.5 0 2.5]); grid on;&lt;br /&gt;
&lt;br /&gt;
% GRÁFICA 3: Superposición (AZUL vs ROJO)&lt;br /&gt;
figure(3); clf; hold on; axis equal;&lt;br /&gt;
set(gcf, 'Color', 'w'); title('3. Comparativa: Inicial vs Final');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
&lt;br /&gt;
% A) Inicial: AZUL&lt;br /&gt;
plot(X_ini, Y_ini, 'b', 'LineWidth', 1);&lt;br /&gt;
plot(X_ini', Y_ini', 'b', 'LineWidth', 1);&lt;br /&gt;
&lt;br /&gt;
% B) Final: ROJO&lt;br /&gt;
plot(X_fin, Y_fin, 'r', 'LineWidth', 1.2);&lt;br /&gt;
plot(X_fin', Y_fin', 'r', 'LineWidth', 1.2);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% --- Función para bordes ---&lt;br /&gt;
function plot_borde(r_v, t_v, col, ancho)&lt;br /&gt;
    plot(r_v(end)*cos(t_v), r_v(end)*sin(t_v), col, 'LineWidth', ancho);&lt;br /&gt;
    plot(r_v(1)*cos(t_v), r_v(1)*sin(t_v), col, 'LineWidth', ancho);&lt;br /&gt;
    plot([r_v(1) r_v(end)]*cos(t_v(1)), [r_v(1) r_v(end)]*sin(t_v(1)), col, 'LineWidth', ancho);&lt;br /&gt;
    plot([r_v(1) r_v(end)]*cos(t_v(end)), [r_v(1) r_v(end)]*sin(t_v(end)), col, 'LineWidth', ancho);&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Tensiones tangenciales ==&lt;br /&gt;
[[Archivo:apartado_9.jpg|500px|thumb|right|Tensiones tangenciales]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% TENSIONES TANGENCIALES&lt;br /&gt;
clear; clc; close all;&lt;br /&gt;
&lt;br /&gt;
% --- 1. GEOMETRÍA ---&lt;br /&gt;
rho_vec = 1:0.01:2;&lt;br /&gt;
theta_vec = 0:0.01:pi;&lt;br /&gt;
[R, Th] = meshgrid(rho_vec, theta_vec);&lt;br /&gt;
&lt;br /&gt;
X = R .* cos(Th);&lt;br /&gt;
Y = R .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
% --- 2. CÁLCULO DE LA TENSIÓN ---&lt;br /&gt;
Tau = (1/5) * (2*R.^2 - R) .* sin(Th);&lt;br /&gt;
Tau_Mag = abs(Tau);&lt;br /&gt;
&lt;br /&gt;
% --- 3. VISUALIZACIÓN ---&lt;br /&gt;
figure(9); clf; hold on; axis equal;&lt;br /&gt;
set(gcf, 'Color', 'w');&lt;br /&gt;
title('Tensión tangencial');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
&lt;br /&gt;
contourf(X, Y, Tau_Mag, 50, 'LineStyle', 'none');&lt;br /&gt;
c = colorbar;&lt;br /&gt;
ylabel(c,'Esfuerzo de Corte (Pa)');&lt;br /&gt;
&lt;br /&gt;
% --- 4. Colormap amplio AZUL → ROJO (256 tonos) ---&lt;br /&gt;
n = 256;&lt;br /&gt;
azul = [0 0 1];       % azul puro&lt;br /&gt;
rojo = [1 0 0];       % rojo puro&lt;br /&gt;
cmap = [linspace(azul(1), rojo(1), n)', ...&lt;br /&gt;
        linspace(azul(2), rojo(2), n)', ...&lt;br /&gt;
        linspace(azul(3), rojo(3), n)'];&lt;br /&gt;
colormap(cmap);&lt;br /&gt;
&lt;br /&gt;
% --- 5. Bordes exteriores en negro ---&lt;br /&gt;
t_border = 0:0.001:pi;&lt;br /&gt;
plot(2*cos(t_border),2*sin(t_border),'k','LineWidth',2);&lt;br /&gt;
plot(1*cos(t_border),1*sin(t_border),'k','LineWidth',2);&lt;br /&gt;
plot([-2,-1],[0,0],'k','LineWidth',2);&lt;br /&gt;
plot([1,2],[0,0],'k','LineWidth',2);&lt;br /&gt;
&lt;br /&gt;
% --- 6. Punto de máxima tensión ---&lt;br /&gt;
max_val = max(Tau_Mag(:));&lt;br /&gt;
[fr, fc] = find(Tau_Mag == max_val, 1);&lt;br /&gt;
plot(X(fr,fc),Y(fr,fc),'wx','LineWidth',2,'MarkerSize',10);&lt;br /&gt;
text(X(fr,fc),Y(fr,fc)+0.1,'Máx','Color','w','FontWeight','bold');&lt;br /&gt;
&lt;br /&gt;
axis([-2.2 2.2 0 2.2]);&lt;br /&gt;
grid off;&lt;br /&gt;
hold off;&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
== apartado 11 ==&lt;br /&gt;
La masa se calcula con la siguiente integral: M = ∫∫ d(ρ, θ) dA&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El dominio es [1,2]x[0,pi] y por tanto los límites de integración serán:&lt;br /&gt;
&lt;br /&gt;
Límete de rho: 1 ≤ ρ ≤ 2&lt;br /&gt;
&lt;br /&gt;
Límite de theta: 0 ≤ θ ≤ π&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El diferencial de área (Jacobiano) es: dA = ρ dρ dθ&lt;br /&gt;
&lt;br /&gt;
La densidad viene dada por: d(ρ, θ) = 1 + e^(ρ² cos θ)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por último la masa se calculará de la siguiente manera: &lt;br /&gt;
&lt;br /&gt;
M = ∫(de 0 a π) ∫(de 1 a 2) [1 + e^(ρ² cos θ)] · ρ dρ dθ = 26.26 u²&lt;br /&gt;
&lt;br /&gt;
== Interpretación del trabajo ==&lt;br /&gt;
En el Trabajo M se modela una onda transversal en una placa rectangular mediante el campo de desplazamientos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{u}(x, y, t) = a⃗ · cos(b⃗ · r⃗₀ − c·t)&amp;lt;math&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
con&lt;br /&gt;
&lt;br /&gt;
a⃗ = 1/10 i⃗,&lt;br /&gt;
b⃗ = π j⃗,&lt;br /&gt;
t = 0.&lt;br /&gt;
&lt;br /&gt;
Esto se puede interpretar como una onda de corte (onda S) que se propaga en un medio elástico, como la corteza terrestre durante un terremoto.&lt;br /&gt;
&lt;br /&gt;
Ondas S (secundarias o de corte): son ondas transversales, en las que las partículas del material vibran perpendicularmente a la dirección de propagación de la onda.&lt;br /&gt;
&lt;br /&gt;
En este caso, la dirección de propagación es la del vector b⃗ = π j⃗ (eje y), y la vibración es en la dirección i⃗ (eje x), lo cual es típico de ondas S con polarización horizontal (onda SH).&lt;br /&gt;
&lt;br /&gt;
Aplicación al Trabajo M (arco entre radios 1 y 2)&lt;br /&gt;
&lt;br /&gt;
En el Trabajo M, el dominio es un sector de arco en coordenadas polares (ρ,θ), con ρ ∈ [1,2], y el campo de desplazamientos es:&lt;br /&gt;
&lt;br /&gt;
u⃗(ρ,θ) = 1/5 (ρ−1) ρ² sinθ e⃗θ.&lt;br /&gt;
&lt;br /&gt;
Este campo representa un desplazamiento puramente tangencial (e⃗θ), que también corresponde a una onda de corte pero en geometría curvilínea.&lt;br /&gt;
&lt;br /&gt;
En sismología, las ondas S pueden viajar a lo largo de estructuras curvas en la corteza, como capas geológicas curvadas o interfaces entre materiales.&lt;br /&gt;
&lt;br /&gt;
El factor (ρ−1) ρ² sinθ indica que el desplazamiento es máximo en la parte exterior del arco (ρ = 2) y varía sinusoidalmente con θ, lo que podría modelar una onda estacionaria o forzada en una placa curvada.&lt;br /&gt;
&lt;br /&gt;
Relación con la temperatura&lt;br /&gt;
&lt;br /&gt;
En ambos trabajos se incluye un campo de temperatura:&lt;br /&gt;
&lt;br /&gt;
T(x,y) = (x − y)²,&lt;br /&gt;
&lt;br /&gt;
que en el Trabajo M debe expresarse en coordenadas polares:&lt;br /&gt;
&lt;br /&gt;
x = ρ cosθ,&lt;br /&gt;
y = ρ sinθ,&lt;br /&gt;
&lt;br /&gt;
T(ρ,θ) = ρ² (cosθ − sinθ)².&lt;br /&gt;
&lt;br /&gt;
Esta temperatura podría representar gradientes térmicos en la corteza debidos a fuentes geotérmicas, que afectan a las propiedades elásticas del medio y, por tanto, a la propagación de ondas sísmicas.&lt;br /&gt;
&lt;br /&gt;
Conclusión de la aplicación&lt;br /&gt;
&lt;br /&gt;
El Trabajo M puede interpretarse como el estudio de ondas de corte (S) en una región curvilínea de la corteza terrestre, como un arco de falla o una capa geológica curvada, donde los desplazamientos son transversales a la dirección radial. La inclusión del campo de temperatura permite analizar cómo los gradientes térmicos influyen en la deformación y propagación de ondas en estructuras geológicas reales, algo relevante en sismología y geofísica.&lt;/div&gt;</summary>
		<author><name>Álvaro Villar</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Mallado_Arco_1_(grupo_59)&amp;diff=93183</id>
		<title>Mallado Arco 1 (grupo 59)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Mallado_Arco_1_(grupo_59)&amp;diff=93183"/>
				<updated>2025-12-01T12:05:03Z</updated>
		
		<summary type="html">&lt;p&gt;Álvaro Villar: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Arco1. Grupo 59 | [[:Categoría:Teoría de Campos|Teoría de Campos]]|[[:Categoría:TC25/26|2025-26]] | &lt;br /&gt;
*Guillermo Pineros Quero&lt;br /&gt;
*Ignacio Sueiras Oviedo&lt;br /&gt;
*Francisco Yusep Saiz Cebrián&lt;br /&gt;
*Álvaro Villar Rosado&lt;br /&gt;
*Javier Ruiz Sáenz de Jubera}}&lt;br /&gt;
[[Categoría:Teoría de Campos]]&lt;br /&gt;
[[Categoría:TC25/26]]&lt;br /&gt;
== Mallado del arco ==&lt;br /&gt;
[[Archivo:untitled4.png|500px|thumb|right|Representación del mallado]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Mallado del arco alineado&lt;br /&gt;
&lt;br /&gt;
% Elegimos divisiones que garanticen que:&lt;br /&gt;
% θ = 0, pi/2, pi están incluidos &lt;br /&gt;
% r incluye exactamente 1 y 2    &lt;br /&gt;
&lt;br /&gt;
theta = linspace(0, pi, 20);   % mallado moderado, incluye 0, pi/2 y pi&lt;br /&gt;
r = linspace(1, 2, 15);        % radios exactos 1 y 2&lt;br /&gt;
&lt;br /&gt;
[R, TH] = meshgrid(r, theta);&lt;br /&gt;
&lt;br /&gt;
% Convertir a coordenadas cartesianas&lt;br /&gt;
X = R .* cos(TH);&lt;br /&gt;
Y = R .* sin(TH);&lt;br /&gt;
&lt;br /&gt;
figure;&lt;br /&gt;
hold on;&lt;br /&gt;
&lt;br /&gt;
col = [0.3 0.6 1];  % azul clarito&lt;br /&gt;
&lt;br /&gt;
% Mallado tipo red (más grueso) &lt;br /&gt;
plot(X,  Y, 'Color', col, 'LineWidth', 1.1);   % líneas en theta&lt;br /&gt;
plot(X', Y', 'Color', col, 'LineWidth', 1.1);  % líneas en r&lt;br /&gt;
&lt;br /&gt;
% Contornos superior interior y exterior &lt;br /&gt;
theta_cont = linspace(0, pi, 400);&lt;br /&gt;
&lt;br /&gt;
plot(1*cos(theta_cont), 1*sin(theta_cont), 'Color', col, 'LineWidth', 2);&lt;br /&gt;
plot(2*cos(theta_cont), 2*sin(theta_cont), 'Color', col, 'LineWidth', 2);&lt;br /&gt;
&lt;br /&gt;
% Bases &lt;br /&gt;
plot([-1 -2], [0 0], 'Color', col, 'LineWidth', 2);  % base izquierda&lt;br /&gt;
plot([ 1  2], [0 0], 'Color', col, 'LineWidth', 2);  % base derecha&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% Ajustes&lt;br /&gt;
axis equal&lt;br /&gt;
grid on&lt;br /&gt;
title('Mallado del arco')&lt;br /&gt;
xlabel('x')&lt;br /&gt;
ylabel('y')&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==  Temperatura en el arco  ==&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Mallado del arco&lt;br /&gt;
theta = linspace(0, pi, 200);   % más denso para curva suave&lt;br /&gt;
r = linspace(1, 2, 200);        % radio interior 1, exterior 2&lt;br /&gt;
[R, TH] = meshgrid(r, theta);&lt;br /&gt;
&lt;br /&gt;
% Convertir a cartesianas&lt;br /&gt;
X = R .* cos(TH);&lt;br /&gt;
Y = R .* sin(TH);&lt;br /&gt;
&lt;br /&gt;
% Funcion temperatura&lt;br /&gt;
T = (X - Y).^2;&lt;br /&gt;
&lt;br /&gt;
% Representación 2D&lt;br /&gt;
figure;&lt;br /&gt;
pcolor(X, Y, T);     % representación 2D en colores&lt;br /&gt;
shading interp       % suavizado del color&lt;br /&gt;
colormap(jet)&lt;br /&gt;
colorbar;&lt;br /&gt;
&lt;br /&gt;
title('Temperatura T(x,y) = (x - y)^2 sobre el arco')&lt;br /&gt;
xlabel('x')&lt;br /&gt;
ylabel('y')&lt;br /&gt;
axis equal            % mantiene proporciones reales&lt;br /&gt;
== desplazamiento ==&lt;br /&gt;
%% TRABAJO M (ARCO)&lt;br /&gt;
clc; clear; close all;&lt;br /&gt;
&lt;br /&gt;
%% Pregunta 3&lt;br /&gt;
% Dominio &lt;br /&gt;
rho_min = 1;  rho_max = 2;&lt;br /&gt;
th_min = 0;   th_max = pi;&lt;br /&gt;
&lt;br /&gt;
[Rho, Theta] = meshgrid(linspace(rho_min, rho_max, 100), ...&lt;br /&gt;
                        linspace(th_min, th_max, 200));&lt;br /&gt;
&lt;br /&gt;
% Convertimos a Cartesianas&lt;br /&gt;
X = Rho .* cos(Theta);&lt;br /&gt;
Y = Rho .* sin(Theta);&lt;br /&gt;
&lt;br /&gt;
%% 2. Definición de Temperatura y Gradiente&lt;br /&gt;
% Temperatura T = (x - y)^2&lt;br /&gt;
T_val = (X - Y).^2;&lt;br /&gt;
&lt;br /&gt;
% Cálculo del gradiente&lt;br /&gt;
Grad_X = 2 .* (X - Y);&lt;br /&gt;
Grad_Y = -2 .* (X - Y);&lt;br /&gt;
&lt;br /&gt;
% Representación gráfica&lt;br /&gt;
figure('Name', 'Trabajo M - Pregunta 3 (Estilo Suave)', 'Color', 'w');&lt;br /&gt;
hold on;&lt;br /&gt;
&lt;br /&gt;
contourf(X, Y, T_val, 50, 'LineStyle', 'none');&lt;br /&gt;
&lt;br /&gt;
% Creamos la gráfica&lt;br /&gt;
N = 256;&lt;br /&gt;
r = linspace(0.2, 1, N)'; &lt;br /&gt;
g = linspace(0.5, 1, N)';&lt;br /&gt;
b = linspace(1, 0, N)';   &lt;br /&gt;
mi_mapa = [r, g, b];      % Matriz de colores&lt;br /&gt;
&lt;br /&gt;
colormap(mi_mapa);&lt;br /&gt;
c = colorbar;&lt;br /&gt;
c.Label.String = 'Temperatura T = (x-y)^2';&lt;br /&gt;
&lt;br /&gt;
% Cantida de flechas&lt;br /&gt;
step_r = 8;  % Salta cada 8 puntos en el radio&lt;br /&gt;
step_t = 12; % Salta cada 12 puntos en el ángulo&lt;br /&gt;
&lt;br /&gt;
idx_r = 1:step_r:size(X,1);&lt;br /&gt;
idx_t = 1:step_t:size(X,2);&lt;br /&gt;
&lt;br /&gt;
% Dibujo flechas&lt;br /&gt;
quiver(X(idx_r, idx_t), Y(idx_r, idx_t), ...&lt;br /&gt;
       Grad_X(idx_r, idx_t), Grad_Y(idx_r, idx_t), ...&lt;br /&gt;
       'k', ...                 % Color negro flechas&lt;br /&gt;
       'LineWidth', 1.0, ...    % Grosor flechas&lt;br /&gt;
       'AutoScaleFactor', 0.8); % Tamaño flechas&lt;br /&gt;
&lt;br /&gt;
axis equal;&lt;br /&gt;
xlim([-2.5 2.5]); ylim([0 2.5]); % Márgenes &lt;br /&gt;
title('Gradiente sobre T');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
box on; &lt;br /&gt;
&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
== Gradiente de temperatura ==&lt;br /&gt;
[[Archivo:Gradiente apartado 3.png|500px|thumb|right|Gradiente de temperatura]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% GRADIANTE TEMPERATURA&lt;br /&gt;
clc; clear; close all;&lt;br /&gt;
&lt;br /&gt;
% Dominio &lt;br /&gt;
rho_min = 1;  rho_max = 2;&lt;br /&gt;
th_min = 0;   th_max = pi;&lt;br /&gt;
&lt;br /&gt;
[Rho, Theta] = meshgrid(linspace(rho_min, rho_max, 100), ...&lt;br /&gt;
                        linspace(th_min, th_max, 200));&lt;br /&gt;
&lt;br /&gt;
% Convertimos a Cartesianas&lt;br /&gt;
X = Rho .* cos(Theta);&lt;br /&gt;
Y = Rho .* sin(Theta);&lt;br /&gt;
&lt;br /&gt;
%% 2. Definición de Temperatura y Gradiente&lt;br /&gt;
% Temperatura T = (x - y)^2&lt;br /&gt;
T_val = (X - Y).^2;&lt;br /&gt;
&lt;br /&gt;
% Cálculo del gradiente&lt;br /&gt;
Grad_X = 2 .* (X - Y);&lt;br /&gt;
Grad_Y = -2 .* (X - Y);&lt;br /&gt;
&lt;br /&gt;
% Representación gráfica&lt;br /&gt;
figure('Name', 'Trabajo M - Pregunta 3 (Estilo Suave)', 'Color', 'w');&lt;br /&gt;
hold on;&lt;br /&gt;
&lt;br /&gt;
contourf(X, Y, T_val, 50, 'LineStyle', 'none');&lt;br /&gt;
&lt;br /&gt;
% Creamos la gráfica&lt;br /&gt;
N = 256;&lt;br /&gt;
r = linspace(0.2, 1, N)'; &lt;br /&gt;
g = linspace(0.5, 1, N)';&lt;br /&gt;
b = linspace(1, 0, N)';   &lt;br /&gt;
mi_mapa = [r, g, b];      % Matriz de colores&lt;br /&gt;
&lt;br /&gt;
colormap(mi_mapa);&lt;br /&gt;
c = colorbar;&lt;br /&gt;
c.Label.String = 'Temperatura T = (x-y)^2';&lt;br /&gt;
&lt;br /&gt;
% Cantida de flechas&lt;br /&gt;
step_r = 8;  % Salta cada 8 puntos en el radio&lt;br /&gt;
step_t = 12; % Salta cada 12 puntos en el ángulo&lt;br /&gt;
&lt;br /&gt;
idx_r = 1:step_r:size(X,1);&lt;br /&gt;
idx_t = 1:step_t:size(X,2);&lt;br /&gt;
&lt;br /&gt;
% Dibujo flechas&lt;br /&gt;
quiver(X(idx_r, idx_t), Y(idx_r, idx_t), ...&lt;br /&gt;
       Grad_X(idx_r, idx_t), Grad_Y(idx_r, idx_t), ...&lt;br /&gt;
       'k', ...                 % Color negro flechas&lt;br /&gt;
       'LineWidth', 1.0, ...    % Grosor flechas&lt;br /&gt;
       'AutoScaleFactor', 0.8); % Tamaño flechas&lt;br /&gt;
&lt;br /&gt;
axis equal;&lt;br /&gt;
xlim([-2.5 2.5]); ylim([0 2.5]); % Márgenes &lt;br /&gt;
title('Gradiente sobre T');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
&lt;br /&gt;
box on; &lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
==Dibujo del sólido antes y después del desplazamiento==&lt;br /&gt;
&lt;br /&gt;
===Código===&lt;br /&gt;
[[Archivo:grafica_1.png|500px|thumb|right|Gráfica 1]]&lt;br /&gt;
[[Archivo:Grafica_2.png|500px|thumb|right|Gráfica 2]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% Visualización de Deformación (Azul vs Rojo)&lt;br /&gt;
clear; clc; close all;&lt;br /&gt;
% --- 1. DATOS Y CÁLCULOS  ---&lt;br /&gt;
rho_vec = 1:0.1:2;&lt;br /&gt;
&lt;br /&gt;
% EL CAMBIO ESTÁ AQUÍ:&lt;br /&gt;
&lt;br /&gt;
theta_vec = [0:0.1:pi, pi]; &lt;br /&gt;
&lt;br /&gt;
[R, Th] = meshgrid(rho_vec, theta_vec);&lt;br /&gt;
&lt;br /&gt;
% Posición Inicial&lt;br /&gt;
X_ini = R .* cos(Th);&lt;br /&gt;
Y_ini = R .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
% Desplazamiento u (Trabajo M)&lt;br /&gt;
u_rho   = zeros(size(R));&lt;br /&gt;
u_theta = (1/5) * (R - 1) .* (R.^2) .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
UX = u_rho .* cos(Th) - u_theta .* sin(Th);&lt;br /&gt;
UY = u_rho .* sin(Th) + u_theta .* cos(Th);&lt;br /&gt;
&lt;br /&gt;
% Posición Final&lt;br /&gt;
X_fin = X_ini + UX;&lt;br /&gt;
Y_fin = Y_ini + UY;&lt;br /&gt;
&lt;br /&gt;
% ---  GENERACIÓN DE LAS GRÁFICAS ---&lt;br /&gt;
&lt;br /&gt;
% GRÁFICA 1: Posición Inicial&lt;br /&gt;
figure(1); clf; hold on; axis equal;&lt;br /&gt;
set(gcf, 'Color', 'w'); title('1. Posición Inicial (Sin deformar)');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
plot(X_ini, Y_ini, 'b', 'LineWidth', 1);&lt;br /&gt;
plot(X_ini', Y_ini', 'b', 'LineWidth', 1);&lt;br /&gt;
plot_borde(rho_vec, theta_vec, 'k', 2); &lt;br /&gt;
axis([-2.5 2.5 0 2.5]); grid on;&lt;br /&gt;
&lt;br /&gt;
% GRÁFICA 2: Posición Final&lt;br /&gt;
figure(2); clf; hold on; axis equal;&lt;br /&gt;
set(gcf, 'Color', 'w'); title('2. Posición Final (Deformada)');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
plot(X_fin, Y_fin, 'r', 'LineWidth', 1);&lt;br /&gt;
plot(X_fin', Y_fin', 'r', 'LineWidth', 1);&lt;br /&gt;
axis([-2.5 2.5 0 2.5]); grid on;&lt;br /&gt;
&lt;br /&gt;
% GRÁFICA 3: Superposición (AZUL vs ROJO)&lt;br /&gt;
figure(3); clf; hold on; axis equal;&lt;br /&gt;
set(gcf, 'Color', 'w'); title('3. Comparativa: Inicial vs Final');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
&lt;br /&gt;
% A) Inicial: AZUL&lt;br /&gt;
plot(X_ini, Y_ini, 'b', 'LineWidth', 1);&lt;br /&gt;
plot(X_ini', Y_ini', 'b', 'LineWidth', 1);&lt;br /&gt;
&lt;br /&gt;
% B) Final: ROJO&lt;br /&gt;
plot(X_fin, Y_fin, 'r', 'LineWidth', 1.2);&lt;br /&gt;
plot(X_fin', Y_fin', 'r', 'LineWidth', 1.2);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% --- Función para bordes ---&lt;br /&gt;
function plot_borde(r_v, t_v, col, ancho)&lt;br /&gt;
    plot(r_v(end)*cos(t_v), r_v(end)*sin(t_v), col, 'LineWidth', ancho);&lt;br /&gt;
    plot(r_v(1)*cos(t_v), r_v(1)*sin(t_v), col, 'LineWidth', ancho);&lt;br /&gt;
    plot([r_v(1) r_v(end)]*cos(t_v(1)), [r_v(1) r_v(end)]*sin(t_v(1)), col, 'LineWidth', ancho);&lt;br /&gt;
    plot([r_v(1) r_v(end)]*cos(t_v(end)), [r_v(1) r_v(end)]*sin(t_v(end)), col, 'LineWidth', ancho);&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Tensiones tangenciales ==&lt;br /&gt;
[[Archivo:apartado_9.jpg|500px|thumb|right|Tensiones tangenciales]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% TENSIONES TANGENCIALES&lt;br /&gt;
clear; clc; close all;&lt;br /&gt;
&lt;br /&gt;
% --- 1. GEOMETRÍA ---&lt;br /&gt;
rho_vec = 1:0.01:2;&lt;br /&gt;
theta_vec = 0:0.01:pi;&lt;br /&gt;
[R, Th] = meshgrid(rho_vec, theta_vec);&lt;br /&gt;
&lt;br /&gt;
X = R .* cos(Th);&lt;br /&gt;
Y = R .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
% --- 2. CÁLCULO DE LA TENSIÓN ---&lt;br /&gt;
Tau = (1/5) * (2*R.^2 - R) .* sin(Th);&lt;br /&gt;
Tau_Mag = abs(Tau);&lt;br /&gt;
&lt;br /&gt;
% --- 3. VISUALIZACIÓN ---&lt;br /&gt;
figure(9); clf; hold on; axis equal;&lt;br /&gt;
set(gcf, 'Color', 'w');&lt;br /&gt;
title('Tensión tangencial');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
&lt;br /&gt;
contourf(X, Y, Tau_Mag, 50, 'LineStyle', 'none');&lt;br /&gt;
c = colorbar;&lt;br /&gt;
ylabel(c,'Esfuerzo de Corte (Pa)');&lt;br /&gt;
&lt;br /&gt;
% --- 4. Colormap amplio AZUL → ROJO (256 tonos) ---&lt;br /&gt;
n = 256;&lt;br /&gt;
azul = [0 0 1];       % azul puro&lt;br /&gt;
rojo = [1 0 0];       % rojo puro&lt;br /&gt;
cmap = [linspace(azul(1), rojo(1), n)', ...&lt;br /&gt;
        linspace(azul(2), rojo(2), n)', ...&lt;br /&gt;
        linspace(azul(3), rojo(3), n)'];&lt;br /&gt;
colormap(cmap);&lt;br /&gt;
&lt;br /&gt;
% --- 5. Bordes exteriores en negro ---&lt;br /&gt;
t_border = 0:0.001:pi;&lt;br /&gt;
plot(2*cos(t_border),2*sin(t_border),'k','LineWidth',2);&lt;br /&gt;
plot(1*cos(t_border),1*sin(t_border),'k','LineWidth',2);&lt;br /&gt;
plot([-2,-1],[0,0],'k','LineWidth',2);&lt;br /&gt;
plot([1,2],[0,0],'k','LineWidth',2);&lt;br /&gt;
&lt;br /&gt;
% --- 6. Punto de máxima tensión ---&lt;br /&gt;
max_val = max(Tau_Mag(:));&lt;br /&gt;
[fr, fc] = find(Tau_Mag == max_val, 1);&lt;br /&gt;
plot(X(fr,fc),Y(fr,fc),'wx','LineWidth',2,'MarkerSize',10);&lt;br /&gt;
text(X(fr,fc),Y(fr,fc)+0.1,'Máx','Color','w','FontWeight','bold');&lt;br /&gt;
&lt;br /&gt;
axis([-2.2 2.2 0 2.2]);&lt;br /&gt;
grid off;&lt;br /&gt;
hold off;&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
== apartado 11 ==&lt;br /&gt;
La masa se calcula con la siguiente integral: M = ∫∫ d(ρ, θ) dA&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El dominio es [1,2]x[0,pi] y por tanto los límites de integración serán:&lt;br /&gt;
&lt;br /&gt;
Límete de rho: 1 ≤ ρ ≤ 2&lt;br /&gt;
&lt;br /&gt;
Límite de theta: 0 ≤ θ ≤ π&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El diferencia de área (Jacobiano) es: dA = ρ dρ dθ&lt;br /&gt;
&lt;br /&gt;
La densidad viene dada por: d(ρ, θ) = 1 + e^(ρ² cos θ)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por último la masa se calculará de la siguiente manera: &lt;br /&gt;
&lt;br /&gt;
M = ∫(de 0 a π) ∫(de 1 a 2) [1 + e^(ρ² cos θ)] · ρ dρ dθ = 26.26 u²&lt;br /&gt;
&lt;br /&gt;
== Interpretación del trabajo ==&lt;br /&gt;
En el Trabajo M se modela una onda transversal en una placa rectangular mediante el campo de desplazamientos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\vec{u}(x, y, t) = a⃗ · cos(b⃗ · r⃗₀ − c·t)&amp;lt;math&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
con&lt;br /&gt;
&lt;br /&gt;
a⃗ = 1/10 i⃗,&lt;br /&gt;
b⃗ = π j⃗,&lt;br /&gt;
t = 0.&lt;br /&gt;
&lt;br /&gt;
Esto se puede interpretar como una onda de corte (onda S) que se propaga en un medio elástico, como la corteza terrestre durante un terremoto.&lt;br /&gt;
&lt;br /&gt;
Ondas S (secundarias o de corte): son ondas transversales, en las que las partículas del material vibran perpendicularmente a la dirección de propagación de la onda.&lt;br /&gt;
&lt;br /&gt;
En este caso, la dirección de propagación es la del vector b⃗ = π j⃗ (eje y), y la vibración es en la dirección i⃗ (eje x), lo cual es típico de ondas S con polarización horizontal (onda SH).&lt;br /&gt;
&lt;br /&gt;
Aplicación al Trabajo M (arco entre radios 1 y 2)&lt;br /&gt;
&lt;br /&gt;
En el Trabajo M, el dominio es un sector de arco en coordenadas polares (ρ,θ), con ρ ∈ [1,2], y el campo de desplazamientos es:&lt;br /&gt;
&lt;br /&gt;
u⃗(ρ,θ) = 1/5 (ρ−1) ρ² sinθ e⃗θ.&lt;br /&gt;
&lt;br /&gt;
Este campo representa un desplazamiento puramente tangencial (e⃗θ), que también corresponde a una onda de corte pero en geometría curvilínea.&lt;br /&gt;
&lt;br /&gt;
En sismología, las ondas S pueden viajar a lo largo de estructuras curvas en la corteza, como capas geológicas curvadas o interfaces entre materiales.&lt;br /&gt;
&lt;br /&gt;
El factor (ρ−1) ρ² sinθ indica que el desplazamiento es máximo en la parte exterior del arco (ρ = 2) y varía sinusoidalmente con θ, lo que podría modelar una onda estacionaria o forzada en una placa curvada.&lt;br /&gt;
&lt;br /&gt;
Relación con la temperatura&lt;br /&gt;
&lt;br /&gt;
En ambos trabajos se incluye un campo de temperatura:&lt;br /&gt;
&lt;br /&gt;
T(x,y) = (x − y)²,&lt;br /&gt;
&lt;br /&gt;
que en el Trabajo M debe expresarse en coordenadas polares:&lt;br /&gt;
&lt;br /&gt;
x = ρ cosθ,&lt;br /&gt;
y = ρ sinθ,&lt;br /&gt;
&lt;br /&gt;
T(ρ,θ) = ρ² (cosθ − sinθ)².&lt;br /&gt;
&lt;br /&gt;
Esta temperatura podría representar gradientes térmicos en la corteza debidos a fuentes geotérmicas, que afectan a las propiedades elásticas del medio y, por tanto, a la propagación de ondas sísmicas.&lt;br /&gt;
&lt;br /&gt;
Conclusión de la aplicación&lt;br /&gt;
&lt;br /&gt;
El Trabajo M puede interpretarse como el estudio de ondas de corte (S) en una región curvilínea de la corteza terrestre, como un arco de falla o una capa geológica curvada, donde los desplazamientos son transversales a la dirección radial. La inclusión del campo de temperatura permite analizar cómo los gradientes térmicos influyen en la deformación y propagación de ondas en estructuras geológicas reales, algo relevante en sismología y geofísica.&lt;/div&gt;</summary>
		<author><name>Álvaro Villar</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Mallado_Arco_1_(grupo_59)&amp;diff=93136</id>
		<title>Mallado Arco 1 (grupo 59)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Mallado_Arco_1_(grupo_59)&amp;diff=93136"/>
				<updated>2025-12-01T11:46:20Z</updated>
		
		<summary type="html">&lt;p&gt;Álvaro Villar: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Arco1. Grupo 59 | [[:Categoría:Teoría de Campos|Teoría de Campos]]|[[:Categoría:TC25/26|2025-26]] | &lt;br /&gt;
*Guillermo Pineros Quero&lt;br /&gt;
*Ignacio Sueiras Oviedo&lt;br /&gt;
*Francisco Yusep Saiz Cebrián&lt;br /&gt;
*Álvaro Villar Rosado&lt;br /&gt;
*Javier Ruiz Sáenz de Jubera}}&lt;br /&gt;
[[Categoría:Teoría de Campos]]&lt;br /&gt;
[[Categoría:TC25/26]]&lt;br /&gt;
== Mallado del arco ==&lt;br /&gt;
[[Archivo:untitled4.png|500px|thumb|right|Representación del mallado]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Mallado del arco alineado&lt;br /&gt;
&lt;br /&gt;
% Elegimos divisiones que garanticen que:&lt;br /&gt;
% θ = 0, pi/2, pi están incluidos &lt;br /&gt;
% r incluye exactamente 1 y 2    &lt;br /&gt;
&lt;br /&gt;
theta = linspace(0, pi, 20);   % mallado moderado, incluye 0, pi/2 y pi&lt;br /&gt;
r = linspace(1, 2, 15);        % radios exactos 1 y 2&lt;br /&gt;
&lt;br /&gt;
[R, TH] = meshgrid(r, theta);&lt;br /&gt;
&lt;br /&gt;
% Convertir a coordenadas cartesianas&lt;br /&gt;
X = R .* cos(TH);&lt;br /&gt;
Y = R .* sin(TH);&lt;br /&gt;
&lt;br /&gt;
figure;&lt;br /&gt;
hold on;&lt;br /&gt;
&lt;br /&gt;
col = [0.3 0.6 1];  % azul clarito&lt;br /&gt;
&lt;br /&gt;
% Mallado tipo red (más grueso) &lt;br /&gt;
plot(X,  Y, 'Color', col, 'LineWidth', 1.1);   % líneas en theta&lt;br /&gt;
plot(X', Y', 'Color', col, 'LineWidth', 1.1);  % líneas en r&lt;br /&gt;
&lt;br /&gt;
% Contornos superior interior y exterior &lt;br /&gt;
theta_cont = linspace(0, pi, 400);&lt;br /&gt;
&lt;br /&gt;
plot(1*cos(theta_cont), 1*sin(theta_cont), 'Color', col, 'LineWidth', 2);&lt;br /&gt;
plot(2*cos(theta_cont), 2*sin(theta_cont), 'Color', col, 'LineWidth', 2);&lt;br /&gt;
&lt;br /&gt;
% Bases &lt;br /&gt;
plot([-1 -2], [0 0], 'Color', col, 'LineWidth', 2);  % base izquierda&lt;br /&gt;
plot([ 1  2], [0 0], 'Color', col, 'LineWidth', 2);  % base derecha&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% Ajustes&lt;br /&gt;
axis equal&lt;br /&gt;
grid on&lt;br /&gt;
title('Mallado del arco')&lt;br /&gt;
xlabel('x')&lt;br /&gt;
ylabel('y')&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==  Temperatura en el arco  ==&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Mallado del arco&lt;br /&gt;
theta = linspace(0, pi, 200);   % más denso para curva suave&lt;br /&gt;
r = linspace(1, 2, 200);        % radio interior 1, exterior 2&lt;br /&gt;
[R, TH] = meshgrid(r, theta);&lt;br /&gt;
&lt;br /&gt;
% Convertir a cartesianas&lt;br /&gt;
X = R .* cos(TH);&lt;br /&gt;
Y = R .* sin(TH);&lt;br /&gt;
&lt;br /&gt;
% Funcion temperatura&lt;br /&gt;
T = (X - Y).^2;&lt;br /&gt;
&lt;br /&gt;
% Representación 2D&lt;br /&gt;
figure;&lt;br /&gt;
pcolor(X, Y, T);     % representación 2D en colores&lt;br /&gt;
shading interp       % suavizado del color&lt;br /&gt;
colormap(jet)&lt;br /&gt;
colorbar;&lt;br /&gt;
&lt;br /&gt;
title('Temperatura T(x,y) = (x - y)^2 sobre el arco')&lt;br /&gt;
xlabel('x')&lt;br /&gt;
ylabel('y')&lt;br /&gt;
axis equal            % mantiene proporciones reales&lt;br /&gt;
== desplazamiento ==&lt;br /&gt;
%% TRABAJO M (ARCO)&lt;br /&gt;
clc; clear; close all;&lt;br /&gt;
&lt;br /&gt;
%% Pregunta 3&lt;br /&gt;
% Dominio &lt;br /&gt;
rho_min = 1;  rho_max = 2;&lt;br /&gt;
th_min = 0;   th_max = pi;&lt;br /&gt;
&lt;br /&gt;
[Rho, Theta] = meshgrid(linspace(rho_min, rho_max, 100), ...&lt;br /&gt;
                        linspace(th_min, th_max, 200));&lt;br /&gt;
&lt;br /&gt;
% Convertimos a Cartesianas&lt;br /&gt;
X = Rho .* cos(Theta);&lt;br /&gt;
Y = Rho .* sin(Theta);&lt;br /&gt;
&lt;br /&gt;
%% 2. Definición de Temperatura y Gradiente&lt;br /&gt;
% Temperatura T = (x - y)^2&lt;br /&gt;
T_val = (X - Y).^2;&lt;br /&gt;
&lt;br /&gt;
% Cálculo del gradiente&lt;br /&gt;
Grad_X = 2 .* (X - Y);&lt;br /&gt;
Grad_Y = -2 .* (X - Y);&lt;br /&gt;
&lt;br /&gt;
% Representación gráfica&lt;br /&gt;
figure('Name', 'Trabajo M - Pregunta 3 (Estilo Suave)', 'Color', 'w');&lt;br /&gt;
hold on;&lt;br /&gt;
&lt;br /&gt;
contourf(X, Y, T_val, 50, 'LineStyle', 'none');&lt;br /&gt;
&lt;br /&gt;
% Creamos la gráfica&lt;br /&gt;
N = 256;&lt;br /&gt;
r = linspace(0.2, 1, N)'; &lt;br /&gt;
g = linspace(0.5, 1, N)';&lt;br /&gt;
b = linspace(1, 0, N)';   &lt;br /&gt;
mi_mapa = [r, g, b];      % Matriz de colores&lt;br /&gt;
&lt;br /&gt;
colormap(mi_mapa);&lt;br /&gt;
c = colorbar;&lt;br /&gt;
c.Label.String = 'Temperatura T = (x-y)^2';&lt;br /&gt;
&lt;br /&gt;
% Cantida de flechas&lt;br /&gt;
step_r = 8;  % Salta cada 8 puntos en el radio&lt;br /&gt;
step_t = 12; % Salta cada 12 puntos en el ángulo&lt;br /&gt;
&lt;br /&gt;
idx_r = 1:step_r:size(X,1);&lt;br /&gt;
idx_t = 1:step_t:size(X,2);&lt;br /&gt;
&lt;br /&gt;
% Dibujo flechas&lt;br /&gt;
quiver(X(idx_r, idx_t), Y(idx_r, idx_t), ...&lt;br /&gt;
       Grad_X(idx_r, idx_t), Grad_Y(idx_r, idx_t), ...&lt;br /&gt;
       'k', ...                 % Color negro flechas&lt;br /&gt;
       'LineWidth', 1.0, ...    % Grosor flechas&lt;br /&gt;
       'AutoScaleFactor', 0.8); % Tamaño flechas&lt;br /&gt;
&lt;br /&gt;
axis equal;&lt;br /&gt;
xlim([-2.5 2.5]); ylim([0 2.5]); % Márgenes &lt;br /&gt;
title('Gradiente sobre T');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
box on; &lt;br /&gt;
&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
== Gradiente de temperatura ==&lt;br /&gt;
[[Archivo:Gradiente apartado 3.png|500px|thumb|right|Gradiente de temperatura]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% GRADIANTE TEMPERATURA&lt;br /&gt;
clc; clear; close all;&lt;br /&gt;
&lt;br /&gt;
% Dominio &lt;br /&gt;
rho_min = 1;  rho_max = 2;&lt;br /&gt;
th_min = 0;   th_max = pi;&lt;br /&gt;
&lt;br /&gt;
[Rho, Theta] = meshgrid(linspace(rho_min, rho_max, 100), ...&lt;br /&gt;
                        linspace(th_min, th_max, 200));&lt;br /&gt;
&lt;br /&gt;
% Convertimos a Cartesianas&lt;br /&gt;
X = Rho .* cos(Theta);&lt;br /&gt;
Y = Rho .* sin(Theta);&lt;br /&gt;
&lt;br /&gt;
%% 2. Definición de Temperatura y Gradiente&lt;br /&gt;
% Temperatura T = (x - y)^2&lt;br /&gt;
T_val = (X - Y).^2;&lt;br /&gt;
&lt;br /&gt;
% Cálculo del gradiente&lt;br /&gt;
Grad_X = 2 .* (X - Y);&lt;br /&gt;
Grad_Y = -2 .* (X - Y);&lt;br /&gt;
&lt;br /&gt;
% Representación gráfica&lt;br /&gt;
figure('Name', 'Trabajo M - Pregunta 3 (Estilo Suave)', 'Color', 'w');&lt;br /&gt;
hold on;&lt;br /&gt;
&lt;br /&gt;
contourf(X, Y, T_val, 50, 'LineStyle', 'none');&lt;br /&gt;
&lt;br /&gt;
% Creamos la gráfica&lt;br /&gt;
N = 256;&lt;br /&gt;
r = linspace(0.2, 1, N)'; &lt;br /&gt;
g = linspace(0.5, 1, N)';&lt;br /&gt;
b = linspace(1, 0, N)';   &lt;br /&gt;
mi_mapa = [r, g, b];      % Matriz de colores&lt;br /&gt;
&lt;br /&gt;
colormap(mi_mapa);&lt;br /&gt;
c = colorbar;&lt;br /&gt;
c.Label.String = 'Temperatura T = (x-y)^2';&lt;br /&gt;
&lt;br /&gt;
% Cantida de flechas&lt;br /&gt;
step_r = 8;  % Salta cada 8 puntos en el radio&lt;br /&gt;
step_t = 12; % Salta cada 12 puntos en el ángulo&lt;br /&gt;
&lt;br /&gt;
idx_r = 1:step_r:size(X,1);&lt;br /&gt;
idx_t = 1:step_t:size(X,2);&lt;br /&gt;
&lt;br /&gt;
% Dibujo flechas&lt;br /&gt;
quiver(X(idx_r, idx_t), Y(idx_r, idx_t), ...&lt;br /&gt;
       Grad_X(idx_r, idx_t), Grad_Y(idx_r, idx_t), ...&lt;br /&gt;
       'k', ...                 % Color negro flechas&lt;br /&gt;
       'LineWidth', 1.0, ...    % Grosor flechas&lt;br /&gt;
       'AutoScaleFactor', 0.8); % Tamaño flechas&lt;br /&gt;
&lt;br /&gt;
axis equal;&lt;br /&gt;
xlim([-2.5 2.5]); ylim([0 2.5]); % Márgenes &lt;br /&gt;
title('Gradiente sobre T');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
&lt;br /&gt;
box on; &lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
==Dibujo del sólido antes y después del desplazamiento==&lt;br /&gt;
&lt;br /&gt;
===Código===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% Visualización de Deformación (Azul vs Rojo)&lt;br /&gt;
clear; clc; close all;&lt;br /&gt;
% --- 1. DATOS Y CÁLCULOS  ---&lt;br /&gt;
rho_vec = 1:0.1:2;&lt;br /&gt;
&lt;br /&gt;
% EL CAMBIO ESTÁ AQUÍ:&lt;br /&gt;
&lt;br /&gt;
theta_vec = [0:0.1:pi, pi]; &lt;br /&gt;
&lt;br /&gt;
[R, Th] = meshgrid(rho_vec, theta_vec);&lt;br /&gt;
&lt;br /&gt;
% Posición Inicial&lt;br /&gt;
X_ini = R .* cos(Th);&lt;br /&gt;
Y_ini = R .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
% Desplazamiento u (Trabajo M)&lt;br /&gt;
u_rho   = zeros(size(R));&lt;br /&gt;
u_theta = (1/5) * (R - 1) .* (R.^2) .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
UX = u_rho .* cos(Th) - u_theta .* sin(Th);&lt;br /&gt;
UY = u_rho .* sin(Th) + u_theta .* cos(Th);&lt;br /&gt;
&lt;br /&gt;
% Posición Final&lt;br /&gt;
X_fin = X_ini + UX;&lt;br /&gt;
Y_fin = Y_ini + UY;&lt;br /&gt;
&lt;br /&gt;
% ---  GENERACIÓN DE LAS GRÁFICAS ---&lt;br /&gt;
&lt;br /&gt;
% GRÁFICA 1: Posición Inicial&lt;br /&gt;
figure(1); clf; hold on; axis equal;&lt;br /&gt;
set(gcf, 'Color', 'w'); title('1. Posición Inicial (Sin deformar)');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
plot(X_ini, Y_ini, 'b', 'LineWidth', 1);&lt;br /&gt;
plot(X_ini', Y_ini', 'b', 'LineWidth', 1);&lt;br /&gt;
plot_borde(rho_vec, theta_vec, 'k', 2); &lt;br /&gt;
axis([-2.5 2.5 0 2.5]); grid on;&lt;br /&gt;
&lt;br /&gt;
% GRÁFICA 2: Posición Final&lt;br /&gt;
figure(2); clf; hold on; axis equal;&lt;br /&gt;
set(gcf, 'Color', 'w'); title('2. Posición Final (Deformada)');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
plot(X_fin, Y_fin, 'r', 'LineWidth', 1);&lt;br /&gt;
plot(X_fin', Y_fin', 'r', 'LineWidth', 1);&lt;br /&gt;
axis([-2.5 2.5 0 2.5]); grid on;&lt;br /&gt;
&lt;br /&gt;
% GRÁFICA 3: Superposición (AZUL vs ROJO)&lt;br /&gt;
figure(3); clf; hold on; axis equal;&lt;br /&gt;
set(gcf, 'Color', 'w'); title('3. Comparativa: Inicial vs Final');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
&lt;br /&gt;
% A) Inicial: AZUL&lt;br /&gt;
plot(X_ini, Y_ini, 'b', 'LineWidth', 1);&lt;br /&gt;
plot(X_ini', Y_ini', 'b', 'LineWidth', 1);&lt;br /&gt;
&lt;br /&gt;
% B) Final: ROJO&lt;br /&gt;
plot(X_fin, Y_fin, 'r', 'LineWidth', 1.2);&lt;br /&gt;
plot(X_fin', Y_fin', 'r', 'LineWidth', 1.2);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% --- Función para bordes ---&lt;br /&gt;
function plot_borde(r_v, t_v, col, ancho)&lt;br /&gt;
    plot(r_v(end)*cos(t_v), r_v(end)*sin(t_v), col, 'LineWidth', ancho);&lt;br /&gt;
    plot(r_v(1)*cos(t_v), r_v(1)*sin(t_v), col, 'LineWidth', ancho);&lt;br /&gt;
    plot([r_v(1) r_v(end)]*cos(t_v(1)), [r_v(1) r_v(end)]*sin(t_v(1)), col, 'LineWidth', ancho);&lt;br /&gt;
    plot([r_v(1) r_v(end)]*cos(t_v(end)), [r_v(1) r_v(end)]*sin(t_v(end)), col, 'LineWidth', ancho);&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Tensiones tangenciales ==&lt;br /&gt;
[[Archivo:apartado_9.jpg|500px|thumb|right|Tensiones tangenciales]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% TENSIONES TANGENCIALES&lt;br /&gt;
clear; clc; close all;&lt;br /&gt;
&lt;br /&gt;
% --- 1. GEOMETRÍA ---&lt;br /&gt;
rho_vec = 1:0.01:2;&lt;br /&gt;
theta_vec = 0:0.01:pi;&lt;br /&gt;
[R, Th] = meshgrid(rho_vec, theta_vec);&lt;br /&gt;
&lt;br /&gt;
X = R .* cos(Th);&lt;br /&gt;
Y = R .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
% --- 2. CÁLCULO DE LA TENSIÓN ---&lt;br /&gt;
Tau = (1/5) * (2*R.^2 - R) .* sin(Th);&lt;br /&gt;
Tau_Mag = abs(Tau);&lt;br /&gt;
&lt;br /&gt;
% --- 3. VISUALIZACIÓN ---&lt;br /&gt;
figure(9); clf; hold on; axis equal;&lt;br /&gt;
set(gcf, 'Color', 'w');&lt;br /&gt;
title('Tensión tangencial');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
&lt;br /&gt;
contourf(X, Y, Tau_Mag, 50, 'LineStyle', 'none');&lt;br /&gt;
c = colorbar;&lt;br /&gt;
ylabel(c,'Esfuerzo de Corte (Pa)');&lt;br /&gt;
&lt;br /&gt;
% --- 4. Colormap amplio AZUL → ROJO (256 tonos) ---&lt;br /&gt;
n = 256;&lt;br /&gt;
azul = [0 0 1];       % azul puro&lt;br /&gt;
rojo = [1 0 0];       % rojo puro&lt;br /&gt;
cmap = [linspace(azul(1), rojo(1), n)', ...&lt;br /&gt;
        linspace(azul(2), rojo(2), n)', ...&lt;br /&gt;
        linspace(azul(3), rojo(3), n)'];&lt;br /&gt;
colormap(cmap);&lt;br /&gt;
&lt;br /&gt;
% --- 5. Bordes exteriores en negro ---&lt;br /&gt;
t_border = 0:0.001:pi;&lt;br /&gt;
plot(2*cos(t_border),2*sin(t_border),'k','LineWidth',2);&lt;br /&gt;
plot(1*cos(t_border),1*sin(t_border),'k','LineWidth',2);&lt;br /&gt;
plot([-2,-1],[0,0],'k','LineWidth',2);&lt;br /&gt;
plot([1,2],[0,0],'k','LineWidth',2);&lt;br /&gt;
&lt;br /&gt;
% --- 6. Punto de máxima tensión ---&lt;br /&gt;
max_val = max(Tau_Mag(:));&lt;br /&gt;
[fr, fc] = find(Tau_Mag == max_val, 1);&lt;br /&gt;
plot(X(fr,fc),Y(fr,fc),'wx','LineWidth',2,'MarkerSize',10);&lt;br /&gt;
text(X(fr,fc),Y(fr,fc)+0.1,'Máx','Color','w','FontWeight','bold');&lt;br /&gt;
&lt;br /&gt;
axis([-2.2 2.2 0 2.2]);&lt;br /&gt;
grid off;&lt;br /&gt;
hold off;&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
== apartado 11 ==&lt;br /&gt;
La masa se calcula con la siguiente integral: M = ∫∫ d(ρ, θ) dA&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El dominio es [1,2]x[0,pi] y por tanto los límites de integración serán:&lt;br /&gt;
&lt;br /&gt;
Límete de rho: 1 ≤ ρ ≤ 2&lt;br /&gt;
&lt;br /&gt;
Límite de theta: 0 ≤ θ ≤ π&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El diferencia de área (Jacobiano) es: dA = ρ dρ dθ&lt;br /&gt;
&lt;br /&gt;
La densidad viene dada por: d(ρ, θ) = 1 + e^(ρ² cos θ)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por último la masa se calculará de la siguiente manera: &lt;br /&gt;
&lt;br /&gt;
M = ∫(de 0 a π) ∫(de 1 a 2) [1 + e^(ρ² cos θ)] · ρ dρ dθ&lt;br /&gt;
== Interpretación del trabajo ==&lt;br /&gt;
En el Trabajo M se modela una onda transversal en una placa rectangular mediante el campo de desplazamientos:&lt;br /&gt;
&lt;br /&gt;
u⃗(x, y, t) = a⃗ · cos(b⃗ · r⃗₀ − c·t),&lt;br /&gt;
&lt;br /&gt;
con&lt;br /&gt;
&lt;br /&gt;
a⃗ = 1/10 i⃗,&lt;br /&gt;
b⃗ = π j⃗,&lt;br /&gt;
t = 0.&lt;br /&gt;
&lt;br /&gt;
Esto se puede interpretar como una onda de corte (onda S) que se propaga en un medio elástico, como la corteza terrestre durante un terremoto.&lt;br /&gt;
&lt;br /&gt;
Ondas S (secundarias o de corte): son ondas transversales, en las que las partículas del material vibran perpendicularmente a la dirección de propagación de la onda.&lt;br /&gt;
&lt;br /&gt;
En este caso, la dirección de propagación es la del vector b⃗ = π j⃗ (eje y), y la vibración es en la dirección i⃗ (eje x), lo cual es típico de ondas S con polarización horizontal (onda SH).&lt;br /&gt;
&lt;br /&gt;
Aplicación al Trabajo M (arco entre radios 1 y 2)&lt;br /&gt;
&lt;br /&gt;
En el Trabajo M, el dominio es un sector de arco en coordenadas polares (ρ,θ), con ρ ∈ [1,2], y el campo de desplazamientos es:&lt;br /&gt;
&lt;br /&gt;
u⃗(ρ,θ) = 1/5 (ρ−1) ρ² sinθ e⃗θ.&lt;br /&gt;
&lt;br /&gt;
Este campo representa un desplazamiento puramente tangencial (e⃗θ), que también corresponde a una onda de corte pero en geometría curvilínea.&lt;br /&gt;
&lt;br /&gt;
En sismología, las ondas S pueden viajar a lo largo de estructuras curvas en la corteza, como capas geológicas curvadas o interfaces entre materiales.&lt;br /&gt;
&lt;br /&gt;
El factor (ρ−1) ρ² sinθ indica que el desplazamiento es máximo en la parte exterior del arco (ρ = 2) y varía sinusoidalmente con θ, lo que podría modelar una onda estacionaria o forzada en una placa curvada.&lt;br /&gt;
&lt;br /&gt;
Relación con la temperatura&lt;br /&gt;
&lt;br /&gt;
En ambos trabajos se incluye un campo de temperatura:&lt;br /&gt;
&lt;br /&gt;
T(x,y) = (x − y)²,&lt;br /&gt;
&lt;br /&gt;
que en el Trabajo M debe expresarse en coordenadas polares:&lt;br /&gt;
&lt;br /&gt;
x = ρ cosθ,&lt;br /&gt;
y = ρ sinθ,&lt;br /&gt;
&lt;br /&gt;
T(ρ,θ) = ρ² (cosθ − sinθ)².&lt;br /&gt;
&lt;br /&gt;
Esta temperatura podría representar gradientes térmicos en la corteza debidos a fuentes geotérmicas, que afectan a las propiedades elásticas del medio y, por tanto, a la propagación de ondas sísmicas.&lt;br /&gt;
&lt;br /&gt;
Conclusión de la aplicación&lt;br /&gt;
&lt;br /&gt;
El Trabajo M puede interpretarse como el estudio de ondas de corte (S) en una región curvilínea de la corteza terrestre, como un arco de falla o una capa geológica curvada, donde los desplazamientos son transversales a la dirección radial. La inclusión del campo de temperatura permite analizar cómo los gradientes térmicos influyen en la deformación y propagación de ondas en estructuras geológicas reales, algo relevante en sismología y geofísica.&lt;/div&gt;</summary>
		<author><name>Álvaro Villar</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Mallado_Arco_1_(grupo_59)&amp;diff=93125</id>
		<title>Mallado Arco 1 (grupo 59)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Mallado_Arco_1_(grupo_59)&amp;diff=93125"/>
				<updated>2025-12-01T11:42:27Z</updated>
		
		<summary type="html">&lt;p&gt;Álvaro Villar: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Arco1. Grupo 59 | [[:Categoría:Teoría de Campos|Teoría de Campos]]|[[:Categoría:TC25/26|2025-26]] | &lt;br /&gt;
*Guillermo Pineros Quero&lt;br /&gt;
*Ignacio Sueiras Oviedo&lt;br /&gt;
*Francisco Yusep Saiz Cebrián&lt;br /&gt;
*Álvaro Villar Rosado&lt;br /&gt;
*Javier Ruiz Sáenz de Jubera}}&lt;br /&gt;
[[Categoría:Teoría de Campos]]&lt;br /&gt;
[[Categoría:TC25/26]]&lt;br /&gt;
== Mallado del arco ==&lt;br /&gt;
[[Archivo:untitled4.png|500px|thumb|right|Representación del mallado]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Mallado del arco alineado&lt;br /&gt;
&lt;br /&gt;
% Elegimos divisiones que garanticen que:&lt;br /&gt;
% θ = 0, pi/2, pi están incluidos &lt;br /&gt;
% r incluye exactamente 1 y 2    &lt;br /&gt;
&lt;br /&gt;
theta = linspace(0, pi, 20);   % mallado moderado, incluye 0, pi/2 y pi&lt;br /&gt;
r = linspace(1, 2, 15);        % radios exactos 1 y 2&lt;br /&gt;
&lt;br /&gt;
[R, TH] = meshgrid(r, theta);&lt;br /&gt;
&lt;br /&gt;
% Convertir a coordenadas cartesianas&lt;br /&gt;
X = R .* cos(TH);&lt;br /&gt;
Y = R .* sin(TH);&lt;br /&gt;
&lt;br /&gt;
figure;&lt;br /&gt;
hold on;&lt;br /&gt;
&lt;br /&gt;
col = [0.3 0.6 1];  % azul clarito&lt;br /&gt;
&lt;br /&gt;
% Mallado tipo red (más grueso) &lt;br /&gt;
plot(X,  Y, 'Color', col, 'LineWidth', 1.1);   % líneas en theta&lt;br /&gt;
plot(X', Y', 'Color', col, 'LineWidth', 1.1);  % líneas en r&lt;br /&gt;
&lt;br /&gt;
% Contornos superior interior y exterior &lt;br /&gt;
theta_cont = linspace(0, pi, 400);&lt;br /&gt;
&lt;br /&gt;
plot(1*cos(theta_cont), 1*sin(theta_cont), 'Color', col, 'LineWidth', 2);&lt;br /&gt;
plot(2*cos(theta_cont), 2*sin(theta_cont), 'Color', col, 'LineWidth', 2);&lt;br /&gt;
&lt;br /&gt;
% Bases &lt;br /&gt;
plot([-1 -2], [0 0], 'Color', col, 'LineWidth', 2);  % base izquierda&lt;br /&gt;
plot([ 1  2], [0 0], 'Color', col, 'LineWidth', 2);  % base derecha&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% Ajustes&lt;br /&gt;
axis equal&lt;br /&gt;
grid on&lt;br /&gt;
title('Mallado del arco')&lt;br /&gt;
xlabel('x')&lt;br /&gt;
ylabel('y')&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==  Temperatura en el arco  ==&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Mallado del arco&lt;br /&gt;
theta = linspace(0, pi, 200);   % más denso para curva suave&lt;br /&gt;
r = linspace(1, 2, 200);        % radio interior 1, exterior 2&lt;br /&gt;
[R, TH] = meshgrid(r, theta);&lt;br /&gt;
&lt;br /&gt;
% Convertir a cartesianas&lt;br /&gt;
X = R .* cos(TH);&lt;br /&gt;
Y = R .* sin(TH);&lt;br /&gt;
&lt;br /&gt;
% Funcion temperatura&lt;br /&gt;
T = (X - Y).^2;&lt;br /&gt;
&lt;br /&gt;
% Representación 2D&lt;br /&gt;
figure;&lt;br /&gt;
pcolor(X, Y, T);     % representación 2D en colores&lt;br /&gt;
shading interp       % suavizado del color&lt;br /&gt;
colormap(jet)&lt;br /&gt;
colorbar;&lt;br /&gt;
&lt;br /&gt;
title('Temperatura T(x,y) = (x - y)^2 sobre el arco')&lt;br /&gt;
xlabel('x')&lt;br /&gt;
ylabel('y')&lt;br /&gt;
axis equal            % mantiene proporciones reales&lt;br /&gt;
== desplazamiento ==&lt;br /&gt;
%% TRABAJO M (ARCO)&lt;br /&gt;
clc; clear; close all;&lt;br /&gt;
&lt;br /&gt;
%% Pregunta 3&lt;br /&gt;
% Dominio &lt;br /&gt;
rho_min = 1;  rho_max = 2;&lt;br /&gt;
th_min = 0;   th_max = pi;&lt;br /&gt;
&lt;br /&gt;
[Rho, Theta] = meshgrid(linspace(rho_min, rho_max, 100), ...&lt;br /&gt;
                        linspace(th_min, th_max, 200));&lt;br /&gt;
&lt;br /&gt;
% Convertimos a Cartesianas&lt;br /&gt;
X = Rho .* cos(Theta);&lt;br /&gt;
Y = Rho .* sin(Theta);&lt;br /&gt;
&lt;br /&gt;
%% 2. Definición de Temperatura y Gradiente&lt;br /&gt;
% Temperatura T = (x - y)^2&lt;br /&gt;
T_val = (X - Y).^2;&lt;br /&gt;
&lt;br /&gt;
% Cálculo del gradiente&lt;br /&gt;
Grad_X = 2 .* (X - Y);&lt;br /&gt;
Grad_Y = -2 .* (X - Y);&lt;br /&gt;
&lt;br /&gt;
% Representación gráfica&lt;br /&gt;
figure('Name', 'Trabajo M - Pregunta 3 (Estilo Suave)', 'Color', 'w');&lt;br /&gt;
hold on;&lt;br /&gt;
&lt;br /&gt;
contourf(X, Y, T_val, 50, 'LineStyle', 'none');&lt;br /&gt;
&lt;br /&gt;
% Creamos la gráfica&lt;br /&gt;
N = 256;&lt;br /&gt;
r = linspace(0.2, 1, N)'; &lt;br /&gt;
g = linspace(0.5, 1, N)';&lt;br /&gt;
b = linspace(1, 0, N)';   &lt;br /&gt;
mi_mapa = [r, g, b];      % Matriz de colores&lt;br /&gt;
&lt;br /&gt;
colormap(mi_mapa);&lt;br /&gt;
c = colorbar;&lt;br /&gt;
c.Label.String = 'Temperatura T = (x-y)^2';&lt;br /&gt;
&lt;br /&gt;
% Cantida de flechas&lt;br /&gt;
step_r = 8;  % Salta cada 8 puntos en el radio&lt;br /&gt;
step_t = 12; % Salta cada 12 puntos en el ángulo&lt;br /&gt;
&lt;br /&gt;
idx_r = 1:step_r:size(X,1);&lt;br /&gt;
idx_t = 1:step_t:size(X,2);&lt;br /&gt;
&lt;br /&gt;
% Dibujo flechas&lt;br /&gt;
quiver(X(idx_r, idx_t), Y(idx_r, idx_t), ...&lt;br /&gt;
       Grad_X(idx_r, idx_t), Grad_Y(idx_r, idx_t), ...&lt;br /&gt;
       'k', ...                 % Color negro flechas&lt;br /&gt;
       'LineWidth', 1.0, ...    % Grosor flechas&lt;br /&gt;
       'AutoScaleFactor', 0.8); % Tamaño flechas&lt;br /&gt;
&lt;br /&gt;
axis equal;&lt;br /&gt;
xlim([-2.5 2.5]); ylim([0 2.5]); % Márgenes &lt;br /&gt;
title('Gradiente sobre T');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
box on; &lt;br /&gt;
&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
== Gradiente de temperatura ==&lt;br /&gt;
[[Archivo:Gradiente apartado 3.png|500px|thumb|right|Gradiente de temperatura]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% GRADIANTE TEMPERATURA&lt;br /&gt;
clc; clear; close all;&lt;br /&gt;
&lt;br /&gt;
% Dominio &lt;br /&gt;
rho_min = 1;  rho_max = 2;&lt;br /&gt;
th_min = 0;   th_max = pi;&lt;br /&gt;
&lt;br /&gt;
[Rho, Theta] = meshgrid(linspace(rho_min, rho_max, 100), ...&lt;br /&gt;
                        linspace(th_min, th_max, 200));&lt;br /&gt;
&lt;br /&gt;
% Convertimos a Cartesianas&lt;br /&gt;
X = Rho .* cos(Theta);&lt;br /&gt;
Y = Rho .* sin(Theta);&lt;br /&gt;
&lt;br /&gt;
%% 2. Definición de Temperatura y Gradiente&lt;br /&gt;
% Temperatura T = (x - y)^2&lt;br /&gt;
T_val = (X - Y).^2;&lt;br /&gt;
&lt;br /&gt;
% Cálculo del gradiente&lt;br /&gt;
Grad_X = 2 .* (X - Y);&lt;br /&gt;
Grad_Y = -2 .* (X - Y);&lt;br /&gt;
&lt;br /&gt;
% Representación gráfica&lt;br /&gt;
figure('Name', 'Trabajo M - Pregunta 3 (Estilo Suave)', 'Color', 'w');&lt;br /&gt;
hold on;&lt;br /&gt;
&lt;br /&gt;
contourf(X, Y, T_val, 50, 'LineStyle', 'none');&lt;br /&gt;
&lt;br /&gt;
% Creamos la gráfica&lt;br /&gt;
N = 256;&lt;br /&gt;
r = linspace(0.2, 1, N)'; &lt;br /&gt;
g = linspace(0.5, 1, N)';&lt;br /&gt;
b = linspace(1, 0, N)';   &lt;br /&gt;
mi_mapa = [r, g, b];      % Matriz de colores&lt;br /&gt;
&lt;br /&gt;
colormap(mi_mapa);&lt;br /&gt;
c = colorbar;&lt;br /&gt;
c.Label.String = 'Temperatura T = (x-y)^2';&lt;br /&gt;
&lt;br /&gt;
% Cantida de flechas&lt;br /&gt;
step_r = 8;  % Salta cada 8 puntos en el radio&lt;br /&gt;
step_t = 12; % Salta cada 12 puntos en el ángulo&lt;br /&gt;
&lt;br /&gt;
idx_r = 1:step_r:size(X,1);&lt;br /&gt;
idx_t = 1:step_t:size(X,2);&lt;br /&gt;
&lt;br /&gt;
% Dibujo flechas&lt;br /&gt;
quiver(X(idx_r, idx_t), Y(idx_r, idx_t), ...&lt;br /&gt;
       Grad_X(idx_r, idx_t), Grad_Y(idx_r, idx_t), ...&lt;br /&gt;
       'k', ...                 % Color negro flechas&lt;br /&gt;
       'LineWidth', 1.0, ...    % Grosor flechas&lt;br /&gt;
       'AutoScaleFactor', 0.8); % Tamaño flechas&lt;br /&gt;
&lt;br /&gt;
axis equal;&lt;br /&gt;
xlim([-2.5 2.5]); ylim([0 2.5]); % Márgenes &lt;br /&gt;
title('Gradiente sobre T');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
&lt;br /&gt;
box on; &lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
==Dibujo del sólido antes y después del desplazamiento==&lt;br /&gt;
&lt;br /&gt;
===Código===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% Visualización de Deformación (Azul vs Rojo)&lt;br /&gt;
clear; clc; close all;&lt;br /&gt;
% --- 1. DATOS Y CÁLCULOS  ---&lt;br /&gt;
rho_vec = 1:0.1:2;&lt;br /&gt;
&lt;br /&gt;
% EL CAMBIO ESTÁ AQUÍ:&lt;br /&gt;
&lt;br /&gt;
theta_vec = [0:0.1:pi, pi]; &lt;br /&gt;
&lt;br /&gt;
[R, Th] = meshgrid(rho_vec, theta_vec);&lt;br /&gt;
&lt;br /&gt;
% Posición Inicial&lt;br /&gt;
X_ini = R .* cos(Th);&lt;br /&gt;
Y_ini = R .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
% Desplazamiento u (Trabajo M)&lt;br /&gt;
u_rho   = zeros(size(R));&lt;br /&gt;
u_theta = (1/5) * (R - 1) .* (R.^2) .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
UX = u_rho .* cos(Th) - u_theta .* sin(Th);&lt;br /&gt;
UY = u_rho .* sin(Th) + u_theta .* cos(Th);&lt;br /&gt;
&lt;br /&gt;
% Posición Final&lt;br /&gt;
X_fin = X_ini + UX;&lt;br /&gt;
Y_fin = Y_ini + UY;&lt;br /&gt;
&lt;br /&gt;
% ---  GENERACIÓN DE LAS GRÁFICAS ---&lt;br /&gt;
&lt;br /&gt;
% GRÁFICA 1: Posición Inicial&lt;br /&gt;
figure(1); clf; hold on; axis equal;&lt;br /&gt;
set(gcf, 'Color', 'w'); title('1. Posición Inicial (Sin deformar)');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
plot(X_ini, Y_ini, 'b', 'LineWidth', 1);&lt;br /&gt;
plot(X_ini', Y_ini', 'b', 'LineWidth', 1);&lt;br /&gt;
plot_borde(rho_vec, theta_vec, 'k', 2); &lt;br /&gt;
axis([-2.5 2.5 0 2.5]); grid on;&lt;br /&gt;
&lt;br /&gt;
% GRÁFICA 2: Posición Final&lt;br /&gt;
figure(2); clf; hold on; axis equal;&lt;br /&gt;
set(gcf, 'Color', 'w'); title('2. Posición Final (Deformada)');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
plot(X_fin, Y_fin, 'r', 'LineWidth', 1);&lt;br /&gt;
plot(X_fin', Y_fin', 'r', 'LineWidth', 1);&lt;br /&gt;
axis([-2.5 2.5 0 2.5]); grid on;&lt;br /&gt;
&lt;br /&gt;
% GRÁFICA 3: Superposición (AZUL vs ROJO)&lt;br /&gt;
figure(3); clf; hold on; axis equal;&lt;br /&gt;
set(gcf, 'Color', 'w'); title('3. Comparativa: Inicial vs Final');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
&lt;br /&gt;
% A) Inicial: AZUL&lt;br /&gt;
plot(X_ini, Y_ini, 'b', 'LineWidth', 1);&lt;br /&gt;
plot(X_ini', Y_ini', 'b', 'LineWidth', 1);&lt;br /&gt;
&lt;br /&gt;
% B) Final: ROJO&lt;br /&gt;
plot(X_fin, Y_fin, 'r', 'LineWidth', 1.2);&lt;br /&gt;
plot(X_fin', Y_fin', 'r', 'LineWidth', 1.2);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% --- Función para bordes ---&lt;br /&gt;
function plot_borde(r_v, t_v, col, ancho)&lt;br /&gt;
    plot(r_v(end)*cos(t_v), r_v(end)*sin(t_v), col, 'LineWidth', ancho);&lt;br /&gt;
    plot(r_v(1)*cos(t_v), r_v(1)*sin(t_v), col, 'LineWidth', ancho);&lt;br /&gt;
    plot([r_v(1) r_v(end)]*cos(t_v(1)), [r_v(1) r_v(end)]*sin(t_v(1)), col, 'LineWidth', ancho);&lt;br /&gt;
    plot([r_v(1) r_v(end)]*cos(t_v(end)), [r_v(1) r_v(end)]*sin(t_v(end)), col, 'LineWidth', ancho);&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Tensiones tangenciales ==&lt;br /&gt;
[[Archivo:apartado_9.jpg|500px|thumb|right|Tensiones tangenciales]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% TENSIONES TANGENCIALES&lt;br /&gt;
clear; clc; close all;&lt;br /&gt;
&lt;br /&gt;
% --- 1. GEOMETRÍA ---&lt;br /&gt;
rho_vec = 1:0.01:2;&lt;br /&gt;
theta_vec = 0:0.01:pi;&lt;br /&gt;
[R, Th] = meshgrid(rho_vec, theta_vec);&lt;br /&gt;
&lt;br /&gt;
X = R .* cos(Th);&lt;br /&gt;
Y = R .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
% --- 2. CÁLCULO DE LA TENSIÓN ---&lt;br /&gt;
Tau = (1/5) * (2*R.^2 - R) .* sin(Th);&lt;br /&gt;
Tau_Mag = abs(Tau);&lt;br /&gt;
&lt;br /&gt;
% --- 3. VISUALIZACIÓN ---&lt;br /&gt;
figure(9); clf; hold on; axis equal;&lt;br /&gt;
set(gcf, 'Color', 'w');&lt;br /&gt;
title('Tensión tangencial');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
&lt;br /&gt;
contourf(X, Y, Tau_Mag, 50, 'LineStyle', 'none');&lt;br /&gt;
c = colorbar;&lt;br /&gt;
ylabel(c,'Esfuerzo de Corte (Pa)');&lt;br /&gt;
&lt;br /&gt;
% --- 4. Colormap amplio AZUL → ROJO (256 tonos) ---&lt;br /&gt;
n = 256;&lt;br /&gt;
azul = [0 0 1];       % azul puro&lt;br /&gt;
rojo = [1 0 0];       % rojo puro&lt;br /&gt;
cmap = [linspace(azul(1), rojo(1), n)', ...&lt;br /&gt;
        linspace(azul(2), rojo(2), n)', ...&lt;br /&gt;
        linspace(azul(3), rojo(3), n)'];&lt;br /&gt;
colormap(cmap);&lt;br /&gt;
&lt;br /&gt;
% --- 5. Bordes exteriores en negro ---&lt;br /&gt;
t_border = 0:0.001:pi;&lt;br /&gt;
plot(2*cos(t_border),2*sin(t_border),'k','LineWidth',2);&lt;br /&gt;
plot(1*cos(t_border),1*sin(t_border),'k','LineWidth',2);&lt;br /&gt;
plot([-2,-1],[0,0],'k','LineWidth',2);&lt;br /&gt;
plot([1,2],[0,0],'k','LineWidth',2);&lt;br /&gt;
&lt;br /&gt;
% --- 6. Punto de máxima tensión ---&lt;br /&gt;
max_val = max(Tau_Mag(:));&lt;br /&gt;
[fr, fc] = find(Tau_Mag == max_val, 1);&lt;br /&gt;
plot(X(fr,fc),Y(fr,fc),'wx','LineWidth',2,'MarkerSize',10);&lt;br /&gt;
text(X(fr,fc),Y(fr,fc)+0.1,'Máx','Color','w','FontWeight','bold');&lt;br /&gt;
&lt;br /&gt;
axis([-2.2 2.2 0 2.2]);&lt;br /&gt;
grid off;&lt;br /&gt;
hold off;&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
== Interpretación del trabajo ==&lt;br /&gt;
En el Trabajo M se modela una onda transversal en una placa rectangular mediante el campo de desplazamientos:&lt;br /&gt;
&lt;br /&gt;
u⃗(x, y, t) = a⃗ · cos(b⃗ · r⃗₀ − c·t),&lt;br /&gt;
&lt;br /&gt;
con&lt;br /&gt;
&lt;br /&gt;
a⃗ = 1/10 i⃗,&lt;br /&gt;
b⃗ = π j⃗,&lt;br /&gt;
t = 0.&lt;br /&gt;
&lt;br /&gt;
Esto se puede interpretar como una onda de corte (onda S) que se propaga en un medio elástico, como la corteza terrestre durante un terremoto.&lt;br /&gt;
&lt;br /&gt;
Ondas S (secundarias o de corte): son ondas transversales, en las que las partículas del material vibran perpendicularmente a la dirección de propagación de la onda.&lt;br /&gt;
&lt;br /&gt;
En este caso, la dirección de propagación es la del vector b⃗ = π j⃗ (eje y), y la vibración es en la dirección i⃗ (eje x), lo cual es típico de ondas S con polarización horizontal (onda SH).&lt;br /&gt;
&lt;br /&gt;
Aplicación al Trabajo M (arco entre radios 1 y 2)&lt;br /&gt;
&lt;br /&gt;
En el Trabajo M, el dominio es un sector de arco en coordenadas polares (ρ,θ), con ρ ∈ [1,2], y el campo de desplazamientos es:&lt;br /&gt;
&lt;br /&gt;
u⃗(ρ,θ) = 1/5 (ρ−1) ρ² sinθ e⃗θ.&lt;br /&gt;
&lt;br /&gt;
Este campo representa un desplazamiento puramente tangencial (e⃗θ), que también corresponde a una onda de corte pero en geometría curvilínea.&lt;br /&gt;
&lt;br /&gt;
En sismología, las ondas S pueden viajar a lo largo de estructuras curvas en la corteza, como capas geológicas curvadas o interfaces entre materiales.&lt;br /&gt;
&lt;br /&gt;
El factor (ρ−1) ρ² sinθ indica que el desplazamiento es máximo en la parte exterior del arco (ρ = 2) y varía sinusoidalmente con θ, lo que podría modelar una onda estacionaria o forzada en una placa curvada.&lt;br /&gt;
&lt;br /&gt;
Relación con la temperatura&lt;br /&gt;
&lt;br /&gt;
En ambos trabajos se incluye un campo de temperatura:&lt;br /&gt;
&lt;br /&gt;
T(x,y) = (x − y)²,&lt;br /&gt;
&lt;br /&gt;
que en el Trabajo M debe expresarse en coordenadas polares:&lt;br /&gt;
&lt;br /&gt;
x = ρ cosθ,&lt;br /&gt;
y = ρ sinθ,&lt;br /&gt;
&lt;br /&gt;
T(ρ,θ) = ρ² (cosθ − sinθ)².&lt;br /&gt;
&lt;br /&gt;
Esta temperatura podría representar gradientes térmicos en la corteza debidos a fuentes geotérmicas, que afectan a las propiedades elásticas del medio y, por tanto, a la propagación de ondas sísmicas.&lt;br /&gt;
&lt;br /&gt;
Conclusión de la aplicación&lt;br /&gt;
&lt;br /&gt;
El Trabajo M puede interpretarse como el estudio de ondas de corte (S) en una región curvilínea de la corteza terrestre, como un arco de falla o una capa geológica curvada, donde los desplazamientos son transversales a la dirección radial. La inclusión del campo de temperatura permite analizar cómo los gradientes térmicos influyen en la deformación y propagación de ondas en estructuras geológicas reales, algo relevante en sismología y geofísica.&lt;br /&gt;
&lt;br /&gt;
== apartado 11 ==&lt;br /&gt;
La masa se calcula con la siguiente integral: M = ∫∫ d(ρ, θ) dA&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El dominio es [1,2]x[0,pi] y por tanto los límites de integración serán:&lt;br /&gt;
&lt;br /&gt;
Límete de rho: 1 ≤ ρ ≤ 2&lt;br /&gt;
&lt;br /&gt;
Límite de theta: 0 ≤ θ ≤ π&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El diferencia de área (Jacobiano) es: dA = ρ dρ dθ&lt;br /&gt;
&lt;br /&gt;
La densidad viene dada por: d(ρ, θ) = 1 + e^(ρ² cos θ)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por último la masa se calculará de la siguiente manera: &lt;br /&gt;
&lt;br /&gt;
M = ∫(de 0 a π) ∫(de 1 a 2) [1 + e^(ρ² cos θ)] · ρ dρ dθ&lt;/div&gt;</summary>
		<author><name>Álvaro Villar</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Mallado_Arco_1_(grupo_59)&amp;diff=93118</id>
		<title>Mallado Arco 1 (grupo 59)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Mallado_Arco_1_(grupo_59)&amp;diff=93118"/>
				<updated>2025-12-01T11:40:17Z</updated>
		
		<summary type="html">&lt;p&gt;Álvaro Villar: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Arco1. Grupo 59 | [[:Categoría:Teoría de Campos|Teoría de Campos]]|[[:Categoría:TC25/26|2025-26]] | &lt;br /&gt;
*Guillermo Pineros Quero&lt;br /&gt;
*Ignacio Sueiras Oviedo&lt;br /&gt;
*Francisco Yusep Saiz Cebrián&lt;br /&gt;
*Álvaro Villar Rosado&lt;br /&gt;
*Javier Ruiz Sáenz de Jubera}}&lt;br /&gt;
[[Categoría:Teoría de Campos]]&lt;br /&gt;
[[Categoría:TC25/26]]&lt;br /&gt;
== Mallado del arco ==&lt;br /&gt;
[[Archivo:untitled4.png|500px|thumb|right|Representación del mallado]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Mallado del arco alineado&lt;br /&gt;
&lt;br /&gt;
% Elegimos divisiones que garanticen que:&lt;br /&gt;
% θ = 0, pi/2, pi están incluidos &lt;br /&gt;
% r incluye exactamente 1 y 2    &lt;br /&gt;
&lt;br /&gt;
theta = linspace(0, pi, 20);   % mallado moderado, incluye 0, pi/2 y pi&lt;br /&gt;
r = linspace(1, 2, 15);        % radios exactos 1 y 2&lt;br /&gt;
&lt;br /&gt;
[R, TH] = meshgrid(r, theta);&lt;br /&gt;
&lt;br /&gt;
% Convertir a coordenadas cartesianas&lt;br /&gt;
X = R .* cos(TH);&lt;br /&gt;
Y = R .* sin(TH);&lt;br /&gt;
&lt;br /&gt;
figure;&lt;br /&gt;
hold on;&lt;br /&gt;
&lt;br /&gt;
col = [0.3 0.6 1];  % azul clarito&lt;br /&gt;
&lt;br /&gt;
% Mallado tipo red (más grueso) &lt;br /&gt;
plot(X,  Y, 'Color', col, 'LineWidth', 1.1);   % líneas en theta&lt;br /&gt;
plot(X', Y', 'Color', col, 'LineWidth', 1.1);  % líneas en r&lt;br /&gt;
&lt;br /&gt;
% Contornos superior interior y exterior &lt;br /&gt;
theta_cont = linspace(0, pi, 400);&lt;br /&gt;
&lt;br /&gt;
plot(1*cos(theta_cont), 1*sin(theta_cont), 'Color', col, 'LineWidth', 2);&lt;br /&gt;
plot(2*cos(theta_cont), 2*sin(theta_cont), 'Color', col, 'LineWidth', 2);&lt;br /&gt;
&lt;br /&gt;
% Bases &lt;br /&gt;
plot([-1 -2], [0 0], 'Color', col, 'LineWidth', 2);  % base izquierda&lt;br /&gt;
plot([ 1  2], [0 0], 'Color', col, 'LineWidth', 2);  % base derecha&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% Ajustes&lt;br /&gt;
axis equal&lt;br /&gt;
grid on&lt;br /&gt;
title('Mallado del arco')&lt;br /&gt;
xlabel('x')&lt;br /&gt;
ylabel('y')&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==  Temperatura en el arco  ==&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Mallado del arco&lt;br /&gt;
theta = linspace(0, pi, 200);   % más denso para curva suave&lt;br /&gt;
r = linspace(1, 2, 200);        % radio interior 1, exterior 2&lt;br /&gt;
[R, TH] = meshgrid(r, theta);&lt;br /&gt;
&lt;br /&gt;
% Convertir a cartesianas&lt;br /&gt;
X = R .* cos(TH);&lt;br /&gt;
Y = R .* sin(TH);&lt;br /&gt;
&lt;br /&gt;
% Funcion temperatura&lt;br /&gt;
T = (X - Y).^2;&lt;br /&gt;
&lt;br /&gt;
% Representación 2D&lt;br /&gt;
figure;&lt;br /&gt;
pcolor(X, Y, T);     % representación 2D en colores&lt;br /&gt;
shading interp       % suavizado del color&lt;br /&gt;
colormap(jet)&lt;br /&gt;
colorbar;&lt;br /&gt;
&lt;br /&gt;
title('Temperatura T(x,y) = (x - y)^2 sobre el arco')&lt;br /&gt;
xlabel('x')&lt;br /&gt;
ylabel('y')&lt;br /&gt;
axis equal            % mantiene proporciones reales&lt;br /&gt;
== desplazamiento ==&lt;br /&gt;
%% TRABAJO M (ARCO)&lt;br /&gt;
clc; clear; close all;&lt;br /&gt;
&lt;br /&gt;
%% Pregunta 3&lt;br /&gt;
% Dominio &lt;br /&gt;
rho_min = 1;  rho_max = 2;&lt;br /&gt;
th_min = 0;   th_max = pi;&lt;br /&gt;
&lt;br /&gt;
[Rho, Theta] = meshgrid(linspace(rho_min, rho_max, 100), ...&lt;br /&gt;
                        linspace(th_min, th_max, 200));&lt;br /&gt;
&lt;br /&gt;
% Convertimos a Cartesianas&lt;br /&gt;
X = Rho .* cos(Theta);&lt;br /&gt;
Y = Rho .* sin(Theta);&lt;br /&gt;
&lt;br /&gt;
%% 2. Definición de Temperatura y Gradiente&lt;br /&gt;
% Temperatura T = (x - y)^2&lt;br /&gt;
T_val = (X - Y).^2;&lt;br /&gt;
&lt;br /&gt;
% Cálculo del gradiente&lt;br /&gt;
Grad_X = 2 .* (X - Y);&lt;br /&gt;
Grad_Y = -2 .* (X - Y);&lt;br /&gt;
&lt;br /&gt;
% Representación gráfica&lt;br /&gt;
figure('Name', 'Trabajo M - Pregunta 3 (Estilo Suave)', 'Color', 'w');&lt;br /&gt;
hold on;&lt;br /&gt;
&lt;br /&gt;
contourf(X, Y, T_val, 50, 'LineStyle', 'none');&lt;br /&gt;
&lt;br /&gt;
% Creamos la gráfica&lt;br /&gt;
N = 256;&lt;br /&gt;
r = linspace(0.2, 1, N)'; &lt;br /&gt;
g = linspace(0.5, 1, N)';&lt;br /&gt;
b = linspace(1, 0, N)';   &lt;br /&gt;
mi_mapa = [r, g, b];      % Matriz de colores&lt;br /&gt;
&lt;br /&gt;
colormap(mi_mapa);&lt;br /&gt;
c = colorbar;&lt;br /&gt;
c.Label.String = 'Temperatura T = (x-y)^2';&lt;br /&gt;
&lt;br /&gt;
% Cantida de flechas&lt;br /&gt;
step_r = 8;  % Salta cada 8 puntos en el radio&lt;br /&gt;
step_t = 12; % Salta cada 12 puntos en el ángulo&lt;br /&gt;
&lt;br /&gt;
idx_r = 1:step_r:size(X,1);&lt;br /&gt;
idx_t = 1:step_t:size(X,2);&lt;br /&gt;
&lt;br /&gt;
% Dibujo flechas&lt;br /&gt;
quiver(X(idx_r, idx_t), Y(idx_r, idx_t), ...&lt;br /&gt;
       Grad_X(idx_r, idx_t), Grad_Y(idx_r, idx_t), ...&lt;br /&gt;
       'k', ...                 % Color negro flechas&lt;br /&gt;
       'LineWidth', 1.0, ...    % Grosor flechas&lt;br /&gt;
       'AutoScaleFactor', 0.8); % Tamaño flechas&lt;br /&gt;
&lt;br /&gt;
axis equal;&lt;br /&gt;
xlim([-2.5 2.5]); ylim([0 2.5]); % Márgenes &lt;br /&gt;
title('Gradiente sobre T');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
box on; &lt;br /&gt;
&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
== Gradiente de temperatura ==&lt;br /&gt;
[[Archivo:Gradiente apartado 3.png|500px|thumb|right|Gradiente de temperatura]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% GRADIANTE TEMPERATURA&lt;br /&gt;
clc; clear; close all;&lt;br /&gt;
&lt;br /&gt;
% Dominio &lt;br /&gt;
rho_min = 1;  rho_max = 2;&lt;br /&gt;
th_min = 0;   th_max = pi;&lt;br /&gt;
&lt;br /&gt;
[Rho, Theta] = meshgrid(linspace(rho_min, rho_max, 100), ...&lt;br /&gt;
                        linspace(th_min, th_max, 200));&lt;br /&gt;
&lt;br /&gt;
% Convertimos a Cartesianas&lt;br /&gt;
X = Rho .* cos(Theta);&lt;br /&gt;
Y = Rho .* sin(Theta);&lt;br /&gt;
&lt;br /&gt;
%% 2. Definición de Temperatura y Gradiente&lt;br /&gt;
% Temperatura T = (x - y)^2&lt;br /&gt;
T_val = (X - Y).^2;&lt;br /&gt;
&lt;br /&gt;
% Cálculo del gradiente&lt;br /&gt;
Grad_X = 2 .* (X - Y);&lt;br /&gt;
Grad_Y = -2 .* (X - Y);&lt;br /&gt;
&lt;br /&gt;
% Representación gráfica&lt;br /&gt;
figure('Name', 'Trabajo M - Pregunta 3 (Estilo Suave)', 'Color', 'w');&lt;br /&gt;
hold on;&lt;br /&gt;
&lt;br /&gt;
contourf(X, Y, T_val, 50, 'LineStyle', 'none');&lt;br /&gt;
&lt;br /&gt;
% Creamos la gráfica&lt;br /&gt;
N = 256;&lt;br /&gt;
r = linspace(0.2, 1, N)'; &lt;br /&gt;
g = linspace(0.5, 1, N)';&lt;br /&gt;
b = linspace(1, 0, N)';   &lt;br /&gt;
mi_mapa = [r, g, b];      % Matriz de colores&lt;br /&gt;
&lt;br /&gt;
colormap(mi_mapa);&lt;br /&gt;
c = colorbar;&lt;br /&gt;
c.Label.String = 'Temperatura T = (x-y)^2';&lt;br /&gt;
&lt;br /&gt;
% Cantida de flechas&lt;br /&gt;
step_r = 8;  % Salta cada 8 puntos en el radio&lt;br /&gt;
step_t = 12; % Salta cada 12 puntos en el ángulo&lt;br /&gt;
&lt;br /&gt;
idx_r = 1:step_r:size(X,1);&lt;br /&gt;
idx_t = 1:step_t:size(X,2);&lt;br /&gt;
&lt;br /&gt;
% Dibujo flechas&lt;br /&gt;
quiver(X(idx_r, idx_t), Y(idx_r, idx_t), ...&lt;br /&gt;
       Grad_X(idx_r, idx_t), Grad_Y(idx_r, idx_t), ...&lt;br /&gt;
       'k', ...                 % Color negro flechas&lt;br /&gt;
       'LineWidth', 1.0, ...    % Grosor flechas&lt;br /&gt;
       'AutoScaleFactor', 0.8); % Tamaño flechas&lt;br /&gt;
&lt;br /&gt;
axis equal;&lt;br /&gt;
xlim([-2.5 2.5]); ylim([0 2.5]); % Márgenes &lt;br /&gt;
title('Gradiente sobre T');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
&lt;br /&gt;
box on; &lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
==Dibujo del sólido antes y después del desplazamiento==&lt;br /&gt;
&lt;br /&gt;
===Código===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% Visualización de Deformación (Azul vs Rojo)&lt;br /&gt;
clear; clc; close all;&lt;br /&gt;
% --- 1. DATOS Y CÁLCULOS  ---&lt;br /&gt;
rho_vec = 1:0.1:2;&lt;br /&gt;
&lt;br /&gt;
% EL CAMBIO ESTÁ AQUÍ:&lt;br /&gt;
&lt;br /&gt;
theta_vec = [0:0.1:pi, pi]; &lt;br /&gt;
&lt;br /&gt;
[R, Th] = meshgrid(rho_vec, theta_vec);&lt;br /&gt;
&lt;br /&gt;
% Posición Inicial&lt;br /&gt;
X_ini = R .* cos(Th);&lt;br /&gt;
Y_ini = R .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
% Desplazamiento u (Trabajo M)&lt;br /&gt;
u_rho   = zeros(size(R));&lt;br /&gt;
u_theta = (1/5) * (R - 1) .* (R.^2) .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
UX = u_rho .* cos(Th) - u_theta .* sin(Th);&lt;br /&gt;
UY = u_rho .* sin(Th) + u_theta .* cos(Th);&lt;br /&gt;
&lt;br /&gt;
% Posición Final&lt;br /&gt;
X_fin = X_ini + UX;&lt;br /&gt;
Y_fin = Y_ini + UY;&lt;br /&gt;
&lt;br /&gt;
% ---  GENERACIÓN DE LAS GRÁFICAS ---&lt;br /&gt;
&lt;br /&gt;
% GRÁFICA 1: Posición Inicial&lt;br /&gt;
figure(1); clf; hold on; axis equal;&lt;br /&gt;
set(gcf, 'Color', 'w'); title('1. Posición Inicial (Sin deformar)');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
plot(X_ini, Y_ini, 'b', 'LineWidth', 1);&lt;br /&gt;
plot(X_ini', Y_ini', 'b', 'LineWidth', 1);&lt;br /&gt;
plot_borde(rho_vec, theta_vec, 'k', 2); &lt;br /&gt;
axis([-2.5 2.5 0 2.5]); grid on;&lt;br /&gt;
&lt;br /&gt;
% GRÁFICA 2: Posición Final&lt;br /&gt;
figure(2); clf; hold on; axis equal;&lt;br /&gt;
set(gcf, 'Color', 'w'); title('2. Posición Final (Deformada)');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
plot(X_fin, Y_fin, 'r', 'LineWidth', 1);&lt;br /&gt;
plot(X_fin', Y_fin', 'r', 'LineWidth', 1);&lt;br /&gt;
axis([-2.5 2.5 0 2.5]); grid on;&lt;br /&gt;
&lt;br /&gt;
% GRÁFICA 3: Superposición (AZUL vs ROJO)&lt;br /&gt;
figure(3); clf; hold on; axis equal;&lt;br /&gt;
set(gcf, 'Color', 'w'); title('3. Comparativa: Inicial vs Final');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
&lt;br /&gt;
% A) Inicial: AZUL&lt;br /&gt;
plot(X_ini, Y_ini, 'b', 'LineWidth', 1);&lt;br /&gt;
plot(X_ini', Y_ini', 'b', 'LineWidth', 1);&lt;br /&gt;
&lt;br /&gt;
% B) Final: ROJO&lt;br /&gt;
plot(X_fin, Y_fin, 'r', 'LineWidth', 1.2);&lt;br /&gt;
plot(X_fin', Y_fin', 'r', 'LineWidth', 1.2);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% --- Función para bordes ---&lt;br /&gt;
function plot_borde(r_v, t_v, col, ancho)&lt;br /&gt;
    plot(r_v(end)*cos(t_v), r_v(end)*sin(t_v), col, 'LineWidth', ancho);&lt;br /&gt;
    plot(r_v(1)*cos(t_v), r_v(1)*sin(t_v), col, 'LineWidth', ancho);&lt;br /&gt;
    plot([r_v(1) r_v(end)]*cos(t_v(1)), [r_v(1) r_v(end)]*sin(t_v(1)), col, 'LineWidth', ancho);&lt;br /&gt;
    plot([r_v(1) r_v(end)]*cos(t_v(end)), [r_v(1) r_v(end)]*sin(t_v(end)), col, 'LineWidth', ancho);&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Tensiones tangenciales ==&lt;br /&gt;
[[Archivo:apartado_9.jpg|500px|thumb|right|Tensiones tangenciales]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% TENSIONES TANGENCIALES&lt;br /&gt;
clear; clc; close all;&lt;br /&gt;
&lt;br /&gt;
% --- 1. GEOMETRÍA ---&lt;br /&gt;
rho_vec = 1:0.01:2;&lt;br /&gt;
theta_vec = 0:0.01:pi;&lt;br /&gt;
[R, Th] = meshgrid(rho_vec, theta_vec);&lt;br /&gt;
&lt;br /&gt;
X = R .* cos(Th);&lt;br /&gt;
Y = R .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
% --- 2. CÁLCULO DE LA TENSIÓN ---&lt;br /&gt;
Tau = (1/5) * (2*R.^2 - R) .* sin(Th);&lt;br /&gt;
Tau_Mag = abs(Tau);&lt;br /&gt;
&lt;br /&gt;
% --- 3. VISUALIZACIÓN ---&lt;br /&gt;
figure(9); clf; hold on; axis equal;&lt;br /&gt;
set(gcf, 'Color', 'w');&lt;br /&gt;
title('Tensión tangencial');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
&lt;br /&gt;
contourf(X, Y, Tau_Mag, 50, 'LineStyle', 'none');&lt;br /&gt;
c = colorbar;&lt;br /&gt;
ylabel(c,'Esfuerzo de Corte (Pa)');&lt;br /&gt;
&lt;br /&gt;
% --- 4. Colormap amplio AZUL → ROJO (256 tonos) ---&lt;br /&gt;
n = 256;&lt;br /&gt;
azul = [0 0 1];       % azul puro&lt;br /&gt;
rojo = [1 0 0];       % rojo puro&lt;br /&gt;
cmap = [linspace(azul(1), rojo(1), n)', ...&lt;br /&gt;
        linspace(azul(2), rojo(2), n)', ...&lt;br /&gt;
        linspace(azul(3), rojo(3), n)'];&lt;br /&gt;
colormap(cmap);&lt;br /&gt;
&lt;br /&gt;
% --- 5. Bordes exteriores en negro ---&lt;br /&gt;
t_border = 0:0.001:pi;&lt;br /&gt;
plot(2*cos(t_border),2*sin(t_border),'k','LineWidth',2);&lt;br /&gt;
plot(1*cos(t_border),1*sin(t_border),'k','LineWidth',2);&lt;br /&gt;
plot([-2,-1],[0,0],'k','LineWidth',2);&lt;br /&gt;
plot([1,2],[0,0],'k','LineWidth',2);&lt;br /&gt;
&lt;br /&gt;
% --- 6. Punto de máxima tensión ---&lt;br /&gt;
max_val = max(Tau_Mag(:));&lt;br /&gt;
[fr, fc] = find(Tau_Mag == max_val, 1);&lt;br /&gt;
plot(X(fr,fc),Y(fr,fc),'wx','LineWidth',2,'MarkerSize',10);&lt;br /&gt;
text(X(fr,fc),Y(fr,fc)+0.1,'Máx','Color','w','FontWeight','bold');&lt;br /&gt;
&lt;br /&gt;
axis([-2.2 2.2 0 2.2]);&lt;br /&gt;
grid off;&lt;br /&gt;
hold off;&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
== Interpretación del trabajo ==&lt;br /&gt;
En el Trabajo M se modela una onda transversal en una placa rectangular mediante el campo de desplazamientos:&lt;br /&gt;
&lt;br /&gt;
u⃗(x, y, t) = a⃗ · cos(b⃗ · r⃗₀ − c·t),&lt;br /&gt;
&lt;br /&gt;
con&lt;br /&gt;
&lt;br /&gt;
a⃗ = 1/10 i⃗,&lt;br /&gt;
b⃗ = π j⃗,&lt;br /&gt;
t = 0.&lt;br /&gt;
&lt;br /&gt;
Esto se puede interpretar como una onda de corte (onda S) que se propaga en un medio elástico, como la corteza terrestre durante un terremoto.&lt;br /&gt;
&lt;br /&gt;
Ondas S (secundarias o de corte): son ondas transversales, en las que las partículas del material vibran perpendicularmente a la dirección de propagación de la onda.&lt;br /&gt;
&lt;br /&gt;
En este caso, la dirección de propagación es la del vector b⃗ = π j⃗ (eje y), y la vibración es en la dirección i⃗ (eje x), lo cual es típico de ondas S con polarización horizontal (onda SH).&lt;br /&gt;
&lt;br /&gt;
Aplicación al Trabajo M (arco entre radios 1 y 2)&lt;br /&gt;
&lt;br /&gt;
En el Trabajo M, el dominio es un sector de arco en coordenadas polares (ρ,θ), con ρ ∈ [1,2], y el campo de desplazamientos es:&lt;br /&gt;
&lt;br /&gt;
u⃗(ρ,θ) = 1/5 (ρ−1) ρ² sinθ e⃗θ.&lt;br /&gt;
&lt;br /&gt;
Este campo representa un desplazamiento puramente tangencial (e⃗θ), que también corresponde a una onda de corte pero en geometría curvilínea.&lt;br /&gt;
&lt;br /&gt;
En sismología, las ondas S pueden viajar a lo largo de estructuras curvas en la corteza, como capas geológicas curvadas o interfaces entre materiales.&lt;br /&gt;
&lt;br /&gt;
El factor (ρ−1) ρ² sinθ indica que el desplazamiento es máximo en la parte exterior del arco (ρ = 2) y varía sinusoidalmente con θ, lo que podría modelar una onda estacionaria o forzada en una placa curvada.&lt;br /&gt;
&lt;br /&gt;
Relación con la temperatura&lt;br /&gt;
&lt;br /&gt;
En ambos trabajos se incluye un campo de temperatura:&lt;br /&gt;
&lt;br /&gt;
T(x,y) = (x − y)²,&lt;br /&gt;
&lt;br /&gt;
que en el Trabajo M debe expresarse en coordenadas polares:&lt;br /&gt;
&lt;br /&gt;
x = ρ cosθ,&lt;br /&gt;
y = ρ sinθ,&lt;br /&gt;
&lt;br /&gt;
T(ρ,θ) = ρ² (cosθ − sinθ)².&lt;br /&gt;
&lt;br /&gt;
Esta temperatura podría representar gradientes térmicos en la corteza debidos a fuentes geotérmicas, que afectan a las propiedades elásticas del medio y, por tanto, a la propagación de ondas sísmicas.&lt;br /&gt;
&lt;br /&gt;
Conclusión de la aplicación&lt;br /&gt;
&lt;br /&gt;
El Trabajo M puede interpretarse como el estudio de ondas de corte (S) en una región curvilínea de la corteza terrestre, como un arco de falla o una capa geológica curvada, donde los desplazamientos son transversales a la dirección radial. La inclusión del campo de temperatura permite analizar cómo los gradientes térmicos influyen en la deformación y propagación de ondas en estructuras geológicas reales, algo relevante en sismología y geofísica.&lt;br /&gt;
&lt;br /&gt;
== apartado 11 ==&lt;br /&gt;
La masa se calcula con la siguiente integral: M = ∫∫ d(ρ, θ) dA&lt;br /&gt;
El dominio es [1,2]x[0,pi] y por tanto los límites de integración serán:&lt;br /&gt;
Límete de rho: 1 ≤ ρ ≤ 2&lt;br /&gt;
Límite de theta: 0 ≤ θ ≤ π&lt;br /&gt;
El diferencia de área (Jacobiano) es: dA = ρ dρ dθ&lt;br /&gt;
La densidad viene dada por: d(ρ, θ) = 1 + e^(ρ² cos θ)&lt;br /&gt;
Por último la masa se calculará de la siguiente manera: M = ∫(de 0 a π) ∫(de 1 a 2) [1 + e^(ρ² cos θ)] · ρ dρ dθ&lt;/div&gt;</summary>
		<author><name>Álvaro Villar</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Mallado_Arco_1_(grupo_59)&amp;diff=92988</id>
		<title>Mallado Arco 1 (grupo 59)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Mallado_Arco_1_(grupo_59)&amp;diff=92988"/>
				<updated>2025-12-01T10:56:12Z</updated>
		
		<summary type="html">&lt;p&gt;Álvaro Villar: /* Dibujo del sólido antes y después del desplazamiento */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Arco1. Grupo 59 | [[:Categoría:Teoría de Campos|Teoría de Campos]]|[[:Categoría:TC25/26|2025-26]] | &lt;br /&gt;
*Guillermo Pineros Quero&lt;br /&gt;
*Ignacio Sueiras Oviedo&lt;br /&gt;
*Francisco Yusep Saiz Cebrián&lt;br /&gt;
*Álvaro Villar Rosado&lt;br /&gt;
*Javier Ruiz Sáenz de Jubera}}&lt;br /&gt;
[[Categoría:Teoría de Campos]]&lt;br /&gt;
[[Categoría:TC25/26]]&lt;br /&gt;
== Mallado del arco ==&lt;br /&gt;
[[Archivo:untitled4.png|500px|thumb|right|Representación del mallado]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Mallado del arco alineado&lt;br /&gt;
&lt;br /&gt;
% Elegimos divisiones que garanticen que:&lt;br /&gt;
% θ = 0, pi/2, pi están incluidos &lt;br /&gt;
% r incluye exactamente 1 y 2    &lt;br /&gt;
&lt;br /&gt;
theta = linspace(0, pi, 20);   % mallado moderado, incluye 0, pi/2 y pi&lt;br /&gt;
r = linspace(1, 2, 15);        % radios exactos 1 y 2&lt;br /&gt;
&lt;br /&gt;
[R, TH] = meshgrid(r, theta);&lt;br /&gt;
&lt;br /&gt;
% Convertir a coordenadas cartesianas&lt;br /&gt;
X = R .* cos(TH);&lt;br /&gt;
Y = R .* sin(TH);&lt;br /&gt;
&lt;br /&gt;
figure;&lt;br /&gt;
hold on;&lt;br /&gt;
&lt;br /&gt;
col = [0.3 0.6 1];  % azul clarito&lt;br /&gt;
&lt;br /&gt;
% Mallado tipo red (más grueso) &lt;br /&gt;
plot(X,  Y, 'Color', col, 'LineWidth', 1.1);   % líneas en theta&lt;br /&gt;
plot(X', Y', 'Color', col, 'LineWidth', 1.1);  % líneas en r&lt;br /&gt;
&lt;br /&gt;
% Contornos superior interior y exterior &lt;br /&gt;
theta_cont = linspace(0, pi, 400);&lt;br /&gt;
&lt;br /&gt;
plot(1*cos(theta_cont), 1*sin(theta_cont), 'Color', col, 'LineWidth', 2);&lt;br /&gt;
plot(2*cos(theta_cont), 2*sin(theta_cont), 'Color', col, 'LineWidth', 2);&lt;br /&gt;
&lt;br /&gt;
% Bases &lt;br /&gt;
plot([-1 -2], [0 0], 'Color', col, 'LineWidth', 2);  % base izquierda&lt;br /&gt;
plot([ 1  2], [0 0], 'Color', col, 'LineWidth', 2);  % base derecha&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% Ajustes&lt;br /&gt;
axis equal&lt;br /&gt;
grid on&lt;br /&gt;
title('Mallado del arco')&lt;br /&gt;
xlabel('x')&lt;br /&gt;
ylabel('y')&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==  Temperatura en el arco  ==&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Mallado del arco&lt;br /&gt;
theta = linspace(0, pi, 200);   % más denso para curva suave&lt;br /&gt;
r = linspace(1, 2, 200);        % radio interior 1, exterior 2&lt;br /&gt;
[R, TH] = meshgrid(r, theta);&lt;br /&gt;
&lt;br /&gt;
% Convertir a cartesianas&lt;br /&gt;
X = R .* cos(TH);&lt;br /&gt;
Y = R .* sin(TH);&lt;br /&gt;
&lt;br /&gt;
% Funcion temperatura&lt;br /&gt;
T = (X - Y).^2;&lt;br /&gt;
&lt;br /&gt;
% Representación 2D&lt;br /&gt;
figure;&lt;br /&gt;
pcolor(X, Y, T);     % representación 2D en colores&lt;br /&gt;
shading interp       % suavizado del color&lt;br /&gt;
colormap(jet)&lt;br /&gt;
colorbar;&lt;br /&gt;
&lt;br /&gt;
title('Temperatura T(x,y) = (x - y)^2 sobre el arco')&lt;br /&gt;
xlabel('x')&lt;br /&gt;
ylabel('y')&lt;br /&gt;
axis equal            % mantiene proporciones reales&lt;br /&gt;
== desplazamiento ==&lt;br /&gt;
%% TRABAJO M (ARCO)&lt;br /&gt;
clc; clear; close all;&lt;br /&gt;
&lt;br /&gt;
%% Pregunta 3&lt;br /&gt;
% Dominio &lt;br /&gt;
rho_min = 1;  rho_max = 2;&lt;br /&gt;
th_min = 0;   th_max = pi;&lt;br /&gt;
&lt;br /&gt;
[Rho, Theta] = meshgrid(linspace(rho_min, rho_max, 100), ...&lt;br /&gt;
                        linspace(th_min, th_max, 200));&lt;br /&gt;
&lt;br /&gt;
% Convertimos a Cartesianas&lt;br /&gt;
X = Rho .* cos(Theta);&lt;br /&gt;
Y = Rho .* sin(Theta);&lt;br /&gt;
&lt;br /&gt;
%% 2. Definición de Temperatura y Gradiente&lt;br /&gt;
% Temperatura T = (x - y)^2&lt;br /&gt;
T_val = (X - Y).^2;&lt;br /&gt;
&lt;br /&gt;
% Cálculo del gradiente&lt;br /&gt;
Grad_X = 2 .* (X - Y);&lt;br /&gt;
Grad_Y = -2 .* (X - Y);&lt;br /&gt;
&lt;br /&gt;
% Representación gráfica&lt;br /&gt;
figure('Name', 'Trabajo M - Pregunta 3 (Estilo Suave)', 'Color', 'w');&lt;br /&gt;
hold on;&lt;br /&gt;
&lt;br /&gt;
contourf(X, Y, T_val, 50, 'LineStyle', 'none');&lt;br /&gt;
&lt;br /&gt;
% Creamos la gráfica&lt;br /&gt;
N = 256;&lt;br /&gt;
r = linspace(0.2, 1, N)'; &lt;br /&gt;
g = linspace(0.5, 1, N)';&lt;br /&gt;
b = linspace(1, 0, N)';   &lt;br /&gt;
mi_mapa = [r, g, b];      % Matriz de colores&lt;br /&gt;
&lt;br /&gt;
colormap(mi_mapa);&lt;br /&gt;
c = colorbar;&lt;br /&gt;
c.Label.String = 'Temperatura T = (x-y)^2';&lt;br /&gt;
&lt;br /&gt;
% Cantida de flechas&lt;br /&gt;
step_r = 8;  % Salta cada 8 puntos en el radio&lt;br /&gt;
step_t = 12; % Salta cada 12 puntos en el ángulo&lt;br /&gt;
&lt;br /&gt;
idx_r = 1:step_r:size(X,1);&lt;br /&gt;
idx_t = 1:step_t:size(X,2);&lt;br /&gt;
&lt;br /&gt;
% Dibujo flechas&lt;br /&gt;
quiver(X(idx_r, idx_t), Y(idx_r, idx_t), ...&lt;br /&gt;
       Grad_X(idx_r, idx_t), Grad_Y(idx_r, idx_t), ...&lt;br /&gt;
       'k', ...                 % Color negro flechas&lt;br /&gt;
       'LineWidth', 1.0, ...    % Grosor flechas&lt;br /&gt;
       'AutoScaleFactor', 0.8); % Tamaño flechas&lt;br /&gt;
&lt;br /&gt;
axis equal;&lt;br /&gt;
xlim([-2.5 2.5]); ylim([0 2.5]); % Márgenes &lt;br /&gt;
title('Gradiente sobre T');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
box on; &lt;br /&gt;
&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
== Gradiente de temperatura ==&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% GRADIANTE TEMPERATURA&lt;br /&gt;
clc; clear; close all;&lt;br /&gt;
&lt;br /&gt;
% Dominio &lt;br /&gt;
rho_min = 1;  rho_max = 2;&lt;br /&gt;
th_min = 0;   th_max = pi;&lt;br /&gt;
&lt;br /&gt;
[Rho, Theta] = meshgrid(linspace(rho_min, rho_max, 100), ...&lt;br /&gt;
                        linspace(th_min, th_max, 200));&lt;br /&gt;
&lt;br /&gt;
% Convertimos a Cartesianas&lt;br /&gt;
X = Rho .* cos(Theta);&lt;br /&gt;
Y = Rho .* sin(Theta);&lt;br /&gt;
&lt;br /&gt;
%% 2. Definición de Temperatura y Gradiente&lt;br /&gt;
% Temperatura T = (x - y)^2&lt;br /&gt;
T_val = (X - Y).^2;&lt;br /&gt;
&lt;br /&gt;
% Cálculo del gradiente&lt;br /&gt;
Grad_X = 2 .* (X - Y);&lt;br /&gt;
Grad_Y = -2 .* (X - Y);&lt;br /&gt;
&lt;br /&gt;
% Representación gráfica&lt;br /&gt;
figure('Name', 'Trabajo M - Pregunta 3 (Estilo Suave)', 'Color', 'w');&lt;br /&gt;
hold on;&lt;br /&gt;
&lt;br /&gt;
contourf(X, Y, T_val, 50, 'LineStyle', 'none');&lt;br /&gt;
&lt;br /&gt;
% Creamos la gráfica&lt;br /&gt;
N = 256;&lt;br /&gt;
r = linspace(0.2, 1, N)'; &lt;br /&gt;
g = linspace(0.5, 1, N)';&lt;br /&gt;
b = linspace(1, 0, N)';   &lt;br /&gt;
mi_mapa = [r, g, b];      % Matriz de colores&lt;br /&gt;
&lt;br /&gt;
colormap(mi_mapa);&lt;br /&gt;
c = colorbar;&lt;br /&gt;
c.Label.String = 'Temperatura T = (x-y)^2';&lt;br /&gt;
&lt;br /&gt;
% Cantida de flechas&lt;br /&gt;
step_r = 8;  % Salta cada 8 puntos en el radio&lt;br /&gt;
step_t = 12; % Salta cada 12 puntos en el ángulo&lt;br /&gt;
&lt;br /&gt;
idx_r = 1:step_r:size(X,1);&lt;br /&gt;
idx_t = 1:step_t:size(X,2);&lt;br /&gt;
&lt;br /&gt;
% Dibujo flechas&lt;br /&gt;
quiver(X(idx_r, idx_t), Y(idx_r, idx_t), ...&lt;br /&gt;
       Grad_X(idx_r, idx_t), Grad_Y(idx_r, idx_t), ...&lt;br /&gt;
       'k', ...                 % Color negro flechas&lt;br /&gt;
       'LineWidth', 1.0, ...    % Grosor flechas&lt;br /&gt;
       'AutoScaleFactor', 0.8); % Tamaño flechas&lt;br /&gt;
&lt;br /&gt;
axis equal;&lt;br /&gt;
xlim([-2.5 2.5]); ylim([0 2.5]); % Márgenes &lt;br /&gt;
title('Gradiente sobre T');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
&lt;br /&gt;
box on; &lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
==Dibujo del sólido antes y después del desplazamiento==&lt;br /&gt;
&lt;br /&gt;
===Código===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% Visualización de Deformación (Azul vs Rojo)&lt;br /&gt;
clear; clc; close all;&lt;br /&gt;
% --- 1. DATOS Y CÁLCULOS  ---&lt;br /&gt;
rho_vec = 1:0.1:2;&lt;br /&gt;
&lt;br /&gt;
% EL CAMBIO ESTÁ AQUÍ:&lt;br /&gt;
&lt;br /&gt;
theta_vec = [0:0.1:pi, pi]; &lt;br /&gt;
&lt;br /&gt;
[R, Th] = meshgrid(rho_vec, theta_vec);&lt;br /&gt;
&lt;br /&gt;
% Posición Inicial&lt;br /&gt;
X_ini = R .* cos(Th);&lt;br /&gt;
Y_ini = R .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
% Desplazamiento u (Trabajo M)&lt;br /&gt;
u_rho   = zeros(size(R));&lt;br /&gt;
u_theta = (1/5) * (R - 1) .* (R.^2) .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
UX = u_rho .* cos(Th) - u_theta .* sin(Th);&lt;br /&gt;
UY = u_rho .* sin(Th) + u_theta .* cos(Th);&lt;br /&gt;
&lt;br /&gt;
% Posición Final&lt;br /&gt;
X_fin = X_ini + UX;&lt;br /&gt;
Y_fin = Y_ini + UY;&lt;br /&gt;
&lt;br /&gt;
% ---  GENERACIÓN DE LAS GRÁFICAS ---&lt;br /&gt;
&lt;br /&gt;
% GRÁFICA 1: Posición Inicial&lt;br /&gt;
figure(1); clf; hold on; axis equal;&lt;br /&gt;
set(gcf, 'Color', 'w'); title('1. Posición Inicial (Sin deformar)');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
plot(X_ini, Y_ini, 'b', 'LineWidth', 1);&lt;br /&gt;
plot(X_ini', Y_ini', 'b', 'LineWidth', 1);&lt;br /&gt;
plot_borde(rho_vec, theta_vec, 'k', 2); &lt;br /&gt;
axis([-2.5 2.5 0 2.5]); grid on;&lt;br /&gt;
&lt;br /&gt;
% GRÁFICA 2: Posición Final&lt;br /&gt;
figure(2); clf; hold on; axis equal;&lt;br /&gt;
set(gcf, 'Color', 'w'); title('2. Posición Final (Deformada)');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
plot(X_fin, Y_fin, 'r', 'LineWidth', 1);&lt;br /&gt;
plot(X_fin', Y_fin', 'r', 'LineWidth', 1);&lt;br /&gt;
axis([-2.5 2.5 0 2.5]); grid on;&lt;br /&gt;
&lt;br /&gt;
% GRÁFICA 3: Superposición (AZUL vs ROJO)&lt;br /&gt;
figure(3); clf; hold on; axis equal;&lt;br /&gt;
set(gcf, 'Color', 'w'); title('3. Comparativa: Inicial vs Final');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
&lt;br /&gt;
% A) Inicial: AZUL&lt;br /&gt;
plot(X_ini, Y_ini, 'b', 'LineWidth', 1);&lt;br /&gt;
plot(X_ini', Y_ini', 'b', 'LineWidth', 1);&lt;br /&gt;
&lt;br /&gt;
% B) Final: ROJO&lt;br /&gt;
plot(X_fin, Y_fin, 'r', 'LineWidth', 1.2);&lt;br /&gt;
plot(X_fin', Y_fin', 'r', 'LineWidth', 1.2);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% --- Función para bordes ---&lt;br /&gt;
function plot_borde(r_v, t_v, col, ancho)&lt;br /&gt;
    plot(r_v(end)*cos(t_v), r_v(end)*sin(t_v), col, 'LineWidth', ancho);&lt;br /&gt;
    plot(r_v(1)*cos(t_v), r_v(1)*sin(t_v), col, 'LineWidth', ancho);&lt;br /&gt;
    plot([r_v(1) r_v(end)]*cos(t_v(1)), [r_v(1) r_v(end)]*sin(t_v(1)), col, 'LineWidth', ancho);&lt;br /&gt;
    plot([r_v(1) r_v(end)]*cos(t_v(end)), [r_v(1) r_v(end)]*sin(t_v(end)), col, 'LineWidth', ancho);&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Tensiones tangenciales ==&lt;br /&gt;
[[Archivo: Figure_9.png|500px|thumb|right|Tensiones tangenciales]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% TENSIONES TANGENCIALES&lt;br /&gt;
clear; clc; close all;&lt;br /&gt;
&lt;br /&gt;
% --- 1. GEOMETRÍA ---&lt;br /&gt;
rho_vec = 1:0.01:2;&lt;br /&gt;
theta_vec = 0:0.01:pi;&lt;br /&gt;
[R, Th] = meshgrid(rho_vec, theta_vec);&lt;br /&gt;
&lt;br /&gt;
X = R .* cos(Th);&lt;br /&gt;
Y = R .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
% --- 2. CÁLCULO DE LA TENSIÓN ---&lt;br /&gt;
Tau = (1/5) * (2*R.^2 - R) .* sin(Th);&lt;br /&gt;
Tau_Mag = abs(Tau);&lt;br /&gt;
&lt;br /&gt;
% --- 3. VISUALIZACIÓN ---&lt;br /&gt;
figure(9); clf; hold on; axis equal;&lt;br /&gt;
set(gcf, 'Color', 'w');&lt;br /&gt;
title('Tensión tangencial');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
&lt;br /&gt;
contourf(X, Y, Tau_Mag, 50, 'LineStyle', 'none');&lt;br /&gt;
c = colorbar;&lt;br /&gt;
ylabel(c,'Esfuerzo de Corte (Pa)');&lt;br /&gt;
&lt;br /&gt;
% --- 4. Colormap amplio AZUL → ROJO (256 tonos) ---&lt;br /&gt;
n = 256;&lt;br /&gt;
azul = [0 0 1];       % azul puro&lt;br /&gt;
rojo = [1 0 0];       % rojo puro&lt;br /&gt;
cmap = [linspace(azul(1), rojo(1), n)', ...&lt;br /&gt;
        linspace(azul(2), rojo(2), n)', ...&lt;br /&gt;
        linspace(azul(3), rojo(3), n)'];&lt;br /&gt;
colormap(cmap);&lt;br /&gt;
&lt;br /&gt;
% --- 5. Bordes exteriores en negro ---&lt;br /&gt;
t_border = 0:0.001:pi;&lt;br /&gt;
plot(2*cos(t_border),2*sin(t_border),'k','LineWidth',2);&lt;br /&gt;
plot(1*cos(t_border),1*sin(t_border),'k','LineWidth',2);&lt;br /&gt;
plot([-2,-1],[0,0],'k','LineWidth',2);&lt;br /&gt;
plot([1,2],[0,0],'k','LineWidth',2);&lt;br /&gt;
&lt;br /&gt;
% --- 6. Punto de máxima tensión ---&lt;br /&gt;
max_val = max(Tau_Mag(:));&lt;br /&gt;
[fr, fc] = find(Tau_Mag == max_val, 1);&lt;br /&gt;
plot(X(fr,fc),Y(fr,fc),'wx','LineWidth',2,'MarkerSize',10);&lt;br /&gt;
text(X(fr,fc),Y(fr,fc)+0.1,'Máx','Color','w','FontWeight','bold');&lt;br /&gt;
&lt;br /&gt;
axis([-2.2 2.2 0 2.2]);&lt;br /&gt;
grid off;&lt;br /&gt;
hold off;&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
==En el Trabajo K se modela una onda transversal en una placa rectangular mediante el campo de desplazamientos:==&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
u&lt;br /&gt;
⃗&lt;br /&gt;
(&lt;br /&gt;
x&lt;br /&gt;
,&lt;br /&gt;
y&lt;br /&gt;
,&lt;br /&gt;
t&lt;br /&gt;
)&lt;br /&gt;
=&lt;br /&gt;
a&lt;br /&gt;
⃗&lt;br /&gt;
cos&lt;br /&gt;
⁡&lt;br /&gt;
(&lt;br /&gt;
b&lt;br /&gt;
⃗&lt;br /&gt;
⋅&lt;br /&gt;
r&lt;br /&gt;
⃗&lt;br /&gt;
0&lt;br /&gt;
−&lt;br /&gt;
c&lt;br /&gt;
t&lt;br /&gt;
)&lt;br /&gt;
,&lt;br /&gt;
u&lt;br /&gt;
 (x,y,t)= &lt;br /&gt;
a&lt;br /&gt;
 cos( &lt;br /&gt;
b&lt;br /&gt;
 ⋅ &lt;br /&gt;
r&lt;br /&gt;
  &lt;br /&gt;
0&lt;br /&gt;
​&lt;br /&gt;
 −ct),&lt;br /&gt;
con&lt;br /&gt;
&lt;br /&gt;
a&lt;br /&gt;
⃗&lt;br /&gt;
=&lt;br /&gt;
1&lt;br /&gt;
10&lt;br /&gt;
i&lt;br /&gt;
⃗&lt;br /&gt;
,&lt;br /&gt;
b&lt;br /&gt;
⃗&lt;br /&gt;
=&lt;br /&gt;
π&lt;br /&gt;
j&lt;br /&gt;
⃗&lt;br /&gt;
,&lt;br /&gt;
t&lt;br /&gt;
=&lt;br /&gt;
0.&lt;br /&gt;
a&lt;br /&gt;
 = &lt;br /&gt;
10&lt;br /&gt;
1&lt;br /&gt;
​&lt;br /&gt;
  &lt;br /&gt;
i&lt;br /&gt;
 , &lt;br /&gt;
b&lt;br /&gt;
 =π &lt;br /&gt;
j&lt;br /&gt;
​&lt;br /&gt;
 ,t=0.&lt;br /&gt;
Esto se puede interpretar como una onda de corte (onda S) que se propaga en un medio elástico, como la corteza terrestre durante un terremoto.&lt;br /&gt;
&lt;br /&gt;
Ondas S (secundarias o de corte): son ondas transversales, en las que las partículas del material vibran perpendicularmente a la dirección de propagación de la onda.&lt;br /&gt;
&lt;br /&gt;
En este caso, la dirección de propagación es la del vector &lt;br /&gt;
b&lt;br /&gt;
⃗&lt;br /&gt;
=&lt;br /&gt;
π&lt;br /&gt;
j&lt;br /&gt;
⃗&lt;br /&gt;
b&lt;br /&gt;
 =π &lt;br /&gt;
j&lt;br /&gt;
​&lt;br /&gt;
  (eje &lt;br /&gt;
y&lt;br /&gt;
y), y la vibración es en la dirección &lt;br /&gt;
i&lt;br /&gt;
⃗&lt;br /&gt;
i&lt;br /&gt;
  (eje &lt;br /&gt;
x&lt;br /&gt;
x), lo cual es típico de ondas S con polarización horizontal (onda SH).&lt;br /&gt;
&lt;br /&gt;
Aplicación al Trabajo M (arco entre radios 1 y 2)&lt;br /&gt;
En el Trabajo M, el dominio es un sector de arco en coordenadas polares &lt;br /&gt;
(&lt;br /&gt;
ρ&lt;br /&gt;
,&lt;br /&gt;
θ&lt;br /&gt;
)&lt;br /&gt;
(ρ,θ), con &lt;br /&gt;
ρ&lt;br /&gt;
∈&lt;br /&gt;
[&lt;br /&gt;
1&lt;br /&gt;
,&lt;br /&gt;
2&lt;br /&gt;
]&lt;br /&gt;
ρ∈[1,2], y el campo de desplazamientos es:&lt;br /&gt;
&lt;br /&gt;
u&lt;br /&gt;
⃗&lt;br /&gt;
(&lt;br /&gt;
ρ&lt;br /&gt;
,&lt;br /&gt;
θ&lt;br /&gt;
)&lt;br /&gt;
=&lt;br /&gt;
1&lt;br /&gt;
5&lt;br /&gt;
(&lt;br /&gt;
ρ&lt;br /&gt;
−&lt;br /&gt;
1&lt;br /&gt;
)&lt;br /&gt;
ρ&lt;br /&gt;
2&lt;br /&gt;
sin&lt;br /&gt;
⁡&lt;br /&gt;
θ&lt;br /&gt;
 &lt;br /&gt;
e&lt;br /&gt;
⃗&lt;br /&gt;
θ&lt;br /&gt;
.&lt;br /&gt;
u&lt;br /&gt;
 (ρ,θ)= &lt;br /&gt;
5&lt;br /&gt;
1&lt;br /&gt;
​&lt;br /&gt;
 (ρ−1)ρ &lt;br /&gt;
2&lt;br /&gt;
 sinθ &lt;br /&gt;
e&lt;br /&gt;
  &lt;br /&gt;
θ&lt;br /&gt;
​&lt;br /&gt;
 .&lt;br /&gt;
Este campo representa un desplazamiento puramente tangencial (&lt;br /&gt;
e&lt;br /&gt;
⃗&lt;br /&gt;
θ&lt;br /&gt;
e&lt;br /&gt;
  &lt;br /&gt;
θ&lt;br /&gt;
​&lt;br /&gt;
 ), que también corresponde a una onda de corte pero en geometría curvilínea.&lt;br /&gt;
&lt;br /&gt;
En sismología, las ondas S pueden viajar a lo largo de estructuras curvas en la corteza, como capas geológicas curvadas o interfaces entre materiales.&lt;br /&gt;
&lt;br /&gt;
El factor &lt;br /&gt;
(&lt;br /&gt;
ρ&lt;br /&gt;
−&lt;br /&gt;
1&lt;br /&gt;
)&lt;br /&gt;
ρ&lt;br /&gt;
2&lt;br /&gt;
sin&lt;br /&gt;
⁡&lt;br /&gt;
θ&lt;br /&gt;
(ρ−1)ρ &lt;br /&gt;
2&lt;br /&gt;
 sinθ indica que el desplazamiento es máximo en la parte exterior del arco (&lt;br /&gt;
ρ&lt;br /&gt;
=&lt;br /&gt;
2&lt;br /&gt;
ρ=2) y varía sinusoidalmente con &lt;br /&gt;
θ&lt;br /&gt;
θ, lo que podría modelar una onda estacionaria o forzada en una placa curvada.&lt;br /&gt;
&lt;br /&gt;
Relación con la temperatura&lt;br /&gt;
En ambos trabajos se incluye un campo de temperatura &lt;br /&gt;
T&lt;br /&gt;
(&lt;br /&gt;
x&lt;br /&gt;
,&lt;br /&gt;
y&lt;br /&gt;
)&lt;br /&gt;
=&lt;br /&gt;
(&lt;br /&gt;
x&lt;br /&gt;
−&lt;br /&gt;
y&lt;br /&gt;
)&lt;br /&gt;
2&lt;br /&gt;
T(x,y)=(x−y) &lt;br /&gt;
2&lt;br /&gt;
 , que en el Trabajo M debe expresarse en coordenadas polares:&lt;br /&gt;
&lt;br /&gt;
x&lt;br /&gt;
=&lt;br /&gt;
ρ&lt;br /&gt;
cos&lt;br /&gt;
⁡&lt;br /&gt;
θ&lt;br /&gt;
,&lt;br /&gt;
y&lt;br /&gt;
=&lt;br /&gt;
ρ&lt;br /&gt;
sin&lt;br /&gt;
⁡&lt;br /&gt;
θ&lt;br /&gt;
,&lt;br /&gt;
x=ρcosθ,y=ρsinθ,&lt;br /&gt;
T&lt;br /&gt;
(&lt;br /&gt;
ρ&lt;br /&gt;
,&lt;br /&gt;
θ&lt;br /&gt;
)&lt;br /&gt;
=&lt;br /&gt;
ρ&lt;br /&gt;
2&lt;br /&gt;
(&lt;br /&gt;
cos&lt;br /&gt;
⁡&lt;br /&gt;
θ&lt;br /&gt;
−&lt;br /&gt;
sin&lt;br /&gt;
⁡&lt;br /&gt;
θ&lt;br /&gt;
)&lt;br /&gt;
2&lt;br /&gt;
.&lt;br /&gt;
T(ρ,θ)=ρ &lt;br /&gt;
2&lt;br /&gt;
 (cosθ−sinθ) &lt;br /&gt;
2&lt;br /&gt;
 .&lt;br /&gt;
Esta temperatura podría representar gradientes térmicos en la corteza debidos a fuentes geotérmicas, que afectan a las propiedades elásticas del medio y, por tanto, a la propagación de ondas sísmicas.&lt;br /&gt;
&lt;br /&gt;
Conclusión de la aplicación&lt;br /&gt;
El Trabajo M puede interpretarse como el estudio de ondas de corte (S) en una región curvilínea de la corteza terrestre, como un arco de falla o una capa geológica curvada, donde los desplazamientos son transversales a la dirección radial. La inclusión del campo de temperatura permite analinar cómo los gradientes térmicos influyen en la deformación y propagación de ondas en estructuras geológicas reales, algo relevante en sismología y geofísica.&lt;br /&gt;
[[Visualization of vector fields in a solid]]&lt;br /&gt;
&lt;br /&gt;
[[Dibujar un sólido 2-D]]&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Curso ICE]]&lt;br /&gt;
[[Categoría:Teoría de Campos]]&lt;br /&gt;
[[Categoría:TC14/15]]&lt;br /&gt;
[[Categoría:TC15/16]]&lt;br /&gt;
[[Categoría:TC16/17]]&lt;br /&gt;
[[Categoría:TC17/18]]&lt;br /&gt;
[[Categoría:TC18/19]]&lt;br /&gt;
[[Categoría:TC19/20]]&lt;br /&gt;
[[Categoría:TC20/21]]&lt;br /&gt;
[[Categoría:TC21/22]]&lt;br /&gt;
[[Categoría:TC25/26]]&lt;br /&gt;
[[Categoría:Articles in English]]&lt;br /&gt;
[[Categoría:Informática]]&lt;br /&gt;
&lt;br /&gt;
== apartado 11 ==&lt;/div&gt;</summary>
		<author><name>Álvaro Villar</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Mallado_Arco_1_(grupo_59)&amp;diff=92912</id>
		<title>Mallado Arco 1 (grupo 59)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Mallado_Arco_1_(grupo_59)&amp;diff=92912"/>
				<updated>2025-12-01T10:19:55Z</updated>
		
		<summary type="html">&lt;p&gt;Álvaro Villar: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Arco1. Grupo 59 | [[:Categoría:Teoría de Campos|Teoría de Campos]]|[[:Categoría:TC25/26|2025-26]] | &lt;br /&gt;
*Guillermo Pineros Quero&lt;br /&gt;
*Ignacio Sueiras Oviedo&lt;br /&gt;
*Francisco Yusep Saiz Cebrián&lt;br /&gt;
*Álvaro Villar Rosado&lt;br /&gt;
*Javier Ruiz Sáenz de Jubera}}&lt;br /&gt;
[[Categoría:Teoría de Campos]]&lt;br /&gt;
[[Categoría:TC25/26]]&lt;br /&gt;
== Mallado del arco ==&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Mallado del arco alineado&lt;br /&gt;
&lt;br /&gt;
% Elegimos divisiones que garanticen que:&lt;br /&gt;
% θ = 0, pi/2, pi están incluidos &lt;br /&gt;
% r incluye exactamente 1 y 2    &lt;br /&gt;
&lt;br /&gt;
theta = linspace(0, pi, 20);   % mallado moderado, incluye 0, pi/2 y pi&lt;br /&gt;
r = linspace(1, 2, 15);        % radios exactos 1 y 2&lt;br /&gt;
&lt;br /&gt;
[R, TH] = meshgrid(r, theta);&lt;br /&gt;
&lt;br /&gt;
% Convertir a coordenadas cartesianas&lt;br /&gt;
X = R .* cos(TH);&lt;br /&gt;
Y = R .* sin(TH);&lt;br /&gt;
&lt;br /&gt;
figure;&lt;br /&gt;
hold on;&lt;br /&gt;
&lt;br /&gt;
col = [0.3 0.6 1];  % azul clarito&lt;br /&gt;
&lt;br /&gt;
% Mallado tipo red (más grueso) &lt;br /&gt;
plot(X,  Y, 'Color', col, 'LineWidth', 1.1);   % líneas en theta&lt;br /&gt;
plot(X', Y', 'Color', col, 'LineWidth', 1.1);  % líneas en r&lt;br /&gt;
&lt;br /&gt;
% Contornos superior interior y exterior &lt;br /&gt;
theta_cont = linspace(0, pi, 400);&lt;br /&gt;
&lt;br /&gt;
plot(1*cos(theta_cont), 1*sin(theta_cont), 'Color', col, 'LineWidth', 2);&lt;br /&gt;
plot(2*cos(theta_cont), 2*sin(theta_cont), 'Color', col, 'LineWidth', 2);&lt;br /&gt;
&lt;br /&gt;
% Bases &lt;br /&gt;
plot([-1 -2], [0 0], 'Color', col, 'LineWidth', 2);  % base izquierda&lt;br /&gt;
plot([ 1  2], [0 0], 'Color', col, 'LineWidth', 2);  % base derecha&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% Ajustes&lt;br /&gt;
axis equal&lt;br /&gt;
grid on&lt;br /&gt;
title('Mallado del arco')&lt;br /&gt;
xlabel('x')&lt;br /&gt;
ylabel('y')&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==  Temperatura en el arco  ==&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Mallado del arco&lt;br /&gt;
theta = linspace(0, pi, 200);   % más denso para curva suave&lt;br /&gt;
r = linspace(1, 2, 200);        % radio interior 1, exterior 2&lt;br /&gt;
[R, TH] = meshgrid(r, theta);&lt;br /&gt;
&lt;br /&gt;
% Convertir a cartesianas&lt;br /&gt;
X = R .* cos(TH);&lt;br /&gt;
Y = R .* sin(TH);&lt;br /&gt;
&lt;br /&gt;
% Funcion temperatura&lt;br /&gt;
T = (X - Y).^2;&lt;br /&gt;
&lt;br /&gt;
% Representación 2D&lt;br /&gt;
figure;&lt;br /&gt;
pcolor(X, Y, T);     % representación 2D en colores&lt;br /&gt;
shading interp       % suavizado del color&lt;br /&gt;
colormap(jet)&lt;br /&gt;
colorbar;&lt;br /&gt;
&lt;br /&gt;
title('Temperatura T(x,y) = (x - y)^2 sobre el arco')&lt;br /&gt;
xlabel('x')&lt;br /&gt;
ylabel('y')&lt;br /&gt;
axis equal            % mantiene proporciones reales&lt;br /&gt;
== desplazamiento ==&lt;br /&gt;
%% TRABAJO M (ARCO)&lt;br /&gt;
clc; clear; close all;&lt;br /&gt;
&lt;br /&gt;
%% Pregunta 3&lt;br /&gt;
% Dominio &lt;br /&gt;
rho_min = 1;  rho_max = 2;&lt;br /&gt;
th_min = 0;   th_max = pi;&lt;br /&gt;
&lt;br /&gt;
[Rho, Theta] = meshgrid(linspace(rho_min, rho_max, 100), ...&lt;br /&gt;
                        linspace(th_min, th_max, 200));&lt;br /&gt;
&lt;br /&gt;
% Convertimos a Cartesianas&lt;br /&gt;
X = Rho .* cos(Theta);&lt;br /&gt;
Y = Rho .* sin(Theta);&lt;br /&gt;
&lt;br /&gt;
%% 2. Definición de Temperatura y Gradiente&lt;br /&gt;
% Temperatura T = (x - y)^2&lt;br /&gt;
T_val = (X - Y).^2;&lt;br /&gt;
&lt;br /&gt;
% Cálculo del gradiente&lt;br /&gt;
Grad_X = 2 .* (X - Y);&lt;br /&gt;
Grad_Y = -2 .* (X - Y);&lt;br /&gt;
&lt;br /&gt;
% Representación gráfica&lt;br /&gt;
figure('Name', 'Trabajo M - Pregunta 3 (Estilo Suave)', 'Color', 'w');&lt;br /&gt;
hold on;&lt;br /&gt;
&lt;br /&gt;
contourf(X, Y, T_val, 50, 'LineStyle', 'none');&lt;br /&gt;
&lt;br /&gt;
% Creamos la gráfica&lt;br /&gt;
N = 256;&lt;br /&gt;
r = linspace(0.2, 1, N)'; &lt;br /&gt;
g = linspace(0.5, 1, N)';&lt;br /&gt;
b = linspace(1, 0, N)';   &lt;br /&gt;
mi_mapa = [r, g, b];      % Matriz de colores&lt;br /&gt;
&lt;br /&gt;
colormap(mi_mapa);&lt;br /&gt;
c = colorbar;&lt;br /&gt;
c.Label.String = 'Temperatura T = (x-y)^2';&lt;br /&gt;
&lt;br /&gt;
% Cantida de flechas&lt;br /&gt;
step_r = 8;  % Salta cada 8 puntos en el radio&lt;br /&gt;
step_t = 12; % Salta cada 12 puntos en el ángulo&lt;br /&gt;
&lt;br /&gt;
idx_r = 1:step_r:size(X,1);&lt;br /&gt;
idx_t = 1:step_t:size(X,2);&lt;br /&gt;
&lt;br /&gt;
% Dibujo flechas&lt;br /&gt;
quiver(X(idx_r, idx_t), Y(idx_r, idx_t), ...&lt;br /&gt;
       Grad_X(idx_r, idx_t), Grad_Y(idx_r, idx_t), ...&lt;br /&gt;
       'k', ...                 % Color negro flechas&lt;br /&gt;
       'LineWidth', 1.0, ...    % Grosor flechas&lt;br /&gt;
       'AutoScaleFactor', 0.8); % Tamaño flechas&lt;br /&gt;
&lt;br /&gt;
axis equal;&lt;br /&gt;
xlim([-2.5 2.5]); ylim([0 2.5]); % Márgenes &lt;br /&gt;
title('Gradiente sobre T');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
box on; &lt;br /&gt;
&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
== Gradiente de temperatura ==&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% GRADIANTE TEMPERATURA&lt;br /&gt;
clc; clear; close all;&lt;br /&gt;
&lt;br /&gt;
% Dominio &lt;br /&gt;
rho_min = 1;  rho_max = 2;&lt;br /&gt;
th_min = 0;   th_max = pi;&lt;br /&gt;
&lt;br /&gt;
[Rho, Theta] = meshgrid(linspace(rho_min, rho_max, 100), ...&lt;br /&gt;
                        linspace(th_min, th_max, 200));&lt;br /&gt;
&lt;br /&gt;
% Convertimos a Cartesianas&lt;br /&gt;
X = Rho .* cos(Theta);&lt;br /&gt;
Y = Rho .* sin(Theta);&lt;br /&gt;
&lt;br /&gt;
%% 2. Definición de Temperatura y Gradiente&lt;br /&gt;
% Temperatura T = (x - y)^2&lt;br /&gt;
T_val = (X - Y).^2;&lt;br /&gt;
&lt;br /&gt;
% Cálculo del gradiente&lt;br /&gt;
Grad_X = 2 .* (X - Y);&lt;br /&gt;
Grad_Y = -2 .* (X - Y);&lt;br /&gt;
&lt;br /&gt;
% Representación gráfica&lt;br /&gt;
figure('Name', 'Trabajo M - Pregunta 3 (Estilo Suave)', 'Color', 'w');&lt;br /&gt;
hold on;&lt;br /&gt;
&lt;br /&gt;
contourf(X, Y, T_val, 50, 'LineStyle', 'none');&lt;br /&gt;
&lt;br /&gt;
% Creamos la gráfica&lt;br /&gt;
N = 256;&lt;br /&gt;
r = linspace(0.2, 1, N)'; &lt;br /&gt;
g = linspace(0.5, 1, N)';&lt;br /&gt;
b = linspace(1, 0, N)';   &lt;br /&gt;
mi_mapa = [r, g, b];      % Matriz de colores&lt;br /&gt;
&lt;br /&gt;
colormap(mi_mapa);&lt;br /&gt;
c = colorbar;&lt;br /&gt;
c.Label.String = 'Temperatura T = (x-y)^2';&lt;br /&gt;
&lt;br /&gt;
% Cantida de flechas&lt;br /&gt;
step_r = 8;  % Salta cada 8 puntos en el radio&lt;br /&gt;
step_t = 12; % Salta cada 12 puntos en el ángulo&lt;br /&gt;
&lt;br /&gt;
idx_r = 1:step_r:size(X,1);&lt;br /&gt;
idx_t = 1:step_t:size(X,2);&lt;br /&gt;
&lt;br /&gt;
% Dibujo flechas&lt;br /&gt;
quiver(X(idx_r, idx_t), Y(idx_r, idx_t), ...&lt;br /&gt;
       Grad_X(idx_r, idx_t), Grad_Y(idx_r, idx_t), ...&lt;br /&gt;
       'k', ...                 % Color negro flechas&lt;br /&gt;
       'LineWidth', 1.0, ...    % Grosor flechas&lt;br /&gt;
       'AutoScaleFactor', 0.8); % Tamaño flechas&lt;br /&gt;
&lt;br /&gt;
axis equal;&lt;br /&gt;
xlim([-2.5 2.5]); ylim([0 2.5]); % Márgenes &lt;br /&gt;
title('Gradiente sobre T');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
&lt;br /&gt;
box on; &lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
==Dibujo del sólido antes y después del desplazamiento==&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% Visualización de Deformación (Azul vs Rojo)&lt;br /&gt;
clear; clc; close all;&lt;br /&gt;
% --- 1. DATOS Y CÁLCULOS  ---&lt;br /&gt;
rho_vec = 1:0.1:2;&lt;br /&gt;
&lt;br /&gt;
% EL CAMBIO ESTÁ AQUÍ:&lt;br /&gt;
&lt;br /&gt;
theta_vec = [0:0.1:pi, pi]; &lt;br /&gt;
&lt;br /&gt;
[R, Th] = meshgrid(rho_vec, theta_vec);&lt;br /&gt;
&lt;br /&gt;
% Posición Inicial&lt;br /&gt;
X_ini = R .* cos(Th);&lt;br /&gt;
Y_ini = R .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
% Desplazamiento u (Trabajo M)&lt;br /&gt;
u_rho   = zeros(size(R));&lt;br /&gt;
u_theta = (1/5) * (R - 1) .* (R.^2) .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
UX = u_rho .* cos(Th) - u_theta .* sin(Th);&lt;br /&gt;
UY = u_rho .* sin(Th) + u_theta .* cos(Th);&lt;br /&gt;
&lt;br /&gt;
% Posición Final&lt;br /&gt;
X_fin = X_ini + UX;&lt;br /&gt;
Y_fin = Y_ini + UY;&lt;br /&gt;
&lt;br /&gt;
% ---  GENERACIÓN DE LAS GRÁFICAS ---&lt;br /&gt;
&lt;br /&gt;
% GRÁFICA 1: Posición Inicial&lt;br /&gt;
figure(1); clf; hold on; axis equal;&lt;br /&gt;
set(gcf, 'Color', 'w'); title('1. Posición Inicial (Sin deformar)');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
plot(X_ini, Y_ini, 'b', 'LineWidth', 1);&lt;br /&gt;
plot(X_ini', Y_ini', 'b', 'LineWidth', 1);&lt;br /&gt;
plot_borde(rho_vec, theta_vec, 'k', 2); &lt;br /&gt;
axis([-2.5 2.5 0 2.5]); grid on;&lt;br /&gt;
&lt;br /&gt;
% GRÁFICA 2: Posición Final&lt;br /&gt;
figure(2); clf; hold on; axis equal;&lt;br /&gt;
set(gcf, 'Color', 'w'); title('2. Posición Final (Deformada)');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
plot(X_fin, Y_fin, 'r', 'LineWidth', 1);&lt;br /&gt;
plot(X_fin', Y_fin', 'r', 'LineWidth', 1);&lt;br /&gt;
axis([-2.5 2.5 0 2.5]); grid on;&lt;br /&gt;
&lt;br /&gt;
% GRÁFICA 3: Superposición (AZUL vs ROJO)&lt;br /&gt;
figure(3); clf; hold on; axis equal;&lt;br /&gt;
set(gcf, 'Color', 'w'); title('3. Comparativa: Inicial vs Final');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
&lt;br /&gt;
% A) Inicial: AZUL&lt;br /&gt;
plot(X_ini, Y_ini, 'b', 'LineWidth', 1);&lt;br /&gt;
plot(X_ini', Y_ini', 'b', 'LineWidth', 1);&lt;br /&gt;
&lt;br /&gt;
% B) Final: ROJO&lt;br /&gt;
plot(X_fin, Y_fin, 'r', 'LineWidth', 1.2);&lt;br /&gt;
plot(X_fin', Y_fin', 'r', 'LineWidth', 1.2);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% --- Función para bordes ---&lt;br /&gt;
function plot_borde(r_v, t_v, col, ancho)&lt;br /&gt;
    plot(r_v(end)*cos(t_v), r_v(end)*sin(t_v), col, 'LineWidth', ancho);&lt;br /&gt;
    plot(r_v(1)*cos(t_v), r_v(1)*sin(t_v), col, 'LineWidth', ancho);&lt;br /&gt;
    plot([r_v(1) r_v(end)]*cos(t_v(1)), [r_v(1) r_v(end)]*sin(t_v(1)), col, 'LineWidth', ancho);&lt;br /&gt;
    plot([r_v(1) r_v(end)]*cos(t_v(end)), [r_v(1) r_v(end)]*sin(t_v(end)), col, 'LineWidth', ancho);&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Tensiones tangenciales ==&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% TENSIONES TANGENCIALES&lt;br /&gt;
clear; clc; close all;&lt;br /&gt;
&lt;br /&gt;
% --- 1. GEOMETRÍA ---&lt;br /&gt;
rho_vec = 1:0.01:2;         &lt;br /&gt;
theta_vec = [0:0.01:pi, pi]; &lt;br /&gt;
[R, Th] = meshgrid(rho_vec, theta_vec);&lt;br /&gt;
&lt;br /&gt;
X = R .* cos(Th);&lt;br /&gt;
Y = R .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
% --- 2. CÁLCULO DE LA TENSIÓN (Tau) ---&lt;br /&gt;
% Fórmula derivada: (1/5) * (2*rho^2 - rho) * sin(theta)&lt;br /&gt;
Tau = (1/5) * (2*R.^2 - R) .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
% Calculamos el valor absoluto&lt;br /&gt;
Tau_Mag = abs(Tau); &lt;br /&gt;
&lt;br /&gt;
% --- 3. VISUALIZACIÓN ---&lt;br /&gt;
figure(9); clf; hold on; axis equal;&lt;br /&gt;
set(gcf, 'Color', 'w');&lt;br /&gt;
title('Tensión Tangencial (\tau_{\rho\theta})');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
[[Visualization of vector fields in a solid]]&lt;br /&gt;
&lt;br /&gt;
[[Dibujar un sólido 2-D]]&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Curso ICE]]&lt;br /&gt;
[[Categoría:Teoría de Campos]]&lt;br /&gt;
[[Categoría:TC14/15]]&lt;br /&gt;
[[Categoría:TC15/16]]&lt;br /&gt;
[[Categoría:TC16/17]]&lt;br /&gt;
[[Categoría:TC17/18]]&lt;br /&gt;
[[Categoría:TC18/19]]&lt;br /&gt;
[[Categoría:TC19/20]]&lt;br /&gt;
[[Categoría:TC20/21]]&lt;br /&gt;
[[Categoría:TC21/22]]&lt;br /&gt;
[[Categoría:TC25/26]]&lt;br /&gt;
[[Categoría:Articles in English]]&lt;br /&gt;
[[Categoría:Informática]]&lt;/div&gt;</summary>
		<author><name>Álvaro Villar</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Mallado_Arco_1_(grupo_59)&amp;diff=92899</id>
		<title>Mallado Arco 1 (grupo 59)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Mallado_Arco_1_(grupo_59)&amp;diff=92899"/>
				<updated>2025-12-01T10:17:56Z</updated>
		
		<summary type="html">&lt;p&gt;Álvaro Villar: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Arco1. Grupo 59 | [[:Categoría:Teoría de Campos|Teoría de Campos]]|[[:Categoría:TC25/26|2025-26]] | &lt;br /&gt;
*Guillermo Pineros Quero&lt;br /&gt;
*Ignacio Sueiras Oviedo&lt;br /&gt;
*Francisco Yusep Saiz Cebrián&lt;br /&gt;
*Álvaro Villar Rosado&lt;br /&gt;
*Javier Ruiz Sáenz de Jubera}}&lt;br /&gt;
[[Categoría:Teoría de Campos]]&lt;br /&gt;
[[Categoría:TC25/26]]&lt;br /&gt;
== Mallado del arco ==&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Mallado del arco alineado&lt;br /&gt;
&lt;br /&gt;
% Elegimos divisiones que garanticen que:&lt;br /&gt;
% θ = 0, pi/2, pi están incluidos &lt;br /&gt;
% r incluye exactamente 1 y 2    &lt;br /&gt;
&lt;br /&gt;
theta = linspace(0, pi, 20);   % mallado moderado, incluye 0, pi/2 y pi&lt;br /&gt;
r = linspace(1, 2, 15);        % radios exactos 1 y 2&lt;br /&gt;
&lt;br /&gt;
[R, TH] = meshgrid(r, theta);&lt;br /&gt;
&lt;br /&gt;
% Convertir a coordenadas cartesianas&lt;br /&gt;
X = R .* cos(TH);&lt;br /&gt;
Y = R .* sin(TH);&lt;br /&gt;
&lt;br /&gt;
figure;&lt;br /&gt;
hold on;&lt;br /&gt;
&lt;br /&gt;
col = [0.3 0.6 1];  % azul clarito&lt;br /&gt;
&lt;br /&gt;
% Mallado tipo red (más grueso) &lt;br /&gt;
plot(X,  Y, 'Color', col, 'LineWidth', 1.1);   % líneas en theta&lt;br /&gt;
plot(X', Y', 'Color', col, 'LineWidth', 1.1);  % líneas en r&lt;br /&gt;
&lt;br /&gt;
% Contornos superior interior y exterior &lt;br /&gt;
theta_cont = linspace(0, pi, 400);&lt;br /&gt;
&lt;br /&gt;
plot(1*cos(theta_cont), 1*sin(theta_cont), 'Color', col, 'LineWidth', 2);&lt;br /&gt;
plot(2*cos(theta_cont), 2*sin(theta_cont), 'Color', col, 'LineWidth', 2);&lt;br /&gt;
&lt;br /&gt;
% Bases &lt;br /&gt;
plot([-1 -2], [0 0], 'Color', col, 'LineWidth', 2);  % base izquierda&lt;br /&gt;
plot([ 1  2], [0 0], 'Color', col, 'LineWidth', 2);  % base derecha&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% Ajustes&lt;br /&gt;
axis equal&lt;br /&gt;
grid on&lt;br /&gt;
title('Mallado del arco')&lt;br /&gt;
xlabel('x')&lt;br /&gt;
ylabel('y')&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==  Temperatura en el arco  ==&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Mallado del arco&lt;br /&gt;
theta = linspace(0, pi, 200);   % más denso para curva suave&lt;br /&gt;
r = linspace(1, 2, 200);        % radio interior 1, exterior 2&lt;br /&gt;
[R, TH] = meshgrid(r, theta);&lt;br /&gt;
&lt;br /&gt;
% Convertir a cartesianas&lt;br /&gt;
X = R .* cos(TH);&lt;br /&gt;
Y = R .* sin(TH);&lt;br /&gt;
&lt;br /&gt;
% Funcion temperatura&lt;br /&gt;
T = (X - Y).^2;&lt;br /&gt;
&lt;br /&gt;
% Representación 2D&lt;br /&gt;
figure;&lt;br /&gt;
pcolor(X, Y, T);     % representación 2D en colores&lt;br /&gt;
shading interp       % suavizado del color&lt;br /&gt;
colormap(jet)&lt;br /&gt;
colorbar;&lt;br /&gt;
&lt;br /&gt;
title('Temperatura T(x,y) = (x - y)^2 sobre el arco')&lt;br /&gt;
xlabel('x')&lt;br /&gt;
ylabel('y')&lt;br /&gt;
axis equal            % mantiene proporciones reales&lt;br /&gt;
== desplazamiento ==&lt;br /&gt;
%% TRABAJO M (ARCO)&lt;br /&gt;
clc; clear; close all;&lt;br /&gt;
&lt;br /&gt;
%% Pregunta 3&lt;br /&gt;
% Dominio &lt;br /&gt;
rho_min = 1;  rho_max = 2;&lt;br /&gt;
th_min = 0;   th_max = pi;&lt;br /&gt;
&lt;br /&gt;
[Rho, Theta] = meshgrid(linspace(rho_min, rho_max, 100), ...&lt;br /&gt;
                        linspace(th_min, th_max, 200));&lt;br /&gt;
&lt;br /&gt;
% Convertimos a Cartesianas&lt;br /&gt;
X = Rho .* cos(Theta);&lt;br /&gt;
Y = Rho .* sin(Theta);&lt;br /&gt;
&lt;br /&gt;
%% 2. Definición de Temperatura y Gradiente&lt;br /&gt;
% Temperatura T = (x - y)^2&lt;br /&gt;
T_val = (X - Y).^2;&lt;br /&gt;
&lt;br /&gt;
% Cálculo del gradiente&lt;br /&gt;
Grad_X = 2 .* (X - Y);&lt;br /&gt;
Grad_Y = -2 .* (X - Y);&lt;br /&gt;
&lt;br /&gt;
% Representación gráfica&lt;br /&gt;
figure('Name', 'Trabajo M - Pregunta 3 (Estilo Suave)', 'Color', 'w');&lt;br /&gt;
hold on;&lt;br /&gt;
&lt;br /&gt;
contourf(X, Y, T_val, 50, 'LineStyle', 'none');&lt;br /&gt;
&lt;br /&gt;
% Creamos la gráfica&lt;br /&gt;
N = 256;&lt;br /&gt;
r = linspace(0.2, 1, N)'; &lt;br /&gt;
g = linspace(0.5, 1, N)';&lt;br /&gt;
b = linspace(1, 0, N)';   &lt;br /&gt;
mi_mapa = [r, g, b];      % Matriz de colores&lt;br /&gt;
&lt;br /&gt;
colormap(mi_mapa);&lt;br /&gt;
c = colorbar;&lt;br /&gt;
c.Label.String = 'Temperatura T = (x-y)^2';&lt;br /&gt;
&lt;br /&gt;
% Cantida de flechas&lt;br /&gt;
step_r = 8;  % Salta cada 8 puntos en el radio&lt;br /&gt;
step_t = 12; % Salta cada 12 puntos en el ángulo&lt;br /&gt;
&lt;br /&gt;
idx_r = 1:step_r:size(X,1);&lt;br /&gt;
idx_t = 1:step_t:size(X,2);&lt;br /&gt;
&lt;br /&gt;
% Dibujo flechas&lt;br /&gt;
quiver(X(idx_r, idx_t), Y(idx_r, idx_t), ...&lt;br /&gt;
       Grad_X(idx_r, idx_t), Grad_Y(idx_r, idx_t), ...&lt;br /&gt;
       'k', ...                 % Color negro flechas&lt;br /&gt;
       'LineWidth', 1.0, ...    % Grosor flechas&lt;br /&gt;
       'AutoScaleFactor', 0.8); % Tamaño flechas&lt;br /&gt;
&lt;br /&gt;
axis equal;&lt;br /&gt;
xlim([-2.5 2.5]); ylim([0 2.5]); % Márgenes &lt;br /&gt;
title('Gradiente sobre T');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
box on; &lt;br /&gt;
&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
== Calcular el gradiante y dibujarlo como campo vectorial. Calcular las curvas de nivel de T y observar gráficamente que el gradiante es ortogonal a dichas curvas. ==&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% GRADIANTE TEMPERATURA&lt;br /&gt;
clc; clear; close all;&lt;br /&gt;
&lt;br /&gt;
% Dominio &lt;br /&gt;
rho_min = 1;  rho_max = 2;&lt;br /&gt;
th_min = 0;   th_max = pi;&lt;br /&gt;
&lt;br /&gt;
[Rho, Theta] = meshgrid(linspace(rho_min, rho_max, 100), ...&lt;br /&gt;
                        linspace(th_min, th_max, 200));&lt;br /&gt;
&lt;br /&gt;
% Convertimos a Cartesianas&lt;br /&gt;
X = Rho .* cos(Theta);&lt;br /&gt;
Y = Rho .* sin(Theta);&lt;br /&gt;
&lt;br /&gt;
%% 2. Definición de Temperatura y Gradiente&lt;br /&gt;
% Temperatura T = (x - y)^2&lt;br /&gt;
T_val = (X - Y).^2;&lt;br /&gt;
&lt;br /&gt;
% Cálculo del gradiente&lt;br /&gt;
Grad_X = 2 .* (X - Y);&lt;br /&gt;
Grad_Y = -2 .* (X - Y);&lt;br /&gt;
&lt;br /&gt;
% Representación gráfica&lt;br /&gt;
figure('Name', 'Trabajo M - Pregunta 3 (Estilo Suave)', 'Color', 'w');&lt;br /&gt;
hold on;&lt;br /&gt;
&lt;br /&gt;
contourf(X, Y, T_val, 50, 'LineStyle', 'none');&lt;br /&gt;
&lt;br /&gt;
% Creamos la gráfica&lt;br /&gt;
N = 256;&lt;br /&gt;
r = linspace(0.2, 1, N)'; &lt;br /&gt;
g = linspace(0.5, 1, N)';&lt;br /&gt;
b = linspace(1, 0, N)';   &lt;br /&gt;
mi_mapa = [r, g, b];      % Matriz de colores&lt;br /&gt;
&lt;br /&gt;
colormap(mi_mapa);&lt;br /&gt;
c = colorbar;&lt;br /&gt;
c.Label.String = 'Temperatura T = (x-y)^2';&lt;br /&gt;
&lt;br /&gt;
% Cantida de flechas&lt;br /&gt;
step_r = 8;  % Salta cada 8 puntos en el radio&lt;br /&gt;
step_t = 12; % Salta cada 12 puntos en el ángulo&lt;br /&gt;
&lt;br /&gt;
idx_r = 1:step_r:size(X,1);&lt;br /&gt;
idx_t = 1:step_t:size(X,2);&lt;br /&gt;
&lt;br /&gt;
% Dibujo flechas&lt;br /&gt;
quiver(X(idx_r, idx_t), Y(idx_r, idx_t), ...&lt;br /&gt;
       Grad_X(idx_r, idx_t), Grad_Y(idx_r, idx_t), ...&lt;br /&gt;
       'k', ...                 % Color negro flechas&lt;br /&gt;
       'LineWidth', 1.0, ...    % Grosor flechas&lt;br /&gt;
       'AutoScaleFactor', 0.8); % Tamaño flechas&lt;br /&gt;
&lt;br /&gt;
axis equal;&lt;br /&gt;
xlim([-2.5 2.5]); ylim([0 2.5]); % Márgenes &lt;br /&gt;
title('Gradiente sobre T');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
&lt;br /&gt;
box on; &lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
== Tensiones tangenciales ==&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% TENSIONES TANGENCIALES&lt;br /&gt;
clear; clc; close all;&lt;br /&gt;
&lt;br /&gt;
% --- 1. GEOMETRÍA ---&lt;br /&gt;
rho_vec = 1:0.01:2;         &lt;br /&gt;
theta_vec = [0:0.01:pi, pi]; &lt;br /&gt;
[R, Th] = meshgrid(rho_vec, theta_vec);&lt;br /&gt;
&lt;br /&gt;
X = R .* cos(Th);&lt;br /&gt;
Y = R .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
% --- 2. CÁLCULO DE LA TENSIÓN (Tau) ---&lt;br /&gt;
% Fórmula derivada: (1/5) * (2*rho^2 - rho) * sin(theta)&lt;br /&gt;
Tau = (1/5) * (2*R.^2 - R) .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
% Calculamos el valor absoluto&lt;br /&gt;
Tau_Mag = abs(Tau); &lt;br /&gt;
&lt;br /&gt;
% --- 3. VISUALIZACIÓN ---&lt;br /&gt;
figure(9); clf; hold on; axis equal;&lt;br /&gt;
set(gcf, 'Color', 'w');&lt;br /&gt;
title('Tensión Tangencial (\tau_{\rho\theta})');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
&lt;br /&gt;
==5.Dibujo del sólido antes y después del desplazamiento==&lt;br /&gt;
%% Visualización de Deformación (Azul vs Rojo)&lt;br /&gt;
clear; clc; close all;&lt;br /&gt;
% --- 1. DATOS Y CÁLCULOS  ---&lt;br /&gt;
rho_vec = 1:0.1:2;&lt;br /&gt;
&lt;br /&gt;
% EL CAMBIO ESTÁ AQUÍ:&lt;br /&gt;
&lt;br /&gt;
theta_vec = [0:0.1:pi, pi]; &lt;br /&gt;
&lt;br /&gt;
[R, Th] = meshgrid(rho_vec, theta_vec);&lt;br /&gt;
&lt;br /&gt;
% Posición Inicial&lt;br /&gt;
X_ini = R .* cos(Th);&lt;br /&gt;
Y_ini = R .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
% Desplazamiento u (Trabajo M)&lt;br /&gt;
u_rho   = zeros(size(R));&lt;br /&gt;
u_theta = (1/5) * (R - 1) .* (R.^2) .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
UX = u_rho .* cos(Th) - u_theta .* sin(Th);&lt;br /&gt;
UY = u_rho .* sin(Th) + u_theta .* cos(Th);&lt;br /&gt;
&lt;br /&gt;
% Posición Final&lt;br /&gt;
X_fin = X_ini + UX;&lt;br /&gt;
Y_fin = Y_ini + UY;&lt;br /&gt;
&lt;br /&gt;
% ---  GENERACIÓN DE LAS GRÁFICAS ---&lt;br /&gt;
&lt;br /&gt;
% GRÁFICA 1: Posición Inicial&lt;br /&gt;
figure(1); clf; hold on; axis equal;&lt;br /&gt;
set(gcf, 'Color', 'w'); title('1. Posición Inicial (Sin deformar)');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
plot(X_ini, Y_ini, 'b', 'LineWidth', 1);&lt;br /&gt;
plot(X_ini', Y_ini', 'b', 'LineWidth', 1);&lt;br /&gt;
plot_borde(rho_vec, theta_vec, 'k', 2); &lt;br /&gt;
axis([-2.5 2.5 0 2.5]); grid on;&lt;br /&gt;
&lt;br /&gt;
% GRÁFICA 2: Posición Final&lt;br /&gt;
figure(2); clf; hold on; axis equal;&lt;br /&gt;
set(gcf, 'Color', 'w'); title('2. Posición Final (Deformada)');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
plot(X_fin, Y_fin, 'r', 'LineWidth', 1);&lt;br /&gt;
plot(X_fin', Y_fin', 'r', 'LineWidth', 1);&lt;br /&gt;
axis([-2.5 2.5 0 2.5]); grid on;&lt;br /&gt;
&lt;br /&gt;
% GRÁFICA 3: Superposición (AZUL vs ROJO)&lt;br /&gt;
figure(3); clf; hold on; axis equal;&lt;br /&gt;
set(gcf, 'Color', 'w'); title('3. Comparativa: Inicial vs Final');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
&lt;br /&gt;
% A) Inicial: AZUL&lt;br /&gt;
plot(X_ini, Y_ini, 'b', 'LineWidth', 1);&lt;br /&gt;
plot(X_ini', Y_ini', 'b', 'LineWidth', 1);&lt;br /&gt;
&lt;br /&gt;
% B) Final: ROJO&lt;br /&gt;
plot(X_fin, Y_fin, 'r', 'LineWidth', 1.2);&lt;br /&gt;
plot(X_fin', Y_fin', 'r', 'LineWidth', 1.2);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% --- Función para bordes ---&lt;br /&gt;
function plot_borde(r_v, t_v, col, ancho)&lt;br /&gt;
    plot(r_v(end)*cos(t_v), r_v(end)*sin(t_v), col, 'LineWidth', ancho);&lt;br /&gt;
    plot(r_v(1)*cos(t_v), r_v(1)*sin(t_v), col, 'LineWidth', ancho);&lt;br /&gt;
    plot([r_v(1) r_v(end)]*cos(t_v(1)), [r_v(1) r_v(end)]*sin(t_v(1)), col, 'LineWidth', ancho);&lt;br /&gt;
    plot([r_v(1) r_v(end)]*cos(t_v(end)), [r_v(1) r_v(end)]*sin(t_v(end)), col, 'LineWidth', ancho);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Visualization of a scalar field in a solid]]&lt;br /&gt;
&lt;br /&gt;
[[Visualization of vector fields in a solid]]&lt;br /&gt;
&lt;br /&gt;
[[Dibujar un sólido 2-D]]&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Curso ICE]]&lt;br /&gt;
[[Categoría:Teoría de Campos]]&lt;br /&gt;
[[Categoría:TC14/15]]&lt;br /&gt;
[[Categoría:TC15/16]]&lt;br /&gt;
[[Categoría:TC16/17]]&lt;br /&gt;
[[Categoría:TC17/18]]&lt;br /&gt;
[[Categoría:TC18/19]]&lt;br /&gt;
[[Categoría:TC19/20]]&lt;br /&gt;
[[Categoría:TC20/21]]&lt;br /&gt;
[[Categoría:TC21/22]]&lt;br /&gt;
[[Categoría:TC25/26]]&lt;br /&gt;
[[Categoría:Articles in English]]&lt;br /&gt;
[[Categoría:Informática]]&lt;/div&gt;</summary>
		<author><name>Álvaro Villar</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Mallado_Arco_1_(grupo_59)&amp;diff=92873</id>
		<title>Mallado Arco 1 (grupo 59)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Mallado_Arco_1_(grupo_59)&amp;diff=92873"/>
				<updated>2025-12-01T10:09:34Z</updated>
		
		<summary type="html">&lt;p&gt;Álvaro Villar: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Arco1. Grupo 59 | [[:Categoría:Teoría de Campos|Teoría de Campos]]|[[:Categoría:TC25/26|2025-26]] | &lt;br /&gt;
*Guillermo Pineros Quero&lt;br /&gt;
*Ignacio Sueiras Oviedo&lt;br /&gt;
*Francisco Yusep Saiz Cebrián&lt;br /&gt;
*Álvaro Villar Rosado&lt;br /&gt;
*Javier Ruiz Sáenz de Jubera}}&lt;br /&gt;
[[Categoría:Teoría de Campos]]&lt;br /&gt;
[[Categoría:TC25/26]]&lt;br /&gt;
== Mallado del arco ==&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Mallado del arco alineado&lt;br /&gt;
&lt;br /&gt;
% Elegimos divisiones que garanticen que:&lt;br /&gt;
% θ = 0, pi/2, pi están incluidos &lt;br /&gt;
% r incluye exactamente 1 y 2    &lt;br /&gt;
&lt;br /&gt;
theta = linspace(0, pi, 20);   % mallado moderado, incluye 0, pi/2 y pi&lt;br /&gt;
r = linspace(1, 2, 15);        % radios exactos 1 y 2&lt;br /&gt;
&lt;br /&gt;
[R, TH] = meshgrid(r, theta);&lt;br /&gt;
&lt;br /&gt;
% Convertir a coordenadas cartesianas&lt;br /&gt;
X = R .* cos(TH);&lt;br /&gt;
Y = R .* sin(TH);&lt;br /&gt;
&lt;br /&gt;
figure;&lt;br /&gt;
hold on;&lt;br /&gt;
&lt;br /&gt;
col = [0.3 0.6 1];  % azul clarito&lt;br /&gt;
&lt;br /&gt;
% Mallado tipo red (más grueso) &lt;br /&gt;
plot(X,  Y, 'Color', col, 'LineWidth', 1.1);   % líneas en theta&lt;br /&gt;
plot(X', Y', 'Color', col, 'LineWidth', 1.1);  % líneas en r&lt;br /&gt;
&lt;br /&gt;
% Contornos superior interior y exterior &lt;br /&gt;
theta_cont = linspace(0, pi, 400);&lt;br /&gt;
&lt;br /&gt;
plot(1*cos(theta_cont), 1*sin(theta_cont), 'Color', col, 'LineWidth', 2);&lt;br /&gt;
plot(2*cos(theta_cont), 2*sin(theta_cont), 'Color', col, 'LineWidth', 2);&lt;br /&gt;
&lt;br /&gt;
% Bases &lt;br /&gt;
plot([-1 -2], [0 0], 'Color', col, 'LineWidth', 2);  % base izquierda&lt;br /&gt;
plot([ 1  2], [0 0], 'Color', col, 'LineWidth', 2);  % base derecha&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% Ajustes&lt;br /&gt;
axis equal&lt;br /&gt;
grid on&lt;br /&gt;
title('Mallado del arco')&lt;br /&gt;
xlabel('x')&lt;br /&gt;
ylabel('y')&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==  To go further  ==&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Mallado del arco&lt;br /&gt;
theta = linspace(0, pi, 200);   % más denso para curva suave&lt;br /&gt;
r = linspace(1, 2, 200);        % radio interior 1, exterior 2&lt;br /&gt;
[R, TH] = meshgrid(r, theta);&lt;br /&gt;
&lt;br /&gt;
% Convertir a cartesianas&lt;br /&gt;
X = R .* cos(TH);&lt;br /&gt;
Y = R .* sin(TH);&lt;br /&gt;
&lt;br /&gt;
% Funcion temperatura&lt;br /&gt;
T = (X - Y).^2;&lt;br /&gt;
&lt;br /&gt;
% Representación 2D&lt;br /&gt;
figure;&lt;br /&gt;
pcolor(X, Y, T);     % representación 2D en colores&lt;br /&gt;
shading interp       % suavizado del color&lt;br /&gt;
colormap(jet)&lt;br /&gt;
colorbar;&lt;br /&gt;
&lt;br /&gt;
title('Temperatura T(x,y) = (x - y)^2 sobre el arco')&lt;br /&gt;
xlabel('x')&lt;br /&gt;
ylabel('y')&lt;br /&gt;
axis equal            % mantiene proporciones reales&lt;br /&gt;
== apartado 3 ==&lt;br /&gt;
%% TRABAJO M (ARCO)&lt;br /&gt;
clc; clear; close all;&lt;br /&gt;
&lt;br /&gt;
%% Pregunta 3&lt;br /&gt;
% Dominio &lt;br /&gt;
rho_min = 1;  rho_max = 2;&lt;br /&gt;
th_min = 0;   th_max = pi;&lt;br /&gt;
&lt;br /&gt;
[Rho, Theta] = meshgrid(linspace(rho_min, rho_max, 100), ...&lt;br /&gt;
                        linspace(th_min, th_max, 200));&lt;br /&gt;
&lt;br /&gt;
% Convertimos a Cartesianas&lt;br /&gt;
X = Rho .* cos(Theta);&lt;br /&gt;
Y = Rho .* sin(Theta);&lt;br /&gt;
&lt;br /&gt;
%% 2. Definición de Temperatura y Gradiente&lt;br /&gt;
% Temperatura T = (x - y)^2&lt;br /&gt;
T_val = (X - Y).^2;&lt;br /&gt;
&lt;br /&gt;
% Cálculo del gradiente&lt;br /&gt;
Grad_X = 2 .* (X - Y);&lt;br /&gt;
Grad_Y = -2 .* (X - Y);&lt;br /&gt;
&lt;br /&gt;
% Representación gráfica&lt;br /&gt;
figure('Name', 'Trabajo M - Pregunta 3 (Estilo Suave)', 'Color', 'w');&lt;br /&gt;
hold on;&lt;br /&gt;
&lt;br /&gt;
contourf(X, Y, T_val, 50, 'LineStyle', 'none');&lt;br /&gt;
&lt;br /&gt;
% Creamos la gráfica&lt;br /&gt;
N = 256;&lt;br /&gt;
r = linspace(0.2, 1, N)'; &lt;br /&gt;
g = linspace(0.5, 1, N)';&lt;br /&gt;
b = linspace(1, 0, N)';   &lt;br /&gt;
mi_mapa = [r, g, b];      % Matriz de colores&lt;br /&gt;
&lt;br /&gt;
colormap(mi_mapa);&lt;br /&gt;
c = colorbar;&lt;br /&gt;
c.Label.String = 'Temperatura T = (x-y)^2';&lt;br /&gt;
&lt;br /&gt;
% Cantida de flechas&lt;br /&gt;
step_r = 8;  % Salta cada 8 puntos en el radio&lt;br /&gt;
step_t = 12; % Salta cada 12 puntos en el ángulo&lt;br /&gt;
&lt;br /&gt;
idx_r = 1:step_r:size(X,1);&lt;br /&gt;
idx_t = 1:step_t:size(X,2);&lt;br /&gt;
&lt;br /&gt;
% Dibujo flechas&lt;br /&gt;
quiver(X(idx_r, idx_t), Y(idx_r, idx_t), ...&lt;br /&gt;
       Grad_X(idx_r, idx_t), Grad_Y(idx_r, idx_t), ...&lt;br /&gt;
       'k', ...                 % Color negro flechas&lt;br /&gt;
       'LineWidth', 1.0, ...    % Grosor flechas&lt;br /&gt;
       'AutoScaleFactor', 0.8); % Tamaño flechas&lt;br /&gt;
&lt;br /&gt;
axis equal;&lt;br /&gt;
xlim([-2.5 2.5]); ylim([0 2.5]); % Márgenes &lt;br /&gt;
title('Gradiente sobre T');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
box on; &lt;br /&gt;
&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
== Gradiente de temperatura en el arco ==&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% TRABAJO M (ARCO)&lt;br /&gt;
clc; clear; close all;&lt;br /&gt;
&lt;br /&gt;
%% Pregunta 3&lt;br /&gt;
% Dominio &lt;br /&gt;
rho_min = 1;  rho_max = 2;&lt;br /&gt;
th_min = 0;   th_max = pi;&lt;br /&gt;
&lt;br /&gt;
[Rho, Theta] = meshgrid(linspace(rho_min, rho_max, 100), ...&lt;br /&gt;
                        linspace(th_min, th_max, 200));&lt;br /&gt;
&lt;br /&gt;
% Convertimos a Cartesianas&lt;br /&gt;
X = Rho .* cos(Theta);&lt;br /&gt;
Y = Rho .* sin(Theta);&lt;br /&gt;
&lt;br /&gt;
%% 2. Definición de Temperatura y Gradiente&lt;br /&gt;
% Temperatura T = (x - y)^2&lt;br /&gt;
T_val = (X - Y).^2;&lt;br /&gt;
&lt;br /&gt;
% Cálculo del gradiente&lt;br /&gt;
Grad_X = 2 .* (X - Y);&lt;br /&gt;
Grad_Y = -2 .* (X - Y);&lt;br /&gt;
&lt;br /&gt;
% Representación gráfica&lt;br /&gt;
figure('Name', 'Trabajo M - Pregunta 3 (Estilo Suave)', 'Color', 'w');&lt;br /&gt;
hold on;&lt;br /&gt;
&lt;br /&gt;
contourf(X, Y, T_val, 50, 'LineStyle', 'none');&lt;br /&gt;
&lt;br /&gt;
% Creamos la gráfica&lt;br /&gt;
N = 256;&lt;br /&gt;
r = linspace(0.2, 1, N)'; &lt;br /&gt;
g = linspace(0.5, 1, N)';&lt;br /&gt;
b = linspace(1, 0, N)';   &lt;br /&gt;
mi_mapa = [r, g, b];      % Matriz de colores&lt;br /&gt;
&lt;br /&gt;
colormap(mi_mapa);&lt;br /&gt;
c = colorbar;&lt;br /&gt;
c.Label.String = 'Temperatura T = (x-y)^2';&lt;br /&gt;
&lt;br /&gt;
% Cantida de flechas&lt;br /&gt;
step_r = 8;  % Salta cada 8 puntos en el radio&lt;br /&gt;
step_t = 12; % Salta cada 12 puntos en el ángulo&lt;br /&gt;
&lt;br /&gt;
idx_r = 1:step_r:size(X,1);&lt;br /&gt;
idx_t = 1:step_t:size(X,2);&lt;br /&gt;
&lt;br /&gt;
% Dibujo flechas&lt;br /&gt;
quiver(X(idx_r, idx_t), Y(idx_r, idx_t), ...&lt;br /&gt;
       Grad_X(idx_r, idx_t), Grad_Y(idx_r, idx_t), ...&lt;br /&gt;
       'k', ...                 % Color negro flechas&lt;br /&gt;
       'LineWidth', 1.0, ...    % Grosor flechas&lt;br /&gt;
       'AutoScaleFactor', 0.8); % Tamaño flechas&lt;br /&gt;
&lt;br /&gt;
axis equal;&lt;br /&gt;
xlim([-2.5 2.5]); ylim([0 2.5]); % Márgenes &lt;br /&gt;
title('Gradiente sobre T');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
box on; &lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
== Tensiones tangenciales ==&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% TENSIONES TANGENCIALES&lt;br /&gt;
clear; clc; close all;&lt;br /&gt;
&lt;br /&gt;
% --- 1. GEOMETRÍA ---&lt;br /&gt;
rho_vec = 1:0.01:2;         &lt;br /&gt;
theta_vec = [0:0.01:pi, pi]; &lt;br /&gt;
[R, Th] = meshgrid(rho_vec, theta_vec);&lt;br /&gt;
&lt;br /&gt;
X = R .* cos(Th);&lt;br /&gt;
Y = R .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
% --- 2. CÁLCULO DE LA TENSIÓN (Tau) ---&lt;br /&gt;
% Fórmula derivada: (1/5) * (2*rho^2 - rho) * sin(theta)&lt;br /&gt;
Tau = (1/5) * (2*R.^2 - R) .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
% Calculamos el valor absoluto&lt;br /&gt;
Tau_Mag = abs(Tau); &lt;br /&gt;
&lt;br /&gt;
% --- 3. VISUALIZACIÓN ---&lt;br /&gt;
figure(9); clf; hold on; axis equal;&lt;br /&gt;
set(gcf, 'Color', 'w');&lt;br /&gt;
title('Tensión Tangencial (\tau_{\rho\theta})');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
&lt;br /&gt;
==5.Dibujo del sólido antes y después del desplazamiento==&lt;br /&gt;
%% Visualización de Deformación (Azul vs Rojo)&lt;br /&gt;
clear; clc; close all;&lt;br /&gt;
% --- 1. DATOS Y CÁLCULOS  ---&lt;br /&gt;
rho_vec = 1:0.1:2;&lt;br /&gt;
&lt;br /&gt;
% EL CAMBIO ESTÁ AQUÍ:&lt;br /&gt;
&lt;br /&gt;
theta_vec = [0:0.1:pi, pi]; &lt;br /&gt;
&lt;br /&gt;
[R, Th] = meshgrid(rho_vec, theta_vec);&lt;br /&gt;
&lt;br /&gt;
% Posición Inicial&lt;br /&gt;
X_ini = R .* cos(Th);&lt;br /&gt;
Y_ini = R .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
% Desplazamiento u (Trabajo M)&lt;br /&gt;
u_rho   = zeros(size(R));&lt;br /&gt;
u_theta = (1/5) * (R - 1) .* (R.^2) .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
UX = u_rho .* cos(Th) - u_theta .* sin(Th);&lt;br /&gt;
UY = u_rho .* sin(Th) + u_theta .* cos(Th);&lt;br /&gt;
&lt;br /&gt;
% Posición Final&lt;br /&gt;
X_fin = X_ini + UX;&lt;br /&gt;
Y_fin = Y_ini + UY;&lt;br /&gt;
&lt;br /&gt;
% ---  GENERACIÓN DE LAS GRÁFICAS ---&lt;br /&gt;
&lt;br /&gt;
% GRÁFICA 1: Posición Inicial&lt;br /&gt;
figure(1); clf; hold on; axis equal;&lt;br /&gt;
set(gcf, 'Color', 'w'); title('1. Posición Inicial (Sin deformar)');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
plot(X_ini, Y_ini, 'b', 'LineWidth', 1);&lt;br /&gt;
plot(X_ini', Y_ini', 'b', 'LineWidth', 1);&lt;br /&gt;
plot_borde(rho_vec, theta_vec, 'k', 2); &lt;br /&gt;
axis([-2.5 2.5 0 2.5]); grid on;&lt;br /&gt;
&lt;br /&gt;
% GRÁFICA 2: Posición Final&lt;br /&gt;
figure(2); clf; hold on; axis equal;&lt;br /&gt;
set(gcf, 'Color', 'w'); title('2. Posición Final (Deformada)');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
plot(X_fin, Y_fin, 'r', 'LineWidth', 1);&lt;br /&gt;
plot(X_fin', Y_fin', 'r', 'LineWidth', 1);&lt;br /&gt;
axis([-2.5 2.5 0 2.5]); grid on;&lt;br /&gt;
&lt;br /&gt;
% GRÁFICA 3: Superposición (AZUL vs ROJO)&lt;br /&gt;
figure(3); clf; hold on; axis equal;&lt;br /&gt;
set(gcf, 'Color', 'w'); title('3. Comparativa: Inicial vs Final');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
&lt;br /&gt;
% A) Inicial: AZUL&lt;br /&gt;
plot(X_ini, Y_ini, 'b', 'LineWidth', 1);&lt;br /&gt;
plot(X_ini', Y_ini', 'b', 'LineWidth', 1);&lt;br /&gt;
&lt;br /&gt;
% B) Final: ROJO&lt;br /&gt;
plot(X_fin, Y_fin, 'r', 'LineWidth', 1.2);&lt;br /&gt;
plot(X_fin', Y_fin', 'r', 'LineWidth', 1.2);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% --- Función para bordes ---&lt;br /&gt;
function plot_borde(r_v, t_v, col, ancho)&lt;br /&gt;
    plot(r_v(end)*cos(t_v), r_v(end)*sin(t_v), col, 'LineWidth', ancho);&lt;br /&gt;
    plot(r_v(1)*cos(t_v), r_v(1)*sin(t_v), col, 'LineWidth', ancho);&lt;br /&gt;
    plot([r_v(1) r_v(end)]*cos(t_v(1)), [r_v(1) r_v(end)]*sin(t_v(1)), col, 'LineWidth', ancho);&lt;br /&gt;
    plot([r_v(1) r_v(end)]*cos(t_v(end)), [r_v(1) r_v(end)]*sin(t_v(end)), col, 'LineWidth', ancho);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Visualization of a scalar field in a solid]]&lt;br /&gt;
&lt;br /&gt;
[[Visualization of vector fields in a solid]]&lt;br /&gt;
&lt;br /&gt;
[[Dibujar un sólido 2-D]]&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Curso ICE]]&lt;br /&gt;
[[Categoría:Teoría de Campos]]&lt;br /&gt;
[[Categoría:TC14/15]]&lt;br /&gt;
[[Categoría:TC15/16]]&lt;br /&gt;
[[Categoría:TC16/17]]&lt;br /&gt;
[[Categoría:TC17/18]]&lt;br /&gt;
[[Categoría:TC18/19]]&lt;br /&gt;
[[Categoría:TC19/20]]&lt;br /&gt;
[[Categoría:TC20/21]]&lt;br /&gt;
[[Categoría:TC21/22]]&lt;br /&gt;
[[Categoría:TC25/26]]&lt;br /&gt;
[[Categoría:Articles in English]]&lt;br /&gt;
[[Categoría:Informática]]&lt;/div&gt;</summary>
		<author><name>Álvaro Villar</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Mallado_Arco_1_(grupo_59)&amp;diff=92852</id>
		<title>Mallado Arco 1 (grupo 59)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Mallado_Arco_1_(grupo_59)&amp;diff=92852"/>
				<updated>2025-12-01T10:05:05Z</updated>
		
		<summary type="html">&lt;p&gt;Álvaro Villar: /* apartado 3 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Arco1. Grupo 59 | [[:Categoría:Teoría de Campos|Teoría de Campos]]|[[:Categoría:TC25/26|2025-26]] | &lt;br /&gt;
*Guillermo Pineros Quero&lt;br /&gt;
*Ignacio Sueiras Oviedo&lt;br /&gt;
*Francisco Yusep Saiz Cebrián&lt;br /&gt;
*Álvaro Villar Rosado&lt;br /&gt;
*Javier Ruiz Sáenz de Jubera}}&lt;br /&gt;
[[Categoría:Teoría de Campos]]&lt;br /&gt;
[[Categoría:TC25/26]]&lt;br /&gt;
== Mallado del arco ==&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Mallado del arco alineado&lt;br /&gt;
&lt;br /&gt;
% Elegimos divisiones que garanticen que:&lt;br /&gt;
% θ = 0, pi/2, pi están incluidos &lt;br /&gt;
% r incluye exactamente 1 y 2    &lt;br /&gt;
&lt;br /&gt;
theta = linspace(0, pi, 20);   % mallado moderado, incluye 0, pi/2 y pi&lt;br /&gt;
r = linspace(1, 2, 15);        % radios exactos 1 y 2&lt;br /&gt;
&lt;br /&gt;
[R, TH] = meshgrid(r, theta);&lt;br /&gt;
&lt;br /&gt;
% Convertir a coordenadas cartesianas&lt;br /&gt;
X = R .* cos(TH);&lt;br /&gt;
Y = R .* sin(TH);&lt;br /&gt;
&lt;br /&gt;
figure;&lt;br /&gt;
hold on;&lt;br /&gt;
&lt;br /&gt;
col = [0.3 0.6 1];  % azul clarito&lt;br /&gt;
&lt;br /&gt;
% Mallado tipo red (más grueso) &lt;br /&gt;
plot(X,  Y, 'Color', col, 'LineWidth', 1.1);   % líneas en theta&lt;br /&gt;
plot(X', Y', 'Color', col, 'LineWidth', 1.1);  % líneas en r&lt;br /&gt;
&lt;br /&gt;
% Contornos superior interior y exterior &lt;br /&gt;
theta_cont = linspace(0, pi, 400);&lt;br /&gt;
&lt;br /&gt;
plot(1*cos(theta_cont), 1*sin(theta_cont), 'Color', col, 'LineWidth', 2);&lt;br /&gt;
plot(2*cos(theta_cont), 2*sin(theta_cont), 'Color', col, 'LineWidth', 2);&lt;br /&gt;
&lt;br /&gt;
% Bases &lt;br /&gt;
plot([-1 -2], [0 0], 'Color', col, 'LineWidth', 2);  % base izquierda&lt;br /&gt;
plot([ 1  2], [0 0], 'Color', col, 'LineWidth', 2);  % base derecha&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% Ajustes&lt;br /&gt;
axis equal&lt;br /&gt;
grid on&lt;br /&gt;
title('Mallado del arco')&lt;br /&gt;
xlabel('x')&lt;br /&gt;
ylabel('y')&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==  To go further  ==&lt;br /&gt;
== apartado 3 ==&lt;br /&gt;
%% TRABAJO M (ARCO)&lt;br /&gt;
clc; clear; close all;&lt;br /&gt;
&lt;br /&gt;
%% Pregunta 3&lt;br /&gt;
% Dominio &lt;br /&gt;
rho_min = 1;  rho_max = 2;&lt;br /&gt;
th_min = 0;   th_max = pi;&lt;br /&gt;
&lt;br /&gt;
[Rho, Theta] = meshgrid(linspace(rho_min, rho_max, 100), ...&lt;br /&gt;
                        linspace(th_min, th_max, 200));&lt;br /&gt;
&lt;br /&gt;
% Convertimos a Cartesianas&lt;br /&gt;
X = Rho .* cos(Theta);&lt;br /&gt;
Y = Rho .* sin(Theta);&lt;br /&gt;
&lt;br /&gt;
%% 2. Definición de Temperatura y Gradiente&lt;br /&gt;
% Temperatura T = (x - y)^2&lt;br /&gt;
T_val = (X - Y).^2;&lt;br /&gt;
&lt;br /&gt;
% Cálculo del gradiente&lt;br /&gt;
Grad_X = 2 .* (X - Y);&lt;br /&gt;
Grad_Y = -2 .* (X - Y);&lt;br /&gt;
&lt;br /&gt;
% Representación gráfica&lt;br /&gt;
figure('Name', 'Trabajo M - Pregunta 3 (Estilo Suave)', 'Color', 'w');&lt;br /&gt;
hold on;&lt;br /&gt;
&lt;br /&gt;
contourf(X, Y, T_val, 50, 'LineStyle', 'none');&lt;br /&gt;
&lt;br /&gt;
% Creamos la gráfica&lt;br /&gt;
N = 256;&lt;br /&gt;
r = linspace(0.2, 1, N)'; &lt;br /&gt;
g = linspace(0.5, 1, N)';&lt;br /&gt;
b = linspace(1, 0, N)';   &lt;br /&gt;
mi_mapa = [r, g, b];      % Matriz de colores&lt;br /&gt;
&lt;br /&gt;
colormap(mi_mapa);&lt;br /&gt;
c = colorbar;&lt;br /&gt;
c.Label.String = 'Temperatura T = (x-y)^2';&lt;br /&gt;
&lt;br /&gt;
% Cantida de flechas&lt;br /&gt;
step_r = 8;  % Salta cada 8 puntos en el radio&lt;br /&gt;
step_t = 12; % Salta cada 12 puntos en el ángulo&lt;br /&gt;
&lt;br /&gt;
idx_r = 1:step_r:size(X,1);&lt;br /&gt;
idx_t = 1:step_t:size(X,2);&lt;br /&gt;
&lt;br /&gt;
% Dibujo flechas&lt;br /&gt;
quiver(X(idx_r, idx_t), Y(idx_r, idx_t), ...&lt;br /&gt;
       Grad_X(idx_r, idx_t), Grad_Y(idx_r, idx_t), ...&lt;br /&gt;
       'k', ...                 % Color negro flechas&lt;br /&gt;
       'LineWidth', 1.0, ...    % Grosor flechas&lt;br /&gt;
       'AutoScaleFactor', 0.8); % Tamaño flechas&lt;br /&gt;
&lt;br /&gt;
axis equal;&lt;br /&gt;
xlim([-2.5 2.5]); ylim([0 2.5]); % Márgenes &lt;br /&gt;
title('Gradiente sobre T');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
box on; &lt;br /&gt;
&lt;br /&gt;
hold off;&lt;br /&gt;
&lt;br /&gt;
== Tensiones tangenciales ==&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%% TENSIONES TANGENCIALES&lt;br /&gt;
clear; clc; close all;&lt;br /&gt;
&lt;br /&gt;
% --- 1. GEOMETRÍA ---&lt;br /&gt;
rho_vec = 1:0.01:2;         &lt;br /&gt;
theta_vec = [0:0.01:pi, pi]; &lt;br /&gt;
[R, Th] = meshgrid(rho_vec, theta_vec);&lt;br /&gt;
&lt;br /&gt;
X = R .* cos(Th);&lt;br /&gt;
Y = R .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
% --- 2. CÁLCULO DE LA TENSIÓN (Tau) ---&lt;br /&gt;
% Fórmula derivada: (1/5) * (2*rho^2 - rho) * sin(theta)&lt;br /&gt;
Tau = (1/5) * (2*R.^2 - R) .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
% Calculamos el valor absoluto&lt;br /&gt;
Tau_Mag = abs(Tau); &lt;br /&gt;
&lt;br /&gt;
% --- 3. VISUALIZACIÓN ---&lt;br /&gt;
figure(9); clf; hold on; axis equal;&lt;br /&gt;
set(gcf, 'Color', 'w');&lt;br /&gt;
title('Tensión Tangencial (\tau_{\rho\theta})');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
&lt;br /&gt;
==5.Dibujo del sólido antes y después del desplazamiento==&lt;br /&gt;
%% Visualización de Deformación (Azul vs Rojo)&lt;br /&gt;
clear; clc; close all;&lt;br /&gt;
% --- 1. DATOS Y CÁLCULOS  ---&lt;br /&gt;
rho_vec = 1:0.1:2;&lt;br /&gt;
&lt;br /&gt;
% EL CAMBIO ESTÁ AQUÍ:&lt;br /&gt;
&lt;br /&gt;
theta_vec = [0:0.1:pi, pi]; &lt;br /&gt;
&lt;br /&gt;
[R, Th] = meshgrid(rho_vec, theta_vec);&lt;br /&gt;
&lt;br /&gt;
% Posición Inicial&lt;br /&gt;
X_ini = R .* cos(Th);&lt;br /&gt;
Y_ini = R .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
% Desplazamiento u (Trabajo M)&lt;br /&gt;
u_rho   = zeros(size(R));&lt;br /&gt;
u_theta = (1/5) * (R - 1) .* (R.^2) .* sin(Th);&lt;br /&gt;
&lt;br /&gt;
UX = u_rho .* cos(Th) - u_theta .* sin(Th);&lt;br /&gt;
UY = u_rho .* sin(Th) + u_theta .* cos(Th);&lt;br /&gt;
&lt;br /&gt;
% Posición Final&lt;br /&gt;
X_fin = X_ini + UX;&lt;br /&gt;
Y_fin = Y_ini + UY;&lt;br /&gt;
&lt;br /&gt;
% ---  GENERACIÓN DE LAS GRÁFICAS ---&lt;br /&gt;
&lt;br /&gt;
% GRÁFICA 1: Posición Inicial&lt;br /&gt;
figure(1); clf; hold on; axis equal;&lt;br /&gt;
set(gcf, 'Color', 'w'); title('1. Posición Inicial (Sin deformar)');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
plot(X_ini, Y_ini, 'b', 'LineWidth', 1);&lt;br /&gt;
plot(X_ini', Y_ini', 'b', 'LineWidth', 1);&lt;br /&gt;
plot_borde(rho_vec, theta_vec, 'k', 2); &lt;br /&gt;
axis([-2.5 2.5 0 2.5]); grid on;&lt;br /&gt;
&lt;br /&gt;
% GRÁFICA 2: Posición Final&lt;br /&gt;
figure(2); clf; hold on; axis equal;&lt;br /&gt;
set(gcf, 'Color', 'w'); title('2. Posición Final (Deformada)');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
plot(X_fin, Y_fin, 'r', 'LineWidth', 1);&lt;br /&gt;
plot(X_fin', Y_fin', 'r', 'LineWidth', 1);&lt;br /&gt;
axis([-2.5 2.5 0 2.5]); grid on;&lt;br /&gt;
&lt;br /&gt;
% GRÁFICA 3: Superposición (AZUL vs ROJO)&lt;br /&gt;
figure(3); clf; hold on; axis equal;&lt;br /&gt;
set(gcf, 'Color', 'w'); title('3. Comparativa: Inicial vs Final');&lt;br /&gt;
xlabel('x'); ylabel('y');&lt;br /&gt;
&lt;br /&gt;
% A) Inicial: AZUL&lt;br /&gt;
plot(X_ini, Y_ini, 'b', 'LineWidth', 1);&lt;br /&gt;
plot(X_ini', Y_ini', 'b', 'LineWidth', 1);&lt;br /&gt;
&lt;br /&gt;
% B) Final: ROJO&lt;br /&gt;
plot(X_fin, Y_fin, 'r', 'LineWidth', 1.2);&lt;br /&gt;
plot(X_fin', Y_fin', 'r', 'LineWidth', 1.2);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% --- Función para bordes ---&lt;br /&gt;
function plot_borde(r_v, t_v, col, ancho)&lt;br /&gt;
    plot(r_v(end)*cos(t_v), r_v(end)*sin(t_v), col, 'LineWidth', ancho);&lt;br /&gt;
    plot(r_v(1)*cos(t_v), r_v(1)*sin(t_v), col, 'LineWidth', ancho);&lt;br /&gt;
    plot([r_v(1) r_v(end)]*cos(t_v(1)), [r_v(1) r_v(end)]*sin(t_v(1)), col, 'LineWidth', ancho);&lt;br /&gt;
    plot([r_v(1) r_v(end)]*cos(t_v(end)), [r_v(1) r_v(end)]*sin(t_v(end)), col, 'LineWidth', ancho);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Visualization of a scalar field in a solid]]&lt;br /&gt;
&lt;br /&gt;
[[Visualization of vector fields in a solid]]&lt;br /&gt;
&lt;br /&gt;
[[Dibujar un sólido 2-D]]&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Curso ICE]]&lt;br /&gt;
[[Categoría:Teoría de Campos]]&lt;br /&gt;
[[Categoría:TC14/15]]&lt;br /&gt;
[[Categoría:TC15/16]]&lt;br /&gt;
[[Categoría:TC16/17]]&lt;br /&gt;
[[Categoría:TC17/18]]&lt;br /&gt;
[[Categoría:TC18/19]]&lt;br /&gt;
[[Categoría:TC19/20]]&lt;br /&gt;
[[Categoría:TC20/21]]&lt;br /&gt;
[[Categoría:TC21/22]]&lt;br /&gt;
[[Categoría:TC25/26]]&lt;br /&gt;
[[Categoría:Articles in English]]&lt;br /&gt;
[[Categoría:Informática]]&lt;/div&gt;</summary>
		<author><name>Álvaro Villar</name></author>	</entry>

	</feed>