MATLAB 帮助中心
创建符号函数
f(inputs) = formula
f = symfun(formula,inputs)
f = symfun(fM)
f(inputs) = formula 创建符号函数 f。例如,f(x,y) = x + y。inputs 中的符号变量是输入参量。符号表达式 formula 是函数 f 的主体。
f
inputs
formula
f(x,y) = x + y
示例
f = symfun(formula,inputs) 是创建符号函数的形式语法方式。
f = symfun(fM) 将 symfunmatrix 类型的符号矩阵函数 fM 转换为 symfun 类型的符号函数 f。 (自 R2024b 起)
fM
symfunmatrix
symfun
全部折叠
定义符号函数 f(x,y) = x + y。首先,使用 syms 创建该函数。然后定义该函数。
syms
syms f(x,y) f(x,y) = x + y
f(x, y) = x+y
求 x = 1 和 y = 2 时 f 的值。
x = 1
y = 2
f(1,2)
ans = 3
使用形式语法再次定义该函数。
syms x y f = symfun(x+y,[x y])
使用 formula 返回符号函数的主体。您可以使用该主体执行操作,例如对该函数进行索引。使用 argnames 返回符号函数的参量。
argnames
对符号函数 [x^2, y^4] 进行索引。由于符号函数是标量,因此您无法直接对该函数进行索引,而是对该函数的主体进行索引。
[x^2, y^4]
syms f(x,y) f(x,y) = [x^2, y^4]; fbody = formula(f); fbody(1)
ans = x2
fbody(2)
ans = y4
返回该函数的参量。
fvars = argnames(f)
fvars = (xy)
创建两个符号函数。
syms f(x) g(x) f(x) = 2*x^2 - x; g(x) = 3*x^2 + 2*x;
将这两个符号函数组合成数据类型为 symfun 的另一个符号函数 h(x)。
h(x) = [f(x); g(x)]
h(x) = (2 x2-x3 x2+2 x)
(2 x2-x3 x2+2 x)
计算 x=1 和 x=2 时函数 h(x) 的值。
h(1)
ans = (15)
(15)
h(2)
ans = (616)
(616)
您还可以将这两个函数组合成由数据类型为 sym 的符号表达式组成的数组。
sym
h_expr = [f(x); g(x)]
h_expr = (2 x2-x3 x2+2 x)
对 h_expr 进行索引以访问第一个和第二个符号表达式。
h_expr
h_expr(1)
ans = 2 x2-x
h_expr(2)
ans = 3 x2+2 x
自 R2024b 起
创建 2×1 和 2×2 符号矩阵变量来表示矩阵 X 和 A。
2
1
syms X [2 1] matrix syms A [2 2] matrix
创建两个符号矩阵函数来表示函数 F(X,A) 和 ∂F(X,A)/∂XT。创建符号矩阵函数时,在工作区中保留符号矩阵变量 X 和 A 的现有定义。符号矩阵函数需要大小与 X 和 A 相同的矩阵作为其输入参量。
syms F(X,A) [1 1] matrix keepargs syms dF(X,A) [2 1] matrix keepargs
定义函数 F(X,A)=XT A X 并求其导数 ∂F(X,A)/∂XT。所得到的符号矩阵函数用 X 和 A 的矩阵表示法表示。
F(X,A) = X.'*A*X
F(X, A) = XT A X
dF(X,A) = diff(F,X.')
dF(X, A) = A X+AT X
将符号矩阵函数的数据类型从 symfunmatrix 转换为 symfun。所得到的符号函数用 X 和 A 的矩阵元素的标量表示法表示。这些函数接受变量作为其输入参量。
Fsymfun = symfun(F)
Fsymfun(X1, X2, A1_1, A1_2, A2_1, A2_2) = X1 A1,1 X1+A1,2 X2+X2 A2,1 X1+A2,2 X2
dFsymfun = symfun(dF)
dFsymfun(X1, X2, A1_1, A1_2, A2_1, A2_2) = (2 A1,1 X1+A1,2 X2+A2,1 X2A1,2 X1+A2,1 X1+2 A2,2 X2)
(2 A1,1 X1+A1,2 X2+A2,1 X2A1,2 X1+A2,1 X1+2 A2,2 X2)
函数体,指定为符号表达式、符号表达式向量或可转换为由 sym 数据类型的符号表达式组成的矩阵。
示例: x + y
x + y
输入参量或函数的参量,分别指定为符号变量或由符号变量组成的数组。
示例: [x,y]
[x,y]
数据类型: sym
要转换的符号矩阵函数,指定为符号矩阵函数。
或者,您可以使用 symfunmatrix2symfun 将符号矩阵函数转换为符号函数。
symfunmatrix2symfun
数据类型: symfunmatrix
符号函数,以 symfun 对象形式返回。
虽然函数 f 的数据类型为 symfun,但计算函数(例如 f(1,2))的数据类型为 sym。
全部展开
您可以使用 symfun 将 symfunmatrix 类型的符号矩阵函数转换为 symfun 类型的符号函数。有关示例,请参阅将符号矩阵函数转换为符号函数。
argnames | formula | matlabFunction | sym | syms | symvar
matlabFunction
symvar
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
欧洲
亚太
联系您当地的办事处