Log equation log(x) not plotting correctly
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Here is my code. The log(x) function is plotting with negative values.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/198055/image.jpeg)
x=-10:1:10;
y_1=x;
y_2=exp(x);
y_3=log(x);
plot(x,y_1,'k-',x,y_2,'r--',x,y_3,'b:')
hold on
plot([-10 10],[0 0],'k',[0 0],[-5 5],'k')
axis([-10 10 -5 5])
grid on
title('Comparison Between the Exponential and Natural Logarithm Functions')
xlabel('x-axis')
ylabel('y-label')
legend('y=x','y=exp(x)','y=ln(x)')
0 comentarios
Respuestas (3)
Ryan Takatsuka
el 16 de Oct. de 2018
y_3 contains complex numbers with real and imaginary components, and the plot() function only plots the real component of the complex number. Imaginary components are ignored.
0 comentarios
Steven Lord
el 16 de Oct. de 2018
Did you notice the warning you received in the Command Window when you ran this code?
Does real(y_3) look familiar in the context of your plot?
James Tursa
el 17 de Oct. de 2018
Since you are trying to graph the inverse of the functions, you should be switching the domains as well when you generate the points. So these lines:
y_3=log(x);
plot(x,y_1,'k-',x,y_2,'r--',x,y_3,'b:')
should be this instead:
y_3=log(y_2); % switched domain of log to y_2 instead of x
plot(x,y_1,'k-',x,y_2,'r--',y_2,y_3,'b:') % same change here
0 comentarios
Ver también
Categorías
Más información sobre Exponents and Logarithms 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!