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?

 Accepted Answer

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

More Answers (1)

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

Community Treasure Hunt

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

Start Hunting!