用VB编写二元一次方程的求解程序,能够判断方程是否有根,如果没有则给出相应的提示信息

用VB编写二元一次方程的求解程序,能够判断方程是否有根,如果没有则给出相应的提示信息,第1张

'二元一次方程无解的情况比较多'在窗体内放入一个command控件,将本代码复制到代码框内即可

Dim a, b, c, d, e, f As String

Dim X, Y As Double

Private Sub Command1_Click()

a = Val(InputBox("请输入第一个方程x的系数a1(缺省用0代替):"))

b = Val(InputBox("请输入第一个方程y的系数b1(缺省用0代替):"))

c = Val(InputBox("请输入第一个方程常数项c1(缺省用0代替):"))

d = Val(InputBox("请输入第二个方程x的亏轮系销弊信数a2(缺省用0代替):"))

e = Val(InputBox("请输入第二个方程y的系数b2(缺省用0代替):"))

f = Val(InputBox("请输入第二个方程常数项c2(缺省用0代替):"))

If a = d And b = e And c <>f Then

MsgBox "原方程组无解"

ElseIf a = 0 And b = 0 And c <>0 And d <>0 And e <>0 And f <>0 Then

MsgBox "原方程组无解"

ElseIf a <>0 And b <>0 And c <>0 And d = 0 And e = 0 And f <>0 Then

MsgBox "原方程组无解"

ElseIf (a / d) = (b / e) Then

MsgBox "原方程组无解"

ElseIf a = d And b = e And c = f Then

MsgBox "原方程组无解"

ElseIf a = 0 And b = 0 And c = 0 And d <>0 And e <>0 And f <>0 Then

MsgBox "原方程组无解"

ElseIf a <>0 And b <>0 And c <>0 And d = 0 And e = 0 And f = 0 Then

MsgBox "原方程组无解"

ElseIf a = 0 And b <>0 And c <>0 And d = 0 And e <>0 And f <>0 Then

MsgBox "原方程组无解"

ElseIf a <>0 And b = 0 And c <>0 And d <>0 And e = 0 And f <>0 Then

MsgBox "原方卜山程组无解"

Else

X = (c * e - b * f) / (a * e - b * d)

Y = (c * d - a * f) / (b * d - a * e)

MsgBox "原方程组的解为:X=" &X &",Y=" &Y &"."

End If

End Sub

Private Sub Command1_Click()

Dim a#, b#, c#, d#, x1#, x2#

a = Val(InputBox("a=", "数据输入框", 1))

b = Val(InputBox("b=", "数据输入框", 2))

c = Val(InputBox("c=", "数据输入框", 1))

If a = 0 Then

If b = 0 Then

If c = 0 Then Print "解得:x有无穷解" Else Print "x无解"

Else

Print "解得:x=" &-c /历此 b

End If

Else

d = b * b - 4 * a * c

If d >0 Then

x1 = (-b + Sqr(d)) / (2 * a)

x2 = (-b - Sqr(d)) / (2 * a)

Print "解得数烂罩:x1=" &x1,

Print "x2=" &x2

Else

x1 = -b / (2 * a)

If d = 0 Then Print "解得:x="薯闹 &x1

If d <0 Then

Print "无实根"

End If

End If

End If

End Sub

第一种方法:利用dsolve函数求微分方程的符号解(通解):对于一些不是很难,要求出通解的微分方程,用dsolve函数求解。

1、 打开Matlab软件-->点击新建脚本菜单,新建一个脚本文件用于编写微分方程求解程序。

2、  输入微分方程求解程序-->点击保存-->点击运行。银指

3、在matlab的命令窗口即可看到求解结果,是一个关于参数a,b的表达式

第二种方法:利用Matlab中的solver函数(包括ode45、ode23、ode15s等)来求解微分方程的数值解,这种方拦尘法是最常用的方法,对于dsolve函数难以求解的方程就可以利用这种方法求解方程的数值解。

1、  打开Matlab-->新建一个脚本文件用于编写求解程序。

2、 在脚本文件中输入求解程序-->点击保存简搏禅-->点击运行。

3、 这里需要先编写一个函数文件用于表示方程-->点击保存-->编写求解程序-->点击保存-->点击运行。

4、在figure页面就可以看到所求解的微分方程的图形。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12559479.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存