performing integration using quadgk

12 ビュー (過去 30 日間)
Ramakrishna
Ramakrishna 2013 年 11 月 19 日
コメント済み: Walter Roberson 2013 年 11 月 19 日
I would like to perform integration of y w.r.to x wherein I know the limits a, b (lower and upper limits for x) as well as the arrays x and y (n x 1 size each) using quadgk.
For example, see the below code:
x=0.0:0.1:5;
y=exp(x);
int_exact = exp(5) - exp(0);
int_trapz = trapz(x,y);
int_quadgk = quadgk(@integrand,0,5);
How can I code to get int_quadgk using the x and y arrays ONLY and NOT the function exp(x)? That is, I know only x and y arrays and NOT the function from which they were arrived at.
Please help.
Thanks

回答 (1 件)

Walter Roberson
Walter Roberson 2013 年 11 月 19 日
quadgk is strictly for the case where you can pass in a function. trapz() is suitable for numeric integration over a fixed set of data.
  2 件のコメント
Ramakrishna
Ramakrishna 2013 年 11 月 19 日
As you can see, there is considerable error between the exact value (int_exact) and that obtained using trapz (int_trapz). Hence, I plan to use quadgk to minimise the error.
Alternatively, is there a different way to numerically evaluate the integral with reduced / no error?
Thanks

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeNumerical Integration and Differentiation についてさらに検索

タグ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by