使用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
 

 

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值