用Matlab怎么求反函数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用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,这与第三步不同。
>> 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怎么求反函数的主要内容,如果未能解决你的问题,请参考以下文章