フィルターのクリア

Integration of a function multiplied by an array

3 ビュー (過去 30 日間)
Ron Nativ
Ron Nativ 2021 年 12 月 8 日
コメント済み: Ron Nativ 2021 年 12 月 8 日
Hi all,
I want to integrate a symbolic function which is multiplied by a vector, for example:
syms x
y1 = linspace(0,1,10);
y2 = @(x) x.*y1;
q = integral(y2,0,1);
However, the integral execution fails due to 'Matrix dimensions must agree.'.
Is there a solution for this?
Thanks!
Ron

採用された回答

Abolfazl Chaman Motlagh
Abolfazl Chaman Motlagh 2021 年 12 月 8 日
your y2 function return Array for every single number as it's input.
syms x
y1 = linspace(0,1,10);
y2 = @(x) x.*y1;
y2(1)
ans = 1×10
0 0.1111 0.2222 0.3333 0.4444 0.5556 0.6667 0.7778 0.8889 1.0000
according to documentation of integral function if fun has Array output, you should use option ArrayValued:
q = integral(y2,0,1,'ArrayValued',true)
q = 1×10
0 0.0556 0.1111 0.1667 0.2222 0.2778 0.3333 0.3889 0.4444 0.5000

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeSymbolic Math Toolbox についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by