matlab符号计算
1> syms Vs Rs Ub1 Ub2 Ub3 Uo rbe1 Cbe1 rbe2 Cbe2 RL Cc S gm1 gm2; //定义符号变量(常量)
2> eq1 = (Vs-Ub1)/Rs + (Ub3-Ub1)*S*Cc == (Ub1-Ub2)*(1/rbe1+S*Cbe1); eq2 = (Ub1-Ub2)*(1/rbe1+S*Cbe1+gm1) == Ub2*(1/rbe2+S*Cbe2); eq3 = (Ub3-Ub1)*S*Cc + gm1*(Ub1-Ub2) + (Ub3-Uo)*(1/rbe2+S*Cbe2) == 0; eq4 = (Ub3-Uo)*(1/rbe2+S*Cbe2) + gm2*(Ub3-Uo) == Uo/RL + gm2*Ub2; //联立方程组
3>sol = solve(eq1,eq2,eq3,eq4,Ub1,Ub2,Ub3,Uo); //指定Ub1,Ub2,Ub3,Uo为未知量,求解eq1,eq2,eq3,eq4方程组,其中输出量sol为结构体类型
4>pretty(sol.Uo) //让输出结果易于阅读
matlab符号表达式代入(部分)常量求数值解
1> f1 = subs(sol.Uo,[Rs,rbe1,Cbe1,rbe2,Cbe2,gm1,gm2],[8.2e3,1e2,1.59e-9,1,4e-6,1,100]) //代入部分值求数值表达式
2> digits(4) //指定整数小数位数,简化最终表达式
3> f2=vpa(f1) //输出带部分符号变量的简化表达式
matlab分离符号表达式分子分母
1> [n,d] = numden(sol.Vo); //N:numerator 分子;D:denominator分母
2> poles = solve(d == 0,S); //求分母的根,即系统极点