2013-08-25 65 views
2

我目前正試圖在MATLAB中繪製一個函數以及泰勒多項式,但我遇到了一些問題。當我嘗試運行以下腳本時,第一個情節和它的圖例匹配,但由於某種原因,第二個情節和它的圖例與行不匹配。我是MATLAB新手,使用MATLAB 2012b。圖例與MATLAB圖上的繪圖線不匹配

這裏是腳本:

% First Graph: This graph is correct 
x = 0:.01:3; 
f = sqrt(x); 
P1 = 1 + 0.5*(x - 1); 
P4 = 1 + (1/2)*(x - 1) - (1/4)*(1/2)*(x - 1).^2 ... 
    + (3/8)*(1/6)*(x - 1).^3 - (15/16)*(1/24)*(x - 1).^4; 
plot(x, f, '-k', x, P1, ':r', x, P4, '--b'); 
xlabel('x'); 
ylabel('y'); 
legend('y = sqrt(x)', 'y = P_1(x)', 'y = P_4(x)', 'Location', 'NorthWest'); 


% Second Graph: This graph is NOT correct 
y = -4:.01:4; 
g = exp(cos(y)); 
P1 = exp(1); 
P3 = exp(1) - (exp(1)/2)*y.^2; 
figure(2); 
plot(y, g, '-k', y, P1, ':r', y, P3, '--b'); 
xlabel('x'); 
ylabel('y'); 
legend('y = exp[cos(x)]', 'y = P_1(x)', 'y = P_3(x)', 'Location', 'South'); 

回答

2

紅線作爲一個完整的線的顯示是好奇。在任何情況下,它都與你對一個標量繪製矢量有關。

這將繪製長度相等的載體和產生你所期望的行爲:

plot(y, g, '-k', y, P1*ones(1,length(y)), ':r', y, P3, '--b'); 
+0

謝謝你的答案。這似乎「解決」了這個問題。 – rafster

+0

@rafster如果答案正確,請點擊左邊的複選標記,謝謝! –