Main Content

symfun

Create symbolic functions

Description

example

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.

Examples

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.

f(1,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);
fbody(1)
ans = x2
fbody(2)
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) = 

(2x2-x3x2+2x)

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

h(1)
ans = 

(15)

h(2)
ans = 

(616)

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 = 

(2x2-x3x2+2x)

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

h_expr(1)
ans = 2x2-x
h_expr(2)
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