3

我无法使图例的线条与我在代码中设置的线条颜色和宽度相匹配。我尝试了很多方法并通读了 MATLAB 帮助,但我不是程序员,我真的不明白该怎么做。我还尝试通过参考该站点上与我的问题相似的一些问题和答案来找出解决方案,然后进行一些试验和错误来编辑图例,但正如您所知,它并没有真正起作用很好,这就是我在这里的原因。有人可以帮帮我吗?非常感谢!

这是我的图表的图像:http://i.stack.imgur.com/rLq4p.jpg

我的代码在下面:

clf 
hold on
x = [-55:0.001:65];
y = log(abs(x-31)./(sqrt(x.^2+86)));
plot(x,y);
xlabel('x axis');
ylabel('y axis');
title('Graph of function');

a= -2.7742;
fa=log(abs(a-31)./(sqrt(a.^2+86)));
plot(a,fa,'s');

b= -10.39
fb=log(abs(b-31)./(sqrt(b.^2+86)));
plot(b,fb,'o');

bday=31
vertaxis= [-12:0.1:2]
plot(bday,vertaxis,'LineWidth',2,'color','red');

horizontalaxis=[-55:0.1:65]
horizontal=0
plot(horizontalaxis,horizontal,'LineWidth',2,'color','m');

plot([-55 -10.39],[-12 -12],'LineWidth',10,'color','c');
plot([-10.39 31],[-12 -12],'LineWidth',10,'color','y');
plot([31 65],[-12 -12],'LineWidth',10,'color','g');

legend('function','local maxima','Inflection point','vertical asymptote','horizontal asymptote','concave up','concave down','concave down','Location','Best');
4

1 回答 1

1

替换以下行:

horizontalaxis=[-55:0.1:65]';
horizontal=zeros(length(horizontalaxis),1);
plot(horizontalaxis,horizontal,'LineWidth',2,'color','m'); 

vertaxis= [-12:0.1:2]';
bday=31.*ones(length(vertaxis),1);
plot(bday,vertaxis,'LineWidth',2,'color','red'); 

它会没事的。

在此处输入图像描述

正如评论中已经提到的那样,问题在于,您实际上并没有为您的渐近线绘制线,而是超过一千个单点。所以你的“凹”传说会出现得有点晚;)

您还可以看到您的原始图有一条虚线,而不是一条连续的。


编辑:

plot([-55,65],[0,0],'LineWidth',2,'color','m'); 
plot([31,31],[-12,2],'LineWidth',2,'color','red');

实际上就足够了。就像你在下面为蓝/黄/绿线所做的那样

于 2013-11-11T11:52:13.883 回答