Plot always appears as a straight line
15 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Hieu Nguyen
el 4 de Dic. de 2017
Comentada: Roger Stafford
el 5 de Dic. de 2017
v = [0:100];
m = 4.65*10.^-26;
y = ((m*v)/(4.14*10.^-21)).*exp((-m*v.^2)/2*4.14*10.^-21);
plot(v,y)
title('Density fucntion at t1 and t2')
Hi, I don't know how to fix this but my graph appears to be a straight line intead of an exponential curve. Thanks a lot!
1 comentario
Roger Stafford
el 5 de Dic. de 2017
@Hieu. Here's a demonstration of why you should be careful with how you use parentheses:
x = 60/5*12
y = 60/(5*12)
z = 60/5/12
Notice that in 'y' and 'z' there is division by 12, whereas in 'x' it is multiplied. That is apparently the source of your difficulty with the quantity 4.14*10.^-21. It was multiplied rather than divided because you left out the all-important parentheses.
Respuesta aceptada
Roger Stafford
el 4 de Dic. de 2017
Are you sure the second "4.14*10.^-21" doesn't belong in the denominator:
y = ((m*v)/(4.14*10.^-21)).*exp((-m*v.^2)/(2*4.14*10.^-21));
If so, and if you change the range of v to:
v = [0:1000];
you will get a nicely curved plot.
2 comentarios
Más respuestas (1)
Greg
el 4 de Dic. de 2017
First, I suspect you missed parenthesis is your exp denominator. The magic of using constants. Second, most functions look like straight lines if you stay near the origin. Try plotting further out in v.
v = 0:1000;
m = 4.65*10.^-26;
denom = (4.14*10.^-21);
y = ((m*v)/denom).*exp((-m*v.^2)/(2*denom));
a = axes(figure);
plot(a,v,y);
title('Density function at t1 and t2')
2 comentarios
Ver también
Categorías
Más información sobre Line Plots en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!