Borrar filtros
Borrar filtros

Plotting is not quie correct

2 visualizaciones (últimos 30 días)
Matthew Palermo
Matthew Palermo el 9 de Dic. de 2023
Comentada: Walter Roberson el 10 de Dic. de 2023
I am trying to plot the temeprature curves for emissivity against the wavelength using Planck's Law. The plot I am getting is pretty close, except there is no decrease in emissivity as the wavelength gets very large. I can't tell if it is the way the for loops are running or the equations I typed in. I have attachedmy current code and the graph I am trying to duplicate for clarification. Any help is greatly appreciated. Thanks!
C1 = 3.742*10^8; % First constant W-micron^4/m^2
C2 = 1.4388*10^4; %Second constant microns-K
T = 100:100:6000; %Temperature in Kelvins
lambda = 0.1:0.1:25; %wavelength in microns
lengthT = length(T);
length_L = length(lambda);
E = zeros(lengthT,length_L);
for i = 1:lengthT
for j = 1:length_L
term1(i,j) = C2./(lambda(j)*T(i));
end
E= C1./((lambda(j)^5)*exp(term1-1));
end
loglog(lambda, E)
ylim([1*10^-1,1*10^9])
xlim([0, 2.5*10^1])
  1 comentario
Walter Roberson
Walter Roberson el 10 de Dic. de 2023
In order to produce that kind of graph, your expression would need some term that first increased in time and then decreased in time. I am not finding any term in your code that has that property ?

Iniciar sesión para comentar.

Respuestas (1)

Torsten
Torsten el 9 de Dic. de 2023
Maybe
for i = 1:lengthT
for j = 1:length_L
term1(i,j) = C2./(lambda(j)*T(i));
E(i,j)= C1./((lambda(j)^5)*exp(term1(i,j)-1));
end
%E= C1./((lambda(j)^5)*exp(term1-1));
end
instead of
for i = 1:lengthT
for j = 1:length_L
term1(i,j) = C2./(lambda(j)*T(i));
end
E= C1./((lambda(j)^5)*exp(term1-1));
end
?
  4 comentarios
Image Analyst
Image Analyst el 10 de Dic. de 2023
@Matthew Palermo for completeness, could you post your complete, corrected code? It might help other people. 🙂
Torsten
Torsten el 10 de Dic. de 2023
Editada: Torsten el 10 de Dic. de 2023
I tried that earlier and got the same result
Strange. I get a similar result as in your graphic.
C1 = 3.742*10^8; % First constant W-micron^4/m^2
C2 = 1.4388*10^4; %Second constant microns-K
T = 100:100:6000; %Temperature in Kelvins
lambda = 0.1:0.1:25; %wavelength in microns
lengthT = length(T);
length_L = length(lambda);
E = zeros(lengthT,length_L);
for i = 1:lengthT
for j = 1:length_L
term1(i,j) = C2./(lambda(j)*T(i));
E(i,j)= C1./((lambda(j)^5)*exp(term1(i,j)-1));
end
%E= C1./((lambda(j)^5)*exp(term1-1));
end
loglog(lambda, E)
ylim([1*10^-1,1*10^9])
xlim([0, 2.5*10^1])

Iniciar sesión para comentar.

Categorías

Más información sobre 2-D and 3-D Plots en Help Center y File Exchange.

Productos


Versión

R2023b

Community Treasure Hunt

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

Start Hunting!

Translated by