我必须绘制一些Maclaurin系列,并且遇到传奇问题。
对于这两个方程 -
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条红线并且与图上的颜色不匹配。
答案 0 :(得分:1)
问题在于eqtn21
和eqtn31
。它们的大小为1,而x
是不同大小的向量。在绘图时,如果你想要一个恒定的线(所以对于x的所有值,你得到1),或x
{<1}},你需要将它们的大小与eqtn21 = [1 1 1 1 ... 1];
的大小相匹配p>
一种简单的方法是编写eqtn21 = 1+0*x;
等。其他方法可以使用eqtn21
或矩阵乘法等来细化repmat
......
eqtn21=repmat(1,[1 numel(x)])
或
eqtn21=1*ones(1,numel(x))
等...