我一直在研究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