vb.net如何解方程 vb怎么解方程

用VB如何解方程式你这个方程至少应该整理成ax+b=cvb.net如何解方程的形式吧
你这个是一元一次方程很简单vb.net如何解方程 , 是一条直线,用这个性质去解
先定义两个变量,设第一个变量为x1=0vb.net如何解方程;如果a*x1+bc表示这个解比x1大,然后定义第二个变量x2=100(随便假设) 。再算 。如果a*x2+bc表示这个解在x1和x2之间 。再取其中点在运算,根据实际情况移动x1和x2,直到达到你要求的精度为止 。
如果是二元以上的方程就很复杂了,要设计到线性的解法
怎么用VB解多元一次方程组Public Function 解方程(增广矩阵() As Single, 解() As Single) As Boolean
Dim n As Integer, m As Integer, k As Integer, w As Single, 矩阵() As Single
Dim i As Integer, j As Integer
n = UBound(增广矩阵, 1)
m = UBound(增广矩阵, 2)
k = UBound(解)
If nk Or n + 1m Then
MsgBox "增广矩阵的行列不匹配,或者与结果绝阵行数不匹配 。", vbExclamation
解方程 = False
Exit Function
End If
ReDim 矩阵(n, m)
For i = 0 To n
For j = 0 To m
矩阵(i, j) = 增广矩阵(i, j)
Next j
Next i
For i = 0 To n
For j = i + 1 To n
If Abs(矩阵(i, i))Abs(矩阵(j, i)) Then
For k = i To n + 1
w = 矩阵(i, k)
矩阵(i, k) = 矩阵(j, k)
矩阵(j, k) = w
Next k
End If
Next j
If 矩阵(i, i) = 0 Then
MsgBox "至少存在一组同构方程,该组方程无定解 。", vbExclamation
解方程 = False
Exit Function
End If
For j = i + 1 To m
矩阵(i, j) = 矩阵(i, j) / 矩阵(i, i)
Next j
矩阵(i, i) = 1
For j = i + 1 To n
w = 矩阵(j, i)
For k = i To m
矩阵(j, k) = 矩阵(j, k) - 矩阵(i, k) * w
Next k
Next j
Next i
For i = n To 0 Step -1
w = 0
For j = i + 1 To n
w = w + 矩阵(i, j) * 解(j)
Next j
解(i) = (矩阵(i, m) - w) / 矩阵(i, i)
Next i
解方程 = True
End Function
Private Sub Command1_Click()
Dim n As Integer, a() As Single, x() As Single
n = InputBox("请输入方程组元数(未知数个数n)")
ReDim a(n - 1, n)
ReDim x(n - 1)
Print "给定方程组的增广矩阵为:"
For i = 0 To n - 1
For j = 0 To n
a(i, j) = InputBox("输入系数矩阵A("i + 1","j + 1")")
Print a(i, j);
Next j
Print
Next i
If 解方程(a(), x()) Then
For k = 0 To n - 1
Print "x("; k + 1; ")"; "="; x(k)
Next k
End If
End Sub
Private Sub Form_Load()
Me.AutoRedraw = True
End Sub
VB解方程解一元一次方程:
设置4个文本框,分别代表一元一次方程中的参数k,b,x,y
分别命名txtk,txtb,txtx,txty.计算按钮命名为cmdCalc 。
在代码窗口里粘贴如下代码:
Private Sub cmdCalc_Click()
Dim k, b As Long
k = txtk.Text
b = txtb.Text
If txtx.Text = "x" Then
MsgBox "x的值为:"(txty.Text - b) / k
ElseIf txty.Text = "y" Then
MsgBox "y的值为:"k * txtx.Text + b
End If
End Sub
计算时求x则在txtx那里输入一个x,
求y则在txty那里输入一个y,
在各文本框中输入参数,
然后按下按钮,
就有提示框弹出,显示结果 。
一元二次方程:
privat sub command1_click()
dim a,b,c,x1,x2,d as sigle
a=val(textl.text)
b=val(text2.text)
c=val(text3.text)
d=b^2-4*a*c
if d0 then
x1=(-b+sqr(d))/(2*a)
x2=(-b-sqr(d))/(2*a)
else if d=0 then
x1=(-b/2*a)
x2=x1
else msgbox"方程没有实根"
end if
text4.text="x1="x1"""x2="x2
end sub
sub min(byref a() as integer)