Log equation log(x) not plotting correctly
2 次查看(过去 30 天)
显示 更早的评论
Here is my code. The log(x) function is plotting with negative values.
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 个评论
回答(3 个)
Ryan Takatsuka
2018-10-16
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 个评论
Steven Lord
2018-10-16
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
2018-10-17
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 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Exponents and Logarithms 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!