用matlab求一个反函数
最佳回答
最新回答共有2条回答
-
2026-04-06 18:37:10无情的灯泡
回复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*y4次代数方程尽管是可以求解的,但根的表达式极其繁琐,所以用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求出来的结果并不实用,真正实用的,应该是在一定范围内把曲线用简单函数进行拟合,而具体用什么函数怎样拟合,那就要看你希望求反函数的范围来定了。 这个回答已被选为推荐答案,我不确定你是否还能继续追问,至少我知道,一旦提交这次补充回答之后,就不能够再修改了。如果还有问题并且能继续追问,可以继续追问,否则请另外提问之后通过私信告诉我吧。
热门文章
- 康达学院专转本五年制
- 高考一个考场分ab卷吗
- not only but also用法
- 某物体做自由落体运动,从释放开始计时,则物体在前2s内的平均速度为______m/s,物体下落2m时的速度大小为______m/s.
- 三角函数公式大全表格
- 地理中考必背知识点2022
- 2013-2014学年小学六年级科学上学期期末考试试卷及答案
- 人教版2014-2015学年小学五年级英语第二学期期中教学质量检测试卷及答案
- 【Linux驱动开发】设备树详解(二)设备树语法详解
- 别跟客户扯细节
- 在别的城市买房子能落户吗
- 卖房前要把装修贷还完吗
- 高中政治教学提高教学效果的方法探究
- “互联网+”背景下的初中英语课堂教学改革与创新策略研究
- 2022年终止合同范本
- 租房合同范本范文
- 如何挑选土豆
- 如何挑选土鸡
