自定义解多元多次方程(变量参数名称及数量不限,方程数量不限)模块,计算公式模块,常用的形状体积、面积计算模块

最近根据PYTHON可以支持变量名可以动态的指定,结合PYTHON 的sympy符号计算库,编写了这个可以计算求解任何方程的模块函数,用法详示例,没有测试更多的方程组,随手编了两个三元二次方程组(三个未知量,三个方程,最高幂2),均得到了正确的解。

测试用主窗体的代码如下:

#文件模块名称:mathEx_Text.py
#用于测试数学计算模块mathEx.py的PYQT窗体
import os,sys       #导入系统模块
import time
import math
import copy 
import random
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import *
from PyQt5 import QtCore
from PyQt5.QtGui import QMovie
from PyQt5.QtCore import QByteArray

from mathEx   import *                #导入自定义的要测试的mathEx.py模块
##################################################################
#测试数学计算类的主窗体
class MyWidget(QMainWindow):
    def __init__(self):
        super().__init__()
        self.setWindowTitle('测试mathEx类:扩展数学计算库')
        self.setGeometry(0, 0, 1600, 600)
        self.statusbar = self.statusBar()
        self.statusbar.showMessage('准备')
        self.setStatusTip('准备...')  
        self.qimage = QImage('1.jpg')   #底图
        self.initUI()
    def initUI(self):
       
        self.btn_Test1=QPushButton('1测试代码1',self)
        self.btn_Test1.setGeometry(1450,50,150,50)
        self.btn_Test1.clicked.connect(self.test1)
        self.btn_Test2=QPushButton('2测试代码',self)
        self.btn_Test2.setGeometry(1450,150,150,50)
        self.btn_Test2.clicked.connect(self.test2)
        self.btn_Test3=QPushButton('3测试代码',self)
        self.btn_Test3.setGeometry(1450,250,150,50)
        self.btn_Test3.clicked.connect(self.test3)

        self.Lab01=QLabel(self)
        self.Lab01.setGeometry(50,50,200,200)
        self.Lab01.setText('测试标签1')
        #self.Lab01.raise_()

        self.Lab02=QLabel(self)
        self.Lab02.setGeometry(50,300,200,200)
        self.Lab02.setText('测试标签2')

########################################################################################
    def test1(self):   
        m=mathEx()
        countxt='1+2*sin(sqrt(30*pi/180))'
        value=m.countText(countxt)
        print(f'计算公式的值{countxt}={value}')   


    def test2(self):   
        m=mathEx()
        vars1='x,y,z'                            #此字符串中的变量名称数量及形式要出下面的方程中保持一致
        lsteqs1=['x**2+y**2-z**2',              #方程1:此方程中的变量名称要同vars相一致:本例用的股定律,勾3股4弦5,计划x=3,y=4,c=5看还有其也解没有
              'x+y+z-12',                       #方程2:此方程中的变量名称要同vars相一致
              'cos(atan(x/y))-4/5'              #方程3:此方程中的变量名称要同vars相一致
              #'方程n..........'                #.方程n.......此方程中的变量名称要同vars相一致,没测试过最大支持的变更和方程数及计算用时,和是否存在BUG
              ]
        vars2='AB,B,C'                              #此字符串中的变量名称数量及形式(可为多字符)要出下面的方程中保持一致
        lsteqs2=['2*AB**2+3*B**2-15*AB-653',        #方程1:此方程中的变量名称要同vars相一致
              '5*AB**2+4*B**2-15*B-826.25',         #方程2:此方程中的变量名称要同vars相一致
              '2*AB + 3*B + C - 54'                 #方程3
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mr_LuoWei2009

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值