私は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
@awiebe – awiebe
xfpolyが近いために有効な値ではありませんいいえ、それは合法である:それは、整数、多角形を充填するために使用される色である必要があります(詳細はScilabのヘルプを参照してください) 。 – Attila