Python的火热程度不仅仅是在程序猿的圈子,但凡是跟计算机、电子沾点边的行业,如果不懂Python总感觉心里不踏实。再加上现在各种工程软件都支持扩展的语言,比如Cadence支持Perl和TCL;Ansys支持VBS和Python,作为一个SI工程师,不学个十八般武艺在身都不好意思出门吹牛皮。所以小编最近也在学习Python,从基础的出发,先了解语法、数据结构和函数等。
之前有文章介绍了无源网络S参数的三个重要特性《核心内参:S参数的三个重要特性——因果性、无源性与互异性》,所以就用Python来实现这个目标先练手。
学习Python最好的教程永远在网页上,哪里不懂搜哪里。基本上你要的搜的问题都会找到答案。小编用的是Microsoft Visual Studio Code编辑环境,里面有Python的运行扩展包,编辑完可以直接F5或Ctrl F5来运行;并且可以在界面看到结果。
Python安装目录里面不包含一些复杂的数学运算和矩阵运算等,因此需要下载一些扩充包,比如numpy。具体如何安装,请参考网页的方法。当我们安装好之后才可以通过Importnumpy导入进来使用。
跟Matlab相比,个人感觉Python有些函数非常方便简洁,只是矩阵和数学运算没有Matlab方便。二者语法也有很大的差异,如果是熟悉Matlab的,刚开始对Python会很不习惯。
1,读取S参数文件,将频率和数据分开为不同的List;
2,通过计算矩阵奇异值判断无源性;
3,通过计算CQM和RQM分别计算因果性和互异性;
4,最终输出检查结果。
注:小编初学Python,并没有到熟练的程度,计算的方法是没有问题的,如果出现因语法或逻辑错误导致的检查结果不正确的,小编对此不负责。