Table of Contents
......................................................................................................................................................... 1
1. Definire constante și date de intrare ..................................................................................................... 1
2. Simularea numerică - Metoda lui Euler (Cerința a) ................................................................................. 1
3. Soluția analitică exactă (Cerința b) ...................................................................................................... 2
4. Afișare rezultate în Command Window ................................................................................................ 2
5. Reprezentare grafică (Compararea celor două soluții) ............................................................................. 2
% =========================================================================
% Proiect: Răcirea unui Disc de Frână (Metoda lui Euler)
% =========================================================================
clc; clear; close all;
1. Definire constante și date de intrare
T_amb = 25; % Temperatura ambientală [C]
h = 45; % Coeficient de transfer termic [W/(m^2*K)]
A = 0.04; % Suprafața de răcire [m^2]
m = 8; % Masa discului [kg]
c = 500; % Căldura specifică [J/(kg*K)]
T0 = 600; % Temperatura inițială [C]
% Parametri simulare numerică
dt = 5; % Pasul de timp [s] (Cerința a)
t_final = 300; % Timpul total [s]
t = 0:dt:t_final; % Vectorul de timp
N = length(t); % Numărul de pași
% Inițializare vector pentru metoda Euler
T_euler = zeros(1, N);
T_euler(1) = T0; % Condiția inițială
% Variabilă pentru determinarea timpului până la 100°C
t_100 = NaN;
2. Simularea numerică - Metoda lui Euler (Cer-
ința a)
k = (h * A) / (m * c); % Constanta de proporționalitate pentru simplificare
for i = 1:(N-1)
% Ecuația diferențială (derivata curentă)
dT_dt = -k * (T_euler(i) - T_amb);
% Aplicarea metodei lui Euler
T_euler(i+1) = T_euler(i) + dT_dt * dt;
1
% Verificare timp pentru a ajunge la 100°C (Cerința c)
if isnan(t_100) && T_euler(i+1) <= 100
% Interpolare liniară între pași pentru precizie maximă
t_100 = t(i) + (100 - T_euler(i)) / (T_euler(i+1) - T_euler(i)) * dt;
end
end
3. Soluția analitică exactă (Cerința b)
T_analitic = T_amb + (T0 - T_amb) * exp(-k * t);
4. Afișare rezultate în Command Window
fprintf('================ REZULTATE ================\n');
if ~isnan(t_100)
fprintf('Timpul necesar pentru a ajunge la 100°C: %.2f secunde\n',
t_100);
fprintf('În minute: %.2f minute\n', t_100 / 60);
else
fprintf('Discul nu a coborât sub 100°C în cele 300 de secunde.\n');
end
% Calcularea erorii maxime între Euler și Soluția Analitică la finalul
intervalului
eroare_max = max(abs(T_euler - T_analitic));
fprintf('Eroarea maximă a metodei Euler față de cea analitică: %.4f °C\n',
eroare_max);
fprintf('===========================================\n');
================ REZULTATE ================
Discul nu a coborât sub 100°C în cele 300 de secunde.
Eroarea maximă a metodei Euler față de cea analitică: 0.0764 °C
===========================================
5. Reprezentare grafică (Compararea celor
două soluții)
figure('Name', 'Racire Disc de Frana', 'Color', 'w');
plot(t, T_euler, 'ro-', 'LineWidth', 1.5, 'MarkerSize', 4); % Soluția Euler
cu cercuri
hold on;
plot(t, T_analitic, 'b-', 'LineWidth', 2); % Soluția
Analitică cu linie continuă
% Marcarea punctului de 100°C pe grafic
if ~isnan(t_100)
plot(t_100, 100, 'ks', 'MarkerFaceColor', 'k', 'MarkerSize', 8);
line([0 t_100], [100 100], 'Color', 'k', 'LineStyle', '--');
line([t_100 t_100], [0 100], 'Color', 'k', 'LineStyle', '--');
end
2
title('Răcirea discului de frână în timp');
xlabel('Timp [s]');
ylabel('Temperatură [°C]');
grid on;
legend('Soluție Numerică (Euler)', 'Soluție Analitică (Exactă)', 'Punctul de
100°C', 'Location', 'northeast');
Warning: Ignoring extra legend entries.
Published with MATLAB® R2025b