使用Matlab转换高阶方程自变量和因变量

如 y=f(x) 方程使用Matlab转换成 x=f(y) 的形式

如  y=2.34x^3+5.6x^2+7x

1、声明变量 x,y

>> syms x y; %声明变量

2、列方程

>>  f1=sym('y=2.34*x^3+5.6*x^2+7*x')

f1 =
 
y == 2.34*x^3 + 5.6*x^2 + 7*x

3、转换

>> solve(f1,x)
 
ans =
 
 root(1.0*z^3 + 2.3931623931623931623931623931624*z^2 + 2.991452991452991452991452991453*z - 0.42735042735042735042735042735043*y, z, 1)
 root(1.0*z^3 + 2.3931623931623931623931623931624*z^2 + 2.991452991452991452991452991453*z - 0.42735042735042735042735042735043*y, z, 2)
 root(1.0*z^3 + 2.3931623931623931623931623931624*z^2 + 2.991452991452991452991452991453*z - 0.42735042735042735042735042735043*y, z, 3)

结果为root()根的多项式函数

求出最后结果

>> s=vpa(ans)
 
s =
 
                                                                                     (0.21367521367521367521367521367521*y + ((0.21367521367521367521367521367521*y + 0.68553574612778677680748280824579)^2 + 0.046964812965388518487318597591259)^(1/2) + 0.68553574612778677680748280824579)^(1/3) - 0.36079252603469127685651902176119/(0.21367521367521367521367521367521*y + ((0.21367521367521367521367521367521*y + 0.68553574612778677680748280824579)^2 + 0.046964812965388518487318597591259)^(1/2) + 0.68553574612778677680748280824579)^(1/3) - 0.7977207977207977207977207977208
 (0.18039626301734563842825951088059 - 0.31245549304160110590537004521041i)/(0.21367521367521367521367521367521*y + ((0.21367521367521367521367521367521*y + 0.68553574612778677680748280824579)^2 + 0.046964812965388518487318597591259)^(1/2) + 0.68553574612778677680748280824579)^(1/3) - (0.21367521367521367521367521367521*y + ((0.21367521367521367521367521367521*y + 0.68553574612778677680748280824579)^2 + 0.046964812965388518487318597591259)^(1/2) + 0.68553574612778677680748280824579)^(1/3)*(0.5 + 0.86602540378443864676372317075294i) - 0.7977207977207977207977207977208
 (0.18039626301734563842825951088059 + 0.31245549304160110590537004521041i)/(0.21367521367521367521367521367521*y + ((0.21367521367521367521367521367521*y + 0.68553574612778677680748280824579)^2 + 0.046964812965388518487318597591259)^(1/2) + 0.68553574612778677680748280824579)^(1/3) - (0.21367521367521367521367521367521*y + ((0.21367521367521367521367521367521*y + 0.68553574612778677680748280824579)^2 + 0.046964812965388518487318597591259)^(1/2) + 0.68553574612778677680748280824579)^(1/3)*(0.5 - 0.86602540378443864676372317075294i) - 0.7977207977207977207977207977208
 

猜你喜欢

转载自blog.csdn.net/kenjianqi1647/article/details/82668039