作者zupo (外派越南工作者)
标题Re: [问题]请问如何转换二元多次式如y=f(x)变x=f(y)
时间Sun Jan 4 22:33:43 2015
※ 引述《qweeqwee (安安)》之铭言:
: 不好意思麻烦了!!
: 如题,小弟最近在做方程式的转换,
: 要把
: y = 8.4626*(10.^-10)*(x.^4)-3.4021*(10.^-7)*(x.^3)
: +4.5715*(10.^-5)*(x.^2)-0.00163*(x)+0.0203
: 这个方程式做改变,
: 目的是从输入x值对应到y转换成输入y值对应成x
: y = f(x) =====> x = f(y);
: 遇到的困难点是如果输入指令solve('y=一长串','x')
: 就会出现error,测试後顶多只能解2次方的函数,
: 不知道该怎麽办,这问题已经困扰第五天了....
: 网路上也找不到function或是做法,
: 麻烦各位高手教导小弟该如何解!
: 谢谢各位!!
y = f(x) =====> x = f(y)
其实是反函数的定义
f^(-1)(f(x)) = x ===> f^(-1)(y) = x
这个题目没有想像中简单,求出来的解我也有点看不大懂
------------------------------------------------------------
>> syms x
>> f(x) = 8.4626*(10.^-10)*(x.^4)-3.4021*(10.^-7)*(x.^3) +
4.5715*(10.^-5)*(x.^2)-0.00163*(x)+0.0203;
>> g = finverse(f)
g(x) =
RootOf(z^4 - (3290309224728743936*z^3)/8184524512856609 +
(442128350749462167552*z^2)/8184524512856609 -
(49263727149296138869276672*z)/25576639102676903125 -
(9671406556917033397649408*x)/8184524512856609 +
122705970690884861232676864/5115327820535380625, z)
-------------------------------------------------------------
以上供您参考
--
1.MATLAB programming 2.ASPEN process simulation package
3.FORTRN programming 4.Advance Engineering Mathematics
5.Process Control Theory
6.Chemical Engineering Basic Theory(Kinetic.thermodynamics.transport)
7.Numerical Method and Analysis
8.MATLAB Toolbox.Simulink system basic design
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 113.175.144.126
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/MATLAB/M.1420382028.A.590.html
1F:推 qweeqwee: 感谢z大您的解惑,我之前有试过finverse,但出现ERROR, 01/05 20:13
2F:→ qweeqwee: 原来是我没定义x 才出现问题,那还有个问题想请教您, 01/05 20:14
3F:→ qweeqwee: 可以把sym x 的范围设定在0~100之类的值吗? 01/05 20:15