前几天感冒了,天昏地暗实在坚持不住,没有写开发日志,但是每天依然坚持写了几行代码。
主要完成的是将电容IC引入到当前的仿真体系中来。实际上在日志45中已经将它引入进来了,但是那个时候只是“初步引入”,对于它的的电压、电流的计算是错误的,所以这几天主要是将电容的电压、电流都逐步调整正确了。
电压网络的求解其实改动并不大,因为电容本身的阻抗计算与电阻是相似的,所以对于电压网络而言,任何一个电容、就和任何一个电阻没有差别。如果不考虑电容的初始电压,那么电容就是电阻。
电容本身的初始电压是唯一的区别,因而在构建矩阵时将其初始电压也当作一个超级电源考虑就可以了。
如上完成电压网络求解之后,接下来求解电流。
电容器的电流需要用自身的历史电压做“微分”完成计算。而在离散的仿真环境中,这个“微分”是利用“差分”近似代替出来的。在使用差分近似代替微分运算时,有2种常用的替代方法,分别是题型近似法、后向欧拉法。这两种统称为“数值计算”的计算方式,都可以完成电容电流的计算。
两种数值计算方法各有利弊,不同的仿真参数下,两种方案的选择不同。好在它们的实现都很简单,可以全部实现出来,然后选择使用。但是我还没有做梯形近似,只先用后向欧拉法完成了电流的计算。
虽然现在实现的IC还非常少,但是已经可以构建出非常简单、基础的电路了,所以接下来将完成以下功能的开发:1、电流移动动画;2、示波器;3、文件存取;4、物理单刀开关IC。