私は358個の数字のベクトルを持っています。このベクトルを数値積分したいのですが、関数がわかりません。
trapz または quad を使用できることがわかりましたが、関数なしで統合する方法がよくわかりません。
私は358個の数字のベクトルを持っています。このベクトルを数値積分したいのですが、関数がわかりません。
trapz または quad を使用できることがわかりましたが、関数なしで統合する方法がよくわかりません。
ベクトルの水平方向の間隔がわかっている場合は、trapzを使用して関数なしで統合できます。たとえば、y=sin(x)
0 から pi までを 358 セクションで積分するには、
x=0:pi/357:pi;
y=sin(x);
area=trapz(x,y);
ポイント間のデフォルトの距離が 1 であると想定されているため、単に を使用するtrapz(y)
と、はるかに大きな数値が得られます。この問題は、x ポイント間の距離を掛けることで修正できます。
area=pi/357*trapz(y);
数値積分するために関数を知る必要はありません。trapz
それがとのポイントですquad
。trapz
ベクトルを渡すだけです。ドキュメントへのリンクは次のとおりです。