syms R1 R2 C1 C2;
eqns =[R1/(50*pi*C1*R1+1 )-R1/(10*pi*C1*R1+1)+R2/(50*pi*C2*R2+1)-R2/(10*pi*C2*R2+1) == -3.994933399101286e-06,
R1/(100*pi*C1*R1+1)-R1/(10*pi*C1*R1+1)+R2/(100*pi*C2*R2+1)-R2/(10*pi*C2*R2+1) == -8.684603855561163e-06,
R1/(200*pi*C1*R1+1)-R1/(10*pi*C1*R1+1)+R2/(200*pi*C2*R2+1)-R2/(10*pi*C2*R2+1) == -1.107385456040715e-05,
R1/(300*pi*C1*R1+1)-R1/(10*pi*C1*R1+1)+R2/(300*pi*C2*R2+1)-R2/(10*pi*C2*R2+1) == -1.268323914108138e-05];
vars = [R1 R2 C1 C2];
[solR1 solC1 solR2 solC2] = solve(eqns,vars);%此处不加分号可直接输出解析解,与数值解共同显示
solutions = [solR1 solC1 solR2 solC2]; %将各对解析解放到一个矩阵中
fans=vpa(solutions,4) % 将矩阵中的解析解变换成数值解,并保留到小数点后四位该命令主要实现的是四元分数方程组求解出四个未知量,主要用到了两个关键函数:solve函数、vpa函数,关于solve与vpa的使用方法在matlab help中可以具体查询使用。链接如下:
首先定义了四个变量R1 R2 C1 C2;
其次确定四个方程eqns;
然后指定变量的顺序,定义了求解器返回解的顺序。
求解结果如下:
fans =
[2.193e-7, 1.917e-5, -8826.0, 73.0]
[1.917e-5, 2.193e-7, 73.0, -8826.0]
版权声明:本文为weixin_42236365原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。