Filter löschen
Filter löschen

How to add two functions and display the sum?

20 Ansichten (letzte 30 Tage)
Saumya
Saumya am 6 Feb. 2023
Bearbeitet: Sarvesh Kale am 6 Feb. 2023
I am trying to add two functions together and display the addition as a new function.
f=@(x) x^2+x;
g=@(x) 3*x^2+5*x;
z=f(x)+g(x);
I want to print z as:
@(x) 4*x^2+6*x
How do I achieve this? The disp function only gives the output of z as @(x) f(x)+g(x)
  1 Kommentar
Dyuman Joshi
Dyuman Joshi am 6 Feb. 2023
Bearbeitet: Dyuman Joshi am 6 Feb. 2023
function handles don't resolve the expression per say, for example -
a = 1.3;
b = .2;
c = 30;
parabola = @(x) a*x.^2 + b*x + c
parabola = function_handle with value:
@(x)a*x.^2+b*x+c
This is not displayed as
par = @(x) 1.3*x.^2 + 0.2*x + 30
par = function_handle with value:
@(x)1.3*x.^2+0.2*x+30
Your closest option I think is syms
syms f(x) g(x)
f(x)=x^2+x;
g(x)=3*x^2+5*x;
%symbolic function
z(x)=f(x)+g(x)
z(x) = 
%Converting the symbolic function into function handle
z=matlabFunction(z)
z = function_handle with value:
@(x)x.*6.0+x.^2.*4.0

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Sarvesh Kale
Sarvesh Kale am 6 Feb. 2023
Bearbeitet: Sarvesh Kale am 6 Feb. 2023
Hi Saumya,
You can try the symbolic math to solve your issue
syms x
f = x*x + x ;
g = 3*x*x + 5*x ;
z = f + g
z = 
x = 3;
subs(f) % will give you f(3)
ans = 
12
subs(z) % will give you f(3) + g(3)
ans = 
54
You can refer the documentation of symbolic math library for symbolic functions

Kategorien

Mehr zu Symbolic Math Toolbox finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by