Matlab Homework: Plotting T vs λ with Max Function and Stylish Design

  • Thread starter Thread starter Pouyan
  • Start date Start date
  • Tags Tags
    Matlab Plotting
AI Thread Summary
The discussion focuses on plotting a function in MATLAB that involves using the max function to display the maximum values of T at specific wavelengths (λ). The user aims to avoid repetitive code for each curve while ensuring that text annotations for T are neatly positioned above the maximum points without cutting the curves. They provide initial code and seek guidance on how to effectively use the text function to label each curve appropriately. The user has made progress but is struggling with the text placement. The conversation emphasizes the importance of stylish design in the plot while maintaining clarity in the annotations.
Pouyan
Messages
103
Reaction score
8

Homework Statement



I have a function :
latex1.gif

and I want to draw :
intensity.png

Homework Equations



where T has values : 600, 800, 1000, 1100 And λ:(0,10*^-5] I have to use max function with two values and the solution must not consist of repeating four times of similar snippets of code, one for each curve.The image should be stylish. For example. so the texts may not cut curves, but neatly placed just above the maximum point.

The Attempt at a Solution


[/B]
This is the way how I start :
F=@(L,T) 3.7415E-16 ./((L.^5).*(exp(0.014 ./(L.*T))-1));
T=[600, 800, 1000, 1100];
L=0:10^-6:10^-5;
[Lm Tm]=meshgrid(L,T);
fm=F(Lm,Tm);
plot(L,fm)
hold on
grid on
[Y I]=max(fm);
plot(L(I),Y,'*')
And I get :
https://se.mathworks.com/matlabcentral/answers/uploaded_files/70252/image1.bmp
My question is how should I use text function in Matlab to write T for correspond curve
 
Physics news on Phys.org
This how I could develop the code but I fail with one thing !

clear all

clc

F=@(L,T) 3.7415E-16 ./((L.^5).*(exp(0.014 ./(L.*T))-1));

T=[600 800 1000 1100];

L=0:10^-7:10^-5;

[Tm Lm]=meshgrid(T,L);

fm=F(Lm,Tm);

plot(L,fm)

grid on

[Y I]=max(fm);

hold on

plot(L(I),Y,'*')

%text(L(I),Y,'T= ')

hold on

for i=1:1:4

S=['T= ',num2str(T(i))]

N = L(I)-1.E-7;

G = Y+5.E8;
text(N,G, S)
end

I get this image as result :

https://se.mathworks.com/matlabcentral/answers/uploaded_files/70256/image2.bmp
 
Back
Top