How can i add multiple lines in a plot with a variable?
3 次查看(过去 30 天)
显示 更早的评论
The code that i have is working as intented, but i want to add multiple lines in the same plot where the difference is one variable.
It is the variable "T" that is 5780, but i also want to have it plotted as T=4000, T=3500, T=3000, T=2500 & T=2000, all in the same picture.
Thanks in advance.
T=5780;
x(1)=1.0e-7;
I(1)=0;
I0=3.74177152e-16;
C=1.438776950e-2
for j=2:1000
I(j-1)=I0*(x(j-1)^(-5))/(exp(C/(x(j-1)*T))-1);
I(j-1)=I(j-1)/1.0e9;
I(j-1)=I(j-1)/1.0e4;
x(j)=x(j-1)+2.0e-9;
x(j-1)=x(j-1)*1.0e9;
end
I(1000)=I0*(x(1000)^(-5))/(exp(C/(x(1000)*T))-1);
I(1000)=I(1000)/1.0e9;
I(1000)=I(1000)/1.0e4;
x(1000)=x(1000)*1.0e9;
plot(x,I);
xlabel('-> golflengte (nm)')
str = '$$ -> \Delta I \Delta \lambda^{-1} (10^4 Wm^2nm^{-1})$$';
ylabel(str,'Interpreter','latex')
axis([0 2500 0 10]);
0 个评论
采纳的回答
Walter Roberson
2021-9-4
T = [2000, 2500, 3000, 3500, 4000, 4500, 5000, 5780];
numT = length(T);
x(1)=1.0e-7;
I(1,1:numT) = 0;
I0=3.74177152e-16;
C=1.438776950e-2
for j=2:1000
I(j-1,:) = I0*(x(j-1)^(-5))./(exp(C./(x(j-1)*T))-1);
I(j-1,:) = I(j-1,:)/1.0e9;
I(j-1,:) = I(j-1,:)/1.0e4;
x(j)=x(j-1)+2.0e-9;
x(j-1)=x(j-1)*1.0e9;
end
I(1000,:) = I0*(x(1000)^(-5))./(exp(C./(x(1000)*T))-1);
I(1000,:) = I(1000,:)/1.0e9;
I(1000,:) = I(1000,:)/1.0e4;
x(1000)=x(1000)*1.0e9;
plot(x,I);
xlabel('-> golflengte (nm)')
str = '$$ -> \Delta I \Delta \lambda^{-1} (10^4 Wm^2nm^{-1})$$';
ylabel(str,'Interpreter','latex')
axis([0 2500 0 10]);
legend(string(T))
6 个评论
Walter Roberson
2021-9-4
clearvars
once before you run the code. I think you have an old I variable in memory.
The output you see above is "live" -- I ran it right in the Answers system itself.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Creating, Deleting, and Querying Graphics Objects 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

