永发信息网

用matlab求一个反函数

答案:2  悬赏:80  手机版
解决时间 2021-01-16 08:41
  • 提问者网友:辞取
  • 2021-01-15 16:50
用matlab求一个反函数
最佳答案
  • 五星知识达人网友:胯下狙击手
  • 2021-01-15 17:47
z就相当于你原来函数里面的x,而x相当于你原来函数的y。
 
求y=x+(x^2)/(18+6*x-(x^2)-(x^3))的反函数,相当于把上述方程中y当成已知量来求x,那么把方程展开,得到分子是一个关于x的4次多项式:
    >> syms x y
    >> collect(numden(y-x+(x^2)/(18+6*x-(x^2)-(x^3))),x)
    ans =
    -x^4+(y-1)*x^3+(y+5)*x^2+(-6*y+18)*x-18*y

4次代数方程尽管是可以求解的,但根的表达式极其繁琐,所以用RootOf的方式来表示。你可以对照一下,上面求出来的多项式是不是和你贴出来的结果刚好满足上面说的关系?
 
如果想求出反函数的确切表达式,可以用下面的命令:
    simple(solve(numden(y-x+(x^2)/(18+6*x-(x^2)-(x^3))),x))
不妨自己看一下究竟表达式有多繁琐吧。
追问那这两个式子为什么看着是差个负号的关系?我这里没有学好……所以想多问问~还有个问题想问一下你,如果要画出所求的的反函数图象要怎么写哦?我画出来的是条直线,我觉得不太对……追答1、关于差个负号的问题,你可以这样想,f(x)=0-f(x)=0 的根是不是相同的?
2、关于反函数图像,先看一下原函数:
    ezplot('x+(x^2)/(18+6*x-(x^2)-(x^3))')
    hold on
    plot([3 3],ylim,'--m')

 
很容易证明,x=3是原函数的一个间断点,而对于每个y而言,都(至少)会有两个x与之对应。这样,求反函数就需要明确:求哪个范围的反函数?

对于上面所说直接用solve求出来的反函数,可以验证,对任意y,所求出来的4个根,其中总有两个为复数,而另外两个画出来,可以肯定不会是直线。至于你画出来是直线,可能是自变量范围的问题,因为上述函数图像在趋于无穷远时都有渐近线(而且,其实并不需要很大范围就会基本接近直线)。
 
前面已经说过,用solve求出来的结果并不实用,真正实用的,应该是在一定范围内把曲线用简单函数进行拟合,而具体用什么函数怎样拟合,那就要看你希望求反函数的范围来定了。
 
这个回答已被选为推荐答案,我不确定你是否还能继续追问,至少我知道,一旦提交这次补充回答之后,就不能够再修改了。如果还有问题并且能继续追问,可以继续追问,否则请另外提问之后通过私信告诉我吧。
全部回答
  • 1楼网友:夜风逐马
  • 2021-01-15 18:01
求f(x,y)=x³-y³+3x²-9x的极值
解:令∂f/∂x=3x²+6x-9=3(x²+2x-3)=3(x+3)(x-1)=0,得x₁=-3,x₂=1;
再令∂f/∂y=-3y²=0,得y=0;
故得驻点M(-3,0);N(1,0);
A=∂²f/∂x²=6x+6;B=∂²f/∂x∂y=0;C=∂²f/∂y²=0;
对驻点M(-3,0):A=-18+6=-12;B=0;C=0;B²-AC=0,故M是否是极值点,不能确定;
对驻点N(1,0):A=6+6=12;B=0;C=0;B²-AC=0,故N是否是极值点,也不能确定。
令y=0,即用xoz平面去截此曲面,得平面曲线f(x)=x³+3x²-9x,令df/dx=3x²+6x-9=3(x+3)(x-1)=0
故在此截面内有极大点x=-3,极小点x=1;再用x=-3的平面去截此曲面,得f(-3,y)=27-y³,这是
一个关于y的奇函数,y=0不是极值点;∴M不是极值点。再用x=1的平面去截此曲面,得f(1,y)
=-5-y³,这也是关于y的奇函数,y=0也不是极值点;结论:原函数f(x,y)没有极值。追问你这是求得啥?追答你笨啊~慢慢看啊~
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯