Matlab解方程返回empty sym: 0-by-1的解决方法

empty sym: 0-by-1在matlab中表示方程无解,或者当前版本的matlab无法解出此方程,需要人工化简方程的形式,下面给出一种化简方法。

在这里插入图片描述

在解该方程组时,matlab无法给出正确解,化简方法为用第一个方程先解出v3

VS = solve((v3-vin)*(Cc*s*Rz+1)+Rs*(Cc*s*Rz+1)*v3*Cn3*s+Rs*(v3-vout)*Cc*s==0, v3);

注意我们对方程1进行了通分,这样得到的v3的表达式更便于计算机用于利用它求解方程2,且最终解的形式中不存在分子分母中还有分式的情况,便于我们的计算

VS = solve([v3==(vin*(Cc*Rz*s + 1) + Cc*Rs*s*vout)/(Cc*Rs*s + Cc*Rz*s + Cn3*Rs*s*(Cc*Rz*s + 1) + 1), (vout-v3)/(Rz+1/(Cc*s))+gm6*v3+vout/rout+vout*CL*s==0], [vout, v3]);

注意,将待解方程均化简为各项的乘积是有利于方程求解的

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐