在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 1727|回复: 1

这个符号方程组为何是“NaN"?

[复制链接]
发表于 2020-6-19 10:55:27 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
各位,帮忙找错误啊,下面的这个符号方程组为何不对?
clc;
clear;
syms Vin Ve Vg Vout Vfb Vx Vf
syms Gme Gm1 Gmp Gmf1 Gmf2
syms Re R1 Rout Rf1 Rf2 Rf R2
syms Ce Cg Cgd Cout Cf2 Cf C2
syms s

eq1=Gme*Vin+Ve/Re+Ve*Ce*s==0;
eq2=Gm1*Ve+(Vout-Vg)*Cgd*s-(Gmf2*Vf+Vg/R1+Vg*Cg*s)==0;
eq3=(Vout-Vg)*Cgd*s+Gmp*Vg+Vout/Rout+Vout*Cout*s+(Vout-Vx)*Cf*s+(Vout-Vfb)/Rf1==0;
eq4=(Vout-Vfb)/Rf1-(Vfb/Rf2+Vfb*Cf2*s)==0;
eq5=(Vout-Vx)*Cf*s-((Vx-Vf)/Rf)==0;
eq6=Gmf1*Vx+Vf/R2+Vf*C2*s-((Vx-Vf)/Rf)==0;

%%%%%%%%%%%%%%% post %%%%%%%%%%%%%%%%%%%
TF = solve(eq1,eq2,eq3,eq4,eq5,eq6, Vin, Ve, Vg, Vout, Vfb, Vx, Vf)
z = simplify(TF.Vout/TF.Vin)
以前编了一个方程,用2007版的Matlab可以运行。现在用2018版的Matlab,就把这个程序修改了一下,可是得到如下结果:
TF =

  包含以下字段的 struct:

     Vin: [1×1 sym]
      Ve: [1×1 sym]
      Vg: [1×1 sym]
    Vout: [1×1 sym]
     Vfb: [1×1 sym]
      Vx: [1×1 sym]
      Vf: [1×1 sym]


z =

NaN

麻烦大家帮我看一下,这个程序哪里出毛病了?


 楼主| 发表于 2020-7-3 17:56:37 | 显示全部楼层
自己又搞了一下,发现问题出在solve函数上。
用2007版的matlab时,solve函数中方程的个数与变量的个数不必相等,但2018版的solve函数中方程的个数需要和变量的个数相同,比如上面程序中:
TF = solve(eq1,eq2,eq3,eq4,eq5,eq6, Vin, Ve, Vg, Vout, Vfb, Vx, Vf)
solve函数中方程的个数时6个,但变量时7个。这在2007版的matlab中是可以的,但使用2018版matlab的solve函数时应这样写:
TF = solve(eq1,eq2,eq3,eq4,eq5,eq6, Vin, Ve, Vg, Vout, Vfb, Vx)
即方程的个数有6个,即eq1,eq2,eq3,eq4,eq5,eq6;同时变量的个数也是6个,即Vin, Ve, Vg, Vout, Vfb, Vx
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-4-25 21:11 , Processed in 0.015153 second(s), 6 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表