首页 > 编程笔记 > MATLAB笔记 阅读:2

MATLAB compose()函数的用法(附带实例)

设 z 是 y(自变量)的函数 z=f(y),而 y 又是 x(自变量)的函数 y=j(x),则 z 对 x 的函数:z=f(j(x)) 称为 z 对 x 的复合函数。求 z 对 x 的复合函数 z=f(j(x)) 的过程称为复合函数运算。

在 MATLAB 中,利用 compose() 函数可以求复合函数,其调用格式如下:
compose(f,g)               % 返回复合函数 f(g(y)),其中 f=f(x) 且 g=g(y)
                           % 这里,x、y 分别是通过 symvar 定义的 f、g 的符号变量
compose(f,g,z)             % 返回以 z 为自变量的复合函数 f(g(z)),其中 f=f(x) 且 g=g(y)
                           % 且 g(y) 中的自变量 y 换为 z,x、y 分别是通过 symvar 定义的 f 和 g 的符号变量
compose(f,g,x,z)           % 返回 f(g(z)),并将 x 设为 f 的自变量。例如,若 f=cos(x/t)
                           % 则 compose(f,g,x,z) 返回 cos(g(z)/t),compose(f,g,t,z) 返回 cos(x/g(z))
compose(f,g,x,y,z)         % 返回 f(g(z)),并将 x 设为 f 的自变量,将 y 设为 g 的自变量
                           % 例如,若 f=cos(x/t) 且 g=sin(y/u),则 compose(f,g,x,y,z)
                           % 返回 cos(sin(z/u)/t),而 compose(f,g,x,u,z) 返回 cos(sin(y/z)/t)

【实例】 已知 f=ln(x/t) 与 g=u*cos(y),求其复合函数 f(g(x)) 与 f(g(z))。在命令行窗口中输入以下语句,并查看输出结果。
>> syms f g t u x y z
>> f = log(x/t);
>> g = u*cos(y);
>> cfg  = compose(f,g)
cfg =
log((u*cos(y))/t)
>> cfgt = compose(f,g,z)
cfgt =
log((u*cos(z))/t)
>> cfgxz = compose(f,g,x,z)
cfgxz =
log((u*cos(z))/t)
>> cfgtz = compose(f,g,t,z)
cfgtz =
log(x/(u*cos(z)))
>> cfgxyz = compose(f,g,x,y,z)
cfgxyz =
log((u*cos(z))/t)
>> cfgxyz = compose(f,g,t,u,z)
cfgxyz =
log(x/(z*cos(y)))

相关文章