使用python撰写电路计算书
1、效果预览
下图是效果预览,可以写公式,画图,带单位计算
我们通常写计算书,使用mathcad或者maple等商业软件,但是个人使用可能还行,在很多公司是不允许使用破解版的。这时候我们有另外一个选择,就是使用python来做。我将进行详细讲解。
2 软件安装
2.1 python安装
(1)在python的官网下载python安装包,建议安装最新版本
python官网
(2)配置环境变量
1、python.exe所在的文件夹加入path系统环境变量;
2、pip.exe所在的文件夹加入path系统环境变量;
(3)打开cmd,输入命令,更改pip源,如下设置为清华源,不设置的话,pip软件或者库下载速度非常慢
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
pip更新到最新(如果python安装包为最新,通常pip源会默认安装为最新),使用10.0版本安装jupyter notebook时提示错误Microsoft Visual C++ 14.0 or greater is required
Microsoft Visual C++ 14.0 or greater is required. Get it with “Microsoft C++ Build Tools”: https://visualstudio.microsoft.com/visual-cpp-build-tools/
在cmd中查看python和pip的版本,
C:\Users\Administrator>pip -V
pip 20.1.1 from c:\users\administrator\appdata\local\programs\python\python37\lib\site-packages\pip (python 3.7)C:\Users\Administrator>python
Python 3.7.8rc1 (tags/v3.7.8rc1:5f3933d61d, Jun 17 2020, 16:59:29) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
2.2 安装计算书撰写软件jupyter notebook以及python相关库
(1)安装jupyter notebook,这是编辑器,在cmd里边输入命令
pip install jupyter notebook
(2)安装库handcalcs,这个最关键的数学公式渲染库
pip install handcalcs
(3)安装单位库forallpeople
pip install forallpeople
(4) 安装画图库matplot
pip install matplot
(5)安装数学库 numpy
pip install numpy
3. 软件使用
3.1 打开编辑器
在cmd里边输入 jupyter notebook,将会打开一个网页端
C:\Users\Administrator>jupyter notebook
打开的浏览器中,新建一个文件,就可以编写计算书了,此编辑器支持python代码,支持markdown文本,使用H,可以调出快捷键,使用ctrl+P,可以选择打印成PDF
3.2 计算书源文件
# 电路计算书
import handcalcs.render #公式显示工具
from math import sqrt, sin, pi #导入sin和pi
import forallpeople as si #引入单位支持库,并简称
si.environment('default') #设置单位为默认
import matplotlib.pyplot as plt #导入画图库
import numpy as np #导入数学库
# 1 输入条件
## 1.1 输入参数
%%render 2 #精度取2位
#Parameters#输入电压
U_input = 380*si.V#输入电流
I_input = 30*si.A#交流输入电阻
R_input = 7.8*si.Ohm
**三相输入波形**
plt.title("input voltage VS time") #图表标题
plt.xlabel("time(s)") #x轴标题
plt.ylabel("Voltage(V)") #Y轴标题
x = np.linspace(0, 4*pi, 1300) #设置X轴的范围
plt.xlim(0, 4*pi) #设置X轴坐标范围
plt.ylim(-600, 600); #设置Y轴坐标范围
my_x_ticks = np.arange(0, 4*pi, pi/2) #设置X轴的刻度
plt.xticks(my_x_ticks) #设置X轴的刻度phaseA, = plt.plot(x, 537*np.sin(x), color='blue') # 通过颜色名称指定
phaseB, = plt.plot(x, 537*np.sin(x + 2*pi/3), color='g') # 通过颜色简写名称指定(rgbcmyk)
phaseC, = plt.plot(x, 537*np.sin(x + 4*pi/3), color='0.75') # 介于0-1之间的灰阶值
plt.legend(handles=[phaseA,phaseB,phaseC],labels=["phase A","phase B","phase C"],loc="upper right",fontsize=6) #设置图例
## 1.2 输出参数
%%render symbol #只显示符号,不计算结果
alpha = pi/2 #最大相位角
%%render 2
#输入电压峰值
ans = sqrt(2)*sin(alpha)*U_input
# 2 计算结果
%%render #竖向显示,精度默认
#long
#输入功率
P_input = sqrt(3)*I_input*U_input
%%render 4 #横向显示,精度取4位
#short
#电压源电阻功耗计算
P_input_r = pow(U_input,2)/R_input
%%render 2
#long
#电流源电阻阻功耗计算
P_input_r = I_input**2*R_input
**提示:使用Ctrl+P进行打印转为PDF,按H显示快捷键**
搜索handcalcs forallpeople等库,可探索更加详细的使用方法