Numerical integration in Matlab

13 ビュー (過去 30 日間)
Moritz
Moritz 2013 年 8 月 23 日
Hi I want to numerically integrate some function in Matlab using "integral". Say f_int(x). However, f_int can not handle vector inputs. This seems to cause "integral" troubles? Any ideas how to quickly fix this, w/o having to rewrite f_int(x)? Thanks a lot. M

回答 (1 件)

Andrei Bobrov
Andrei Bobrov 2013 年 8 月 23 日
Try:
f2_int = @(y)arrayfun(@(x)f_int(x),y);
out = integral(f2_int,a,b); % here a and b - double
  1 件のコメント
Mike Hosea
Mike Hosea 2013 年 8 月 24 日
編集済み: Mike Hosea 2013 年 8 月 24 日
Andrei's answer is the way I prefer to do it. However, in a pinch you can leverage the 'Arrayfun',true option to treat the problem as a vector-valued integral (just one that happens to return a vector of only one element)
out = integral(f_int,a,b,'ArrayValued',true);

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

カテゴリ

Help Center および File ExchangeProgramming についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by