Diferencia entre revisiones de «Placa Plana (Grupo 09)»

De MateWiki
Saltar a: navegación, buscar
Línea 65: Línea 65:
 
hold off;
 
hold off;
 
}}
 
}}
 +
 +
 +
 +
==curvas de nivel==
 +
 +
[[Archivo:curvadenivel.jpeg|miniaturadeimagen|derecha|800px|Figura 2]]
 +
<source lang="matlab">
 +
clc; clear; close all;
 +
% Definición
 +
h=0.1;             
 +
x=0:h:4;                 
 +
y=0:h:2;         
 +
[X,Y] = meshgrid(x, y);
 +
 +
% Funciones 
 +
f=@(x)x./8; 
 +
g=@(x)2-x./8; 
 +
 +
 +
EnPlaca=Y>=f(X)&Y< g(X);
 +
 +
% Definición de la Temperatura y el Gradiente
 +
 +
T=(1+(Y-1).^2).*(4-X);
 +
 +
 +
T_plot=T;
 +
T_plot(~EnPlaca)=NaN;
 +
 +
% Cálculo numérico del gradiente para los vectores
 +
 +
U=-(1+(Y-1).^2);         
 +
V=2.*(Y-1).*(4-X); 
 +
 +
 +
U(~EnPlaca)=NaN;
 +
V(~EnPlaca)=NaN;
 +
 +
% Gráfica
 +
figure(1);
 +
clf;
 +
hold on;
 +
axis equal;
 +
axis([-0.5 4.5 -0.5 2.5]);
 +
grid on;
 +
title({'Isotermas y Gradiente \nabla T', 'T(x,y) = (1+(y-1)^2)(4-x)'});
 +
xlabel('x'); ylabel('y');
 +
 +
% Mapa de calor
 +
[C_fill, h_fill] = contourf(X, Y, T_plot, 20, 'LineStyle', 'none');
 +
colormap(jet);
 +
cb=colorbar;
 +
ylabel(cb,'Temperatura T');
 +
 +
% Curvas de nivel
 +
[C, h_cont]=contour(X,Y,T_plot,10,'k','LineWidth',1.5);
 +
clabel(C,h_cont,'FontSize',9,'Color','k','FontWeight','bold');
 +
 +
% Campo Vectorial
 +
 +
step=3;
 +
quiver(X(1:step:end,1:step:end),Y(1:step:end, 1:step:end), ...
 +
U(1:step:end,1:step:end),V(1:step:end,1:step:end), ...
 +
1.2,'k','LineWidth',1); % '1.2' es el factor de escala de las flechas
 +
 +
% Dibujar bordes de la placa
 +
plot(x,f(x),'k-','LineWidth',2);
 +
plot(x,g(x),'k-','LineWidth',2);
 +
plot([0 0],[f(0) g(0)],'k-','LineWidth',2);
 +
plot([4 4],[f(4) g(4)],'k-','LineWidth',2);
 +
 +
% Señalar Máximo
 +
plot(0,0,'rp','MarkerSize',12,'MarkerFaceColor','r');
 +
plot(0,2,'rp','MarkerSize',12,'MarkerFaceColor','r');
 +
text(0.1,0,'Max T','Color','white','FontWeight','bold');
 +
 +
hold off;
 +
</source>

Revisión del 17:32 1 dic 2025

Trabajo realizado por estudiantes
Título Placa plana. Grupo 09
Asignatura Teoría de Campos
Curso 2025-26
Autores Rafael Gonzalez Gomez
Mario Belinchón Buendía
Alejandro Morales Tari
Pablo Márquez Blanco
Este artículo ha sido escrito por estudiantes como parte de su evaluación en la asignatura


1 Introducción

2 Mallado

Malladoplacaplana.png
h = 1/10;
color_malla = [0, 0.6, 0.6]; % Color 

% Coordenadas
u = 0 : h : 4;
v = 0 : h : 2;
[U, V] = meshgrid(u, v);

% Calculamos los bordes 
y_abajo = U ./ 8;
y_arriba = 2 - (U ./ 8);

% Interpolamos
factor_altura = V ./ 2; % Va de 0 (abajo) a 1 (arriba)

X = U;
Y = y_abajo + factor_altura .* (y_arriba - y_abajo);

% Visualización
figure('Color', 'w'); hold on;

% Dibujar las líneas VERTICALES
plot(X, Y, 'Color', color_malla, 'LineWidth', 0.5);

% Dibujar las líneas HORIZONTALES
plot(X', Y', 'Color', color_malla, 'LineWidth', 0.5);

% Dibujar el contorno 
plot(u, u./8, 'k-', 'LineWidth', 2); % Borde Abajo
plot(u, 2 - u./8, 'k-', 'LineWidth', 2); % Borde Arriba
plot([0 0], [0 2], 'k-', 'LineWidth', 2); % Borde Izquierdo
plot([4 4], [0.5 1.5], 'k-', 'LineWidth', 2); % Borde Derecho

% Configuración final
axis([-1 5 -1 3]); % Zoom/Encuadre exacto
xlabel('x'); ylabel('y');
title('Mallado de la placa plana');
grid on;
box on;
hold off;



3 curvas de nivel

Figura 2
clc; clear; close all;
% Definición 
h=0.1;               
x=0:h:4;                  
y=0:h:2;           
[X,Y] = meshgrid(x, y);

% Funciones  
f=@(x)x./8;  
g=@(x)2-x./8;  


EnPlaca=Y>=f(X)&Y< g(X);

% Definición de la Temperatura y el Gradiente

T=(1+(Y-1).^2).*(4-X);


T_plot=T;
T_plot(~EnPlaca)=NaN;

% Cálculo numérico del gradiente para los vectores 

U=-(1+(Y-1).^2);          
V=2.*(Y-1).*(4-X);   


U(~EnPlaca)=NaN;
V(~EnPlaca)=NaN;

% Gráfica
figure(1);
clf; 
hold on;
axis equal; 
axis([-0.5 4.5 -0.5 2.5]);
grid on;
title({'Isotermas y Gradiente \nabla T', 'T(x,y) = (1+(y-1)^2)(4-x)'});
xlabel('x'); ylabel('y');

% Mapa de calor 
[C_fill, h_fill] = contourf(X, Y, T_plot, 20, 'LineStyle', 'none');
colormap(jet); 
cb=colorbar;
ylabel(cb,'Temperatura T');

% Curvas de nivel
[C, h_cont]=contour(X,Y,T_plot,10,'k','LineWidth',1.5);
clabel(C,h_cont,'FontSize',9,'Color','k','FontWeight','bold');

% Campo Vectorial 

step=3; 
quiver(X(1:step:end,1:step:end),Y(1:step:end, 1:step:end), ...
U(1:step:end,1:step:end),V(1:step:end,1:step:end), ...
1.2,'k','LineWidth',1); % '1.2' es el factor de escala de las flechas

% Dibujar bordes de la placa
plot(x,f(x),'k-','LineWidth',2);
plot(x,g(x),'k-','LineWidth',2); 
plot([0 0],[f(0) g(0)],'k-','LineWidth',2); 
plot([4 4],[f(4) g(4)],'k-','LineWidth',2); 

% Señalar Máximo
plot(0,0,'rp','MarkerSize',12,'MarkerFaceColor','r');
plot(0,2,'rp','MarkerSize',12,'MarkerFaceColor','r');
text(0.1,0,'Max T','Color','white','FontWeight','bold');

hold off;