遗忘角落

Matlab 小结

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);  //求分母的根,即系统极点

Leave a Reply

Your email address will not be published. Required fields are marked *