MATLAB符号函数的反函数运算
反函数运算是符号运算的重要组成部分,在MATLAB语言中,使用finverse函数来实现对符号函数的反函数运算。其使用格式如下。
·g=finverse(f)命令用于求函数f的反函数,其中f为一个符号表达式,x为单变量,函数g也是一个符号函数,且满足g(f(x))=x。
·g=finverse(f,v)命令所返回的符号函数表达式的自变量是v,这里v是一个符号变量,且是表达式的向量变量。而g的表达式要求满足g(f(x))=v。当f包括不止一个变量时最好使用该命令。
例题 符号函数的反函数运算
>> f=x^2-y
f =
x^2 - y
>> finverse(f)
Warning: Functional inverse is not unique.
> In D:\Program Files\MATLAB\R2011b\toolbox\symbolic\symbolic\symengine. p>symengine at 54
In sym.finverse at 41
ans =
(x + y)^(1/2)
此时,由于用户没有指明自变量,MATLAB语言将给出警告信息,并且以x为默认变量给出结果,例如下面的程序:
>> syms x
>> f=x^2
f =
x^2
>> g=finverse(f)
Warning: Functional inverse is not unique.
> In D:\Program Files\MATLAB\R2011b\toolbox\symbolic\symbolic\symengine. p>symengine at 54
In sym.finverse at 41
g =
x^(1/2)
可见,由于函数f =x2的反函数不唯一,MATLAB语言将给出警告信息,并且以x默认为正值给出反函数。
我们可以验证finverse函数的正确性,及验算g(f(x))是否等于x,程序如下:
>> fg=simple(compose(g,f))
fg =
(x^2)^(1/2)