使用python撰写计算书

使用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等库,可探索更加详细的使用方法

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/617940.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

关于Hash表,你不得不知道的知识点

定义: 哈希表是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,也称为hash函数,存放记录的数组叫做散列表。…

如何在huggingface上申请下载使用llama2/3模型

1. 在对应模型的huggingface页面上提交申请 搜索对应的模型型号 登录huggingface,在模型详情页面上,找到这个表单,填写内容,提交申请。需要使用梯子,country填写梯子的位置吧(比如美国) 等待一小时左右…

非接触式IC卡简介

简介:非接触式IC卡又称射频卡,由IC芯片、感应天线组成,封装在一个标准的PVC卡片内,芯片及天线无任何外露部分。是世界上最近几年发展起来的一项新技术,它成功的将射频识别技术和IC卡技术结合起来,结束了无源(卡中无电源)和免接触这一难题,是电…

【Java】入门

笔者是在C语言基础上学习java 安装Java的过程中我们可能会见到这样几个东西,JVM、JRE、JDK,那它们的关系是怎样的呢? -JVM Java Virtual Machine 是Java虚拟机,Java程序需要运行在虚拟机上,不同的平台有自己的虚拟机…

Linux FT260驱动内核学习笔记

目录 1. 安装ft260驱动 2. 编译ft260源码 3. 通过sysfs配置ft260设备 3.1 多功能GPIO配置 3.2 控制GPIO 3.3 配置i2c总线频率 4. UART 5. 使用i2c-tools交互I2C设备 5.1 安装i2c-tools 5.2 探测I2C设备 5.3 读取所有寄存器数据 5.4 读取和写入 5.5 16位地址的读写…

蓝桥杯-线性动态规划问题背包问题进阶策略详解-

题目&#xff1a;蓝桥云课-青蛙吃虫 解题代码&#xff1a; #include <iostream> #include<cstring> #include<algorithm> using namespace std;const int N106;int f[N][N]; int a[N]; int t,l,r,k,n;int main() {cin>>t;while(t--){scanf("%d%…

ASP.NET一种基于C2C模式的网上购物系统的设计与实现

摘 要 网络购物已经慢慢地从一个新鲜的事物逐渐变成日常生活的一部分&#xff0c;以其特殊的优势而逐渐深入人心。本课题是设计开发一种基于C2C模式的网上购物系统。让各用户使用浏览器进行商品浏览。注册用户可以轻松的展示自己的网络商店&#xff0c;能对自己的用户信息进行…

Sping源码(七)—ConfigurationClassPostProcessor ——@PropertySources解析

序言 先来简单回顾一下ConfigurationClassPostProcessor大致的一个处理流程&#xff0c;再来详细的讲解PropertySources注解的处理逻辑。 详细的步骤可参考ConfigurationClassPostProcessor这篇帖子。 流程图 从获取所有BeanDefinition -> 过滤、赋值、遍历 -> 解析 -&…

璞华科技中标苏州工业园区“科技发展公司运营管理系统”升级改造项目

近日&#xff0c;璞华科技中标苏州工业园区科技发展有限公司“科技发展公司运营管理系统”升级改造项目。 苏州工业园区科技发展有限公司成立于2000年&#xff0c;是苏州工业园区管委会直属国有企业&#xff0c;聚焦以人工智能为引领的数字经济产业创新集群&#xff0c;重点布局…

Web自动化 - selenium

文章目录 一、selenium的使用selenium的安装 二、元素1. 定位选择元素1.id 定位2. class_name 定位find_element 和 find_elements的区别3. TAG_NAME 定位4. 超链接 定位 2. 操控元素1. 查询内容2. 获取元素文本内容3. 获取元素属性 3. 浏览器常用操作API4. 鼠标操作 - perform…

17 M-LAG 配置思路

16 华三数据中心最流行的技术 M-LAG-CSDN博客 M-LAG 配置思路 什么是M-LAG&#xff1f;为什么需要M-LAG&#xff1f; - 华为 (huawei.com) 1 配置 M-LAG 的固定的MAC地址 [SW-MLAG]m-lag system-mac 2-2-2 2 配置M-LAG 的系统标识符系统范围1到2 [SW-MLAG]m-lag system-nu…

【算法】动态规划之线性DP问题

前言&#xff1a; 本系列是看的B站董晓老师所讲的知识点做的笔记 董晓算法的个人空间-董晓算法个人主页-哔哩哔哩视频 (bilibili.com) 树塔-记忆化搜索 特点&#xff08;前提&#xff09;&#xff1a;从上向下的累加和是不能重复使用的&#xff0c;从下向上的累加和是可以重…

人民币汇率相关历史数据集(2006-2022年)

01、数据简介 汇率指的是两种货币之间兑换的比率&#xff0c;亦可视为一个国家的货币对另一种货币的价值。具体来说&#xff0c;汇率亦可视为一个国家的两种货币之间所存在的兑换比率&#xff0c;亦可视为一个国家的货币对另一种货币的价值。汇率的变动对一国的进出口贸易有着…

k8s 数据流向 与 核心概念详细介绍

目录 一 k8s 数据流向 1&#xff0c;超级详细版 2&#xff0c;核心主键及含义 3&#xff0c;K8S 创建Pod 流程 4&#xff0c;用户访问流程 二 Kubernetes 核心概念 1&#xff0c;Pod 1.1 Pod 是什么 1.2 pod 与容器的关系 1.3 pod中容器 的通信 2&#xff0c; …

94、动态规划-最长公共子序列

递归的基本思路&#xff1a; 比较两个字符串的最后一个字符。如果相同&#xff0c;则这个字符一定属于最长公共子序列&#xff0c;然后在剩余的字符串上递归求解。如果最后一个字符不相同&#xff0c;则分两种情况递归求解&#xff1a; 去掉 text1 的最后一个字符&#xff0c;保…

中国当代最具影响力的人物颜廷利:死神(死亡)并不可怕,可怕的是…

中国当代最具影响力的人物颜廷利&#xff1a;死神&#xff08;死亡&#xff09;并不可怕&#xff0c;可怕的是… 在中国优秀传统文化之中&#xff0c;汉语‘巳’字与‘四’同音&#xff0c;在阿拉伯数字里面&#xff0c;通常用‘4’来表示&#xff1b; 作为汉语‘九’字&#x…

mysql设置远程访问权限,允许其他IP访问

文章目录 更改mysql配置文件登录mysql 更改mysql配置文件 查找.ini或者.cnf文件 更改bind-address为0.0.0.0 [mysqld] character-set-serverutf8mb4 bind-address0.0.0.0 default-storage-engineINNODB [mysql] default-character-setutf8mb4 [client] default-character-s…

【getopt函数用法】

这里写目录标题 一、概述二、选项字符串规则&#xff1a;三、getopt 返回值四、会用到的全局变量&#xff1a;三、示例代码四、上机实验 一、概述 int getopt(int argc, char * const argv[], const char *optstring); extern char *optarg; //这个最常用&#xff0c;保存一个…

conan2 基础入门(06)-conanfile.py入门

conan2 基础入门(06)-conanfile.py入门 文章目录 conan2 基础入门(06)-conanfile.py入门⭐准备预备文件和Code ⭐使用流程指令 ⭐具体讲解conanfile.pyconan install END视频教学 ⭐准备 注意&#xff0c;如果想跟好的学习conanfile.py建议使用python来安装conan。 当然使用其…

C++之STL-priority_queue和仿函数的讲解

目录 一、priority_queue的介绍和使用 1.1 priority_queue的介绍 1.2 priority_queue的基本接口 二、仿函数的介绍 2.1 基本概念 2.2 适用场景 三、模拟实现priority_queue 3.1 向上调整算法 3.2 向下调整算法 3.3 整体框架 一、priority_queue的介绍和使用 1.1 prio…