MATLAB复合函数的运算:compose函数
在科学计算中,经常要遇到求解复合函数的情况,如函数z=f(y),而该函数的自变量y又是另外一个函数,y=g(x),也就是z=f(g(x),此时,求z对x的函数的过程就是求解复合函数的过程。
在MATLAB语言中,提供了专门用于进行复合函数运算的函数compose。它的使用方法如下所示。
·compose(f,g)命令返回当z=f(y)和y=g(x)时的复合函数z=f(g(x))。这里x是为findsym定义的f的符号变量,y是为findsym定义的g的符号变量。
·compose(f,g,z)命令返回当z=f(y)和y=g(x)时的复合函数z=f(g(x)),返回的函数以z为自变量。这里x是为findsym定义的f的符号变量,y是为findsym定义的g的符号变量。
·compose(f,g,x,z)命令返回复合函数f(g(z)),这里x是函数f的独立的变量。也就是说,例如若f=cos(x/t),那么compose(f,g,x,z)命令将返回cos(g(x)/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/s)/t)。
例题 复合函数运算
>> syms x y z t u
>> f=1/(x^2-1)
f =
1/(x^2 - 1)
>> g=sin(y)
g =
sin(y)
>> h=x^t
h =
x^t
>> p=exp(y/u)
p =
exp(y/u)
>> compose(f,g)
ans =
1/(sin(y)^2 - 1)
>> compose(f,g,t)
ans =
1/(sin(t)^2 - 1)
>> compose(h,g,t,z)
ans =
x^sin(z)
>> compose(h,p,x,y,z)
ans =
exp(z/u)^t
>> compose(h,p,t,u,z)
ans =
x^exp(y/z)