图例中的颜色与图表不匹配

3

我需要绘制一些麦克劳林级数,并且在图例上遇到了问题。

对于这两个方程-

x = (-1:.01:1);

% e^x
eqtn21 = 1; 
eqtn22 = 1 + x;
eqtn23 = 1 + x + x.^2/2;
eqtn24 = 1 + x + x.^2/2 + x.^3/6;
eqtn25 = exp(x);

% cos(x)
eqtn31 = 1;
eqtn32 = 1 - x.^2/2;
eqtn33 = 1 - x.^2/2 + x.^4/24;
eqtn34 = 1 - x.^2/2 + x.^4/24 - x.^6/720;
eqtn35 = cos(x);

subplot(2,2,1)
    plot(x,eqtn21,'r',x,eqtn22,'g',x,eqtn23,'b',x,eqtn24,'k',x,eqtn25,'c')
    legend('First Term','First Two Terms','First Three Terms','First Four Terms','Exact Function')

subplot(2,2,2)
    plot(x,eqtn31,'r',x,eqtn32,'g',x,eqtn33,'b',x,eqtn34,'k',x,eqtn35,'c')
    legend('First Term','First Two Terms','First Three Terms','First Four Terms','Exact Function')

当我绘制它们时,图例出现了,但显示了5条红线,并且与图中的颜色不匹配。
1个回答

1
问题出在eqtn21eqtn31上。它们的大小为1,而x是一个不同大小的向量。如果您想要获得恒定的线(即对于x的所有值,您将获得1),则在绘图时需要将它们的大小与x的大小匹配,或者eqtn21 = [1 1 1 1 ... 1]; 一种简单的方法是编写eqtn21 = 1+0*x;等。其他方法可以使用repmat或矩阵乘法等方式来完善eqtn21
eqtn21=repmat(1,[1 numel(x)])

或者

eqtn21=1*ones(1,numel(x))

etc...


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接