2014-09-23 40 views
3

我必须绘制一些Maclaurin系列,并且遇到与图例有关的问题。传说中的颜色与地块不匹配

对于这两个equations-

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

问题出在eqtn21eqtn31。它们的大小为1,而x是不同大小的矢量。当你绘制你需要匹配他们的大小与大小x,如果你想有一个恒定的线(因此所有的值你会得到1),或eqtn21 = [1 1 1 1 ... 1];

一个简单的方法来做到这一点是写eqtn21 = 1+0*x;等其他方式来做到这一点可以使用repmat或矩阵乘法等做细化eqtn21 ...

eqtn21=repmat(1,[1 numel(x)]) 

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

等等

+0

这是有道理的,谢谢你的帮助 – 2014-09-23 20:17:02

+0

容易peasy ... :) – bla 2014-09-23 20:17:59