How do I multiply a given function handle with the independent variable?

I have pre-defined n number of function handles f_{i} which are functions of t for i = 1 to n. How do I define a new function g_{i} = t.f_{i} and then evaluate the integral of each g_{i} from t=0 to 1?

 채택된 답변

f = @sin;
g = @(t) t.*f(t);
format longg
[3*sin(3); g(3)] % Spot check by evaluating the function at t = 3
ans = 2×1
0.423360024179602 0.423360024179602
Now you can use g like any other function handle in functions like integral.
numericAnswer = integral(g, 0, 2*pi)
numericAnswer =
-6.28318530717959
syms x
symbolicAnswer = int(x.*sin(x), 0, 2*pi) % or
symbolicAnswer = 
symbolicAnswer = int(g(x), 0, 2*pi)
symbolicAnswer = 
[numericAnswer; double(symbolicAnswer)]
ans = 2×1
-6.28318530717959 -6.28318530717959

추가 답변 (1개)

埃博拉酱
埃博拉酱 2023년 4월 3일

0 개 추천

Use symfun and int in Symbolic Math Toolbox if you want to do integrals.

카테고리

도움말 센터File Exchange에서 Symbolic Math Toolbox에 대해 자세히 알아보기

질문:

2023년 4월 3일

답변:

2023년 4월 3일

Community Treasure Hunt

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

Start Hunting!

Translated by