2014-09-23 49 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