我一直在研究Scilab中的一個程序,它通過梯形法則(不使用內置函數)在數值上集成了一個函數。我對融合或繪製函數沒有任何問題,但是我想將真實函數疊加在彩色的梯形圖上。Scilab中的梯形積分 - 多邊形顏色填充停止
由於某些原因,當我設置邊界a = 0到b = 3 ,沒問題,我得到了我想要的。但是,當我將邊界設置爲3以上時,梯形仍然會按照直線繪製,但它們不會被着色。在下面的代碼中,顏色停止在3處。例如,如果我繪製0到6,顏色停止了一半。 3至6,根本沒有顏色。
這裏是代碼的有關章節:
deff('[y] = f(x)','y = e^(x^2)'); // Definition of function
a = 0; // Lower bound
b = 4; // Upper bound
n = 20; // Number of intervals
h = ((b - a)/n); // Interval spacing
x = a:h:b; // Array of positions for division
和
for i = 1:n+1
y(i) = f(x(i));
end
和
for i = 1:n // Plot colored trapezoids
x_start = a+(h*(i-1));
x_end = a+(h*(i));
y_start = y(i);
y_end = y(i+1);
xpts = [x_start, x_end, x_end, x_start];
ypts = [y_start, y_end, 0, 0];
xfpoly(xpts,ypts,3);
end
This is the plot output for a = 0, b = 3
那麼對於初學者3是不是接近xfpoly – awiebe
合法值@awiebe不,這是合法的:必須是一個整數,用於填充多邊形(請詳見Scilab的幫助)的顏色。 – Attila