自建公式,VBA在Excel中求解二元一次方程式组

本文介绍如何使用VBA在Excel中自建公式求解二元一次方程组,通过查找未知数、计算常数和系数,实现快速求解。详细步骤包括确定未知数、去除方程中的未知数、计算常数和系数,以及求解过程。
摘要由CSDN通过智能技术生成

自建公式,VBA在Excel中求解二元一次方程式组(WX公众号:Excel潘谆白说VBA)


前言

中学必学内容:二元一次方程组。
只要将方程组分别输入到Excel工作表两个单元格内,VBA代码可以快速识别方程未知数,求得未知数系数和常数值,使用自建公式,一拖一拉,快速求解二元一次方程。


一、运行效果图

示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。

二、操作思路

1、查找方程中未知数,未知数可以是”A-Z”和”a-z”遍历方程字符串,凡为以上字母,均将替换;
2、编制去除方程式中未知数的方法,若未知数前为数值,即系数不为1(如:5x+3y=10),直接将未知数替换成“0”; 若未知数前无数值,即系数为1(如:x+3y=10,x前无数值),将未知数替换为“10”,否则结果不正确。
3、计算常数,将上述查询到的未知数替换成“0”或“10”,将方程“=”两边分成两个数组,左边数组数值计算得数后*(-1)后与右数数组数值相加;
4、计算未知数系数,将上述查询到的未知数替换成“1”或“11”,将方程“=”两边分成两个数组,右边数组数值计算得数后*(-1)后与左数数组数值相加,再加上3中得出的常数值,即为未知数系数。
5、确定两个方程组中的未知数,将两个未知数分别对应。便于消除其中一个未知数求解另一个未知数,并将求解的一个未知数的值代入方程式,求解第一个未知数的值。
6、根据已常数除以未知数系数,分别求解两个未知数。
优点:未知数可以是26个字母大小写,适用于大多数方程式。相较于简单的一元一次方程式,二元一次方程式利用公式求解更实用。
缺点:常数只能是数值,不能是字母;字母区分大小写,稍不注意易出错,有需求的童鞋可以加入字母大小写转化代码,减少错误;可能是系统问题,计算的结果若在(-1,1)之间,不显示0。如上述运行效果截图,计算结果为-0.9,只显示-.9,暂时未找到原因。

三、代码

1.确定未知数

Function FindXY(str As String, X As String, Y As String)
  Dim c As String
  Dim i As Integer
  For i = 1 To Len(str)
   c = Mid(str, i, 1)
   If (c >= "A" And c <= "Z") Or (c >= "a" And c <= "z") And X = "" Then   '确定第一个未知数
     X = c
   ElseIf (c >= "A" And c <= "Z") Or (c >= "a" And c <= "z") And X <> "" And c <> X Then  '确定第二个未知数
     Y = c
   End If
  Next
End Function

2.去除方程中未知数,将未知数转为“ * 0”或“1 * 0”

Function 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值