Effacer les filtres
Effacer les filtres

I need to solve the series for two different cases D1 and D2 specified

2 vues (au cours des 30 derniers jours)
Bijaya
Bijaya le 7 Mar 2024
Modifié(e) : Torsten le 7 Mar 2024
The original question:
(C(x,t) -C0 )/(Cb- C0) = 1- 4/pi ∑ (-1)^n /(2*n +1) exp [ -(2*n+1)^2 *(pi)^2 *D*t/4*l^2] * cos((2*n+1)*pi*x)/2*l) . Plot C/Cb on the same plot for the two cases ; D1= 6.0*10^-7 , D2= 3.0*10^-6, C0=2, Cb=0 , l=3 mm . Also label the curve and use minute for time. Solve this problem in matlab .
Matlab code
% Given parameters
D1 = 6.0e-7; % Diffusion coefficient for Case 1
D2 = 3.0e-6; % Diffusion coefficient for Case 2
C0 = 2; % Initial concentration
Cb = 0; % Boundary concentration
l = 0.003; % Length scale (in meters)
% Define x and t (adjust as needed)
x = linspace(0, l, 100); % Spatial domain (from 0 to l)
t_minutes = linspace(0, 60, 100); % Time domain (in minutes)
% Initialize matrices to store results
R1 = zeros(length(x), length(t_minutes));
R2 = zeros(length(x), length(t_minutes));
% Calculate R(x,t) for both cases
for i = 1:length(x)
for j = 1:length(t_minutes)
R1(i, j) = (C(x(i), t_minutes(j), D1, C0, Cb, l) - C0) / (Cb - C0);
R2(i, j) = (C(x(i), t_minutes(j), D2, C0, Cb, l) - C0) / (Cb - C0);
end
end
% Plot R(x,t) for both cases
figure;
surf(t_minutes, x, R1, 'DisplayName', 'Case 1');
hold on;
surf(t_minutes, x, R2, 'DisplayName', 'Case 2');
xlabel('Time (minutes)');
ylabel('Position (meters)');
zlabel('C(x,t) / C_b');
title('Concentration Ratio: C(x,t) / C_b');
legend;
grid on;
% Concentration function (you can adjust this based on your specific problem)
function C_val = C(x, t, D, C0, Cb, l)
C_val = 1 - (4/pi) * sum((-1).^((0:1000)) ./ (2*(0:1000) + 1) ...
.* exp(-(2*(0:1000) + 1).^2 * pi^2 * D * t / (4*l^2)) ...
.* cos((2*(0:1000) + 1) * pi * x / (2*l)));
end
The code yields weird results. Need some help correcting the code . Thanks
  1 commentaire
Torsten
Torsten le 7 Mar 2024
Modifié(e) : Torsten le 7 Mar 2024
Plot C/Cb on the same plot for the two cases ; D1= 6.0*10^-7 , D2= 3.0*10^-6, C0=2, Cb=0 , l=3 mm .
You cannot plot C/Cb since Cb = 0. Or did you copy your assignment incorrectly ?

Connectez-vous pour commenter.

Réponses (0)

Catégories

En savoir plus sur Data Distribution Plots dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by