指点成金-最美分享吧

登录

用Matlab怎么求反函数

佚名 举报

篇首语:本文由小编为大家整理,主要介绍了用Matlab怎么求反函数相关的知识,希望对你有一定的参考价值。

用Matlab怎么求反函数

1、我们首先需要知道在matlab中求反函数用到的是finverse函数,在命令行窗口中输入“help finverse”,可以看到函数的使用方法。

2、g=finverse(f)格式,f符号函数表达式,变量x,求得的反函数g是满足g(f(x))=x的函数,输入如图代码。

3、按回车键之后,可以看到求得的反函数g是asin(2/x)。

4、g=finverse(f,v)格式,求得的反函数g是满足g(f(v))=v的符号函数,输入如图代码。

5、按回车键,求得的反函数是(x - 1)^(1/2)。

参考技术A

反函数:函数y=f(x),定义域为D,值域为W。如果对于任意的y,都有唯一确定的x,使得f(x)=y,则得到以y为自变量,x为因变量(函数值)的新函数,该新函数叫做y=f(x)的反函数,记作x=f-1(y),定义域为W,值域为D。

MATLAB中的函数finverse可以用来求解函数的反函数,下面将具体介绍:

1、求解下图两个函数f(x)和g(x)的反函数。


2、先利用syms定义符号变量和上图中的两个函数f(x)和g(x)。在命令行窗口输入如下代码:

syms x

f=exp(x)+1, g=sin(x+1)

回车返回如下结果:

f =

exp(x) + 1 

g =

sin(x + 1)

这样就定义好了函数f(x)和g(x)。

3、利用finverse求解函数f(x)和g(x)的反函数。在命令行窗口紧接着输入如下代码:

f1=finverse(f,x), g1=finverse(g,x)

回车返回如下结果:

f1 =

log(x - 1)

g1 =

asin(x) - 1

这样就得到了f(x)和g(x)的反函数,f1=log(x - 1),g2=asin(x) - 1。

在MATLAB中,用log(x)表示ln(x),用asin(x)表示arcsin(x)。

4、还可以利用内联函数(inline)定义f(x)和g(x),然后再求解它们的反函数。使用clear all; clc清空工作区和命令行窗口,在命令行窗口输入如下代码:

syms x

f=inline("exp(x)+1"), g=inline("sin(x+1)")

回车返回如下结果:

f =

内联函数:

f(x) = exp(x)+1

g =

内联函数:

g(x) = sin(x+1)

5、在命令行窗口紧接着输入如下代码:

f1=finverse(f(x),x), g1=finverse(g(x),x)

回车返回如下结果:

f1 =

log(x - 1)

g1 =

asin(x) - 1

求得的反函数与第三步一样。需要注意:finverse( )中写得是f(x), g(x),而不是f,g,这与第三步不同。

参考技术B 1、g=finverse(f):返回符号函数f的反函数g。其中,f是一个符号函数表达式,其变量为x。求得的反函数g是一个满足g(f(x))=x的符号函数。

>> syms x;
>> f=sym(2/sin(x));
>> finverse(f)

ans =

asin(2/x)

2、g=finverse(f,v):返回自变量v的符号函数f的反函数。求得的反函数g是一个满足g(f(v))=v的符号函数。当f包含不止一个符号变量时,往往调用这个格式。

当finverse求得的解不惟一时,matlab会给出警告。

>> syms x;
>> f=sym(x^2+1);
>> finverse(f)
Warning: finverse(x^2+1) is not unique.
> In C:\MATLAB6p5\toolbox\symbolic\@sym\finverse.m at line 43

ans =

(-1+x)^(1/2)

参考资料:http://hi.baidu.com/zejing/blog/item/5dd0e813a2857c015baf5371.html

本回答被提问者采纳

以上是关于用Matlab怎么求反函数的主要内容,如果未能解决你的问题,请参考以下文章