m0_57554981 2022-04-04 20:13 采纳率: 71.4%
浏览 624
已结题

matlab结果显示为表达式,为何不能计算结果

%想应用matlab求出x2的值,再通过x2与x1,x3,x4,x5的关系式,
求出x1,x3,x4,x5的值,但是matlab输出结果只有x2的值,
x1,x3,x4,x5都是表达式呈现的,没有数值结果。
大致程序如下,请求大家指点


syms x1 x2 x3 x4 x5
F=0.5;
B=30;
f1=(x2/(2+x2))*(1-x2)*(1-((-5+F+120*(x2/(x2+12)))*((F*(B-x2))/(F/0.2+20))/F/200))*(1-(2+F/0.02+50*(0.6/(F*x2))));
solution=vpasolve(f1,x2,[0,3000])
x1=(F*(B-x2))/(123+F+50*x2);
x3=(10+F+5*x2)*((F*(B-x2))/(F+5*x2)); 
x4=(-5+F*4+5*(x2/(5*x2+5)))*((4+F/0.1+20*(x2/(x2+10)))); 
x5=(-5+F+(x2/(x2+2)))*(10/F+12/(F*x2))*((F*(B-x2))/(F+(x2/(x2+B))));
p1=[x1,x2,x3,x4,x5]


  • 写回答

2条回答 默认 最新

  • joel_1993 2022-04-04 21:12
    关注

    你好,把solution改成x2就行拉

    syms x2
    F=0.5;
    B=30;
    f1=(x2/(2+x2))*(1-x2)*(1-((-5+F+120*(x2/(x2+12)))*((F*(B-x2))/(F/0.2+20))/F/200))*(1-(2+F/0.02+50*(0.6/(F*x2))));
    x2=vpasolve(f1,x2,[0,3000]);
    x1=(F*(B-x2))./(123+F+50*x2);
    x3=(10+F+5*x2).*((F*(B-x2))./(F+5*x2)); 
    x4=(-5+F*4+5*(x2./(5*x2+5))).*((4+F/0.1+20*(x2./(x2+10)))); 
    x5=(-5+F+(x2./(x2+2))).*(10/F+12./(F*x2)).*((F*(B-x2))./(F+(x2./(x2+B))));
    p1=[x1,x2,x3,x4,x5]
    

    结果:

    p1 =
     
    [                              30/247,   0,                               315,                                -27,                               -Inf]
    [ 0.083573487031700288184438040345821, 1.0, 40.863636363636363636363636363636, -27.045454545454545454545454545455, -4994.4444444444444444444444444444]
    

    可见有5列呢

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 4月5日
  • 已采纳回答 4月5日
  • 修改了问题 4月4日
  • 创建了问题 4月4日

悬赏问题

  • ¥15 fesafe材料库问题
  • ¥35 beats蓝牙耳机怎么查看日志
  • ¥15 Fluent齿轮搅油
  • ¥15 八爪鱼爬数据为什么自己停了
  • ¥15 交替优化波束形成和ris反射角使保密速率最大化
  • ¥15 树莓派与pix飞控通信
  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统