How to add two functions and display the sum?

조회 수: 7 (최근 30일)
Saumya
Saumya 2023년 2월 6일
편집: Sarvesh Kale 2023년 2월 6일
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
Dyuman Joshi
Dyuman Joshi 2023년 2월 6일
편집: Dyuman Joshi 2023년 2월 6일
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

댓글을 달려면 로그인하십시오.

답변 (1개)

Sarvesh Kale
Sarvesh Kale 2023년 2월 6일
편집: Sarvesh Kale 2023년 2월 6일
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

카테고리

Help CenterFile Exchange에서 Symbolic Math Toolbox에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by