Main Content


Create symbolic functions



f(inputs) = formula creates the symbolic function f. For example, f(x,y) = x + y. The symbolic variables in inputs are the input arguments. The symbolic expression formula is the body of the function f.

f = symfun(formula,inputs) is the formal way to create a symbolic function.


collapse all

Define the symbolic function f(x,y) = x + y. First, create the function by using syms. Then define the function.

syms f(x,y)
f(x,y) = x + y
f(x, y) = x+y

Find the value of f at x = 1 and y = 2.

ans = 3

Define the function again by using the formal way.

syms x y
f = symfun(x+y,[x y])
f(x, y) = x+y

Return the body of a symbolic function by using formula. You can use the body for operations such as indexing into the function. Return the arguments of a symbolic function by using argnames.

Index into the symbolic function [x^2, y^4]. Since a symbolic function is a scalar, you cannot directly index into the function. Instead, index into the body of the function.

syms f(x,y)
f(x,y) = [x^2, y^4];
fbody = formula(f);
ans = x2
ans = y4

Return the arguments of the function.

fvars = argnames(f)
fvars = (xy)

Create two symbolic functions.

syms f(x) g(x)
f(x) = 2*x^2 - x;
g(x) = 3*x^2 + 2*x;

Combine the two symbolic functions into another symbolic function h(x) with the data type symfun.

h(x) = [f(x); g(x)]
h(x) = 


Evaluate the function h(x) at x=1 and x=2.

ans = 


ans = 


You can also combine the two functions into an array of symbolic expressions with the data type sym.

h_expr = [f(x); g(x)]
h_expr = 


Index into h_expr to access the first and the second symbolic expressions.

ans = 2x2-x
ans = 3x2+2x

Input Arguments

collapse all

Function body, specified as a symbolic expression, vector of symbolic expressions, or matrix of symbolic expressions that can be converted to sym data type.

Example: x + y

Input argument or arguments of a function, specified as a symbolic variable or an array of symbolic variables, respectively.

Example: [x,y]

Data Types: sym

Output Arguments

collapse all

Symbolic function, returned as a symfun object.

While the data type of the function f is symfun, the data type of the evaluated function, such as f(1,2), is sym.

Version History

Introduced in R2012a