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

8 visualizaciones (últimos 30 días)
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?

Respuesta aceptada

Steven Lord
Steven Lord el 3 de Abr. de 2023
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

Más respuestas (1)

埃博拉酱
埃博拉酱 el 3 de Abr. de 2023
Use symfun and int in Symbolic Math Toolbox if you want to do integrals.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by