how to solve undefined variable?

% I am trying to do integration with the limit x<5, as
a=any const no, for eg a= 2
f=@(x) a*x^2+sin(pi*x/2)
if x>5
output=0
else
output=integral(f,0,inf,'ArrayValued',true,'RelTol',1e-4,'AbsTol',1e-4
end
%% but error I found---- Undefined function or variable 'x'. ,if x > 5
%% please solve it

1 件のコメント

KSSV
KSSV 2019 年 8 月 5 日
f=@(x) a*x^2+sin(pi*x/2)
output=integral(f,0,inf,'ArrayValued',true,'RelTol',1e-4,'AbsTol',1e-4)

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

回答 (1 件)

Walter Roberson
Walter Roberson 2019 年 8 月 6 日

0 投票

a=any const no, for eg a= 2
end
f=@(x) (x<5) .* (a*x^2+sin(pi*x/2));
output = integral(f,0,inf,'ArrayValued',true,'RelTol',1e-4,'AbsTol',1e-4)
Note: this might not give the right answer if f happens to be evaluated at +/- inf : there is a danger that it could return nan instead of the correct solution.

タグ

質問済み:

2019 年 8 月 5 日

回答済み:

2019 年 8 月 6 日

Community Treasure Hunt

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

Start Hunting!

Translated by