soluzione algebrica e grafica sistemi lineari

Rem sistema lineare 2 equazioni e 2 incognite determinato
Rem sistema lineare 2 equazioni e 2 incognite impossibile
Rem sistema lineare 2 equazioni e 2 incognite indeterminato
Rem soluzione solo algebrica con discussione
Rem sistema con equazioni in forma esplicita
equazioni del tipo ax+by+c = 0
equazioni del tipo ax+by = c
equazioni del tipo y = mx+q
esercitazione con visual baisc su powerpoint



Private Sub CommandButton1_Click()
Rem sistema lineare 2 equazioni e 2 incognite determinato
ListBox1.AddItem (" 3x-2y-6=0")
ListBox1.AddItem ("x+y-2 =0")
a1 = 3
b1 = -2
c1 = -6
a2 = 1
b2 = 1
c2 = -2
For x = -5 To 5
y1 = (3 * x - 6) / 2
y2 = 2 - x
ListBox1.AddItem (x & " , " & y1 & " , " & y2)
If y1 = y2 Then
ListBox1.AddItem ("soluzione : " & x & " , " & y1 & " , " & y2)
End If
Next x
lineare1.Visible = True
End Sub

Private Sub CommandButton10_Click()
esplicita2.Visible = True
End Sub

Private Sub CommandButton11_Click()
esplicita3.Visible = True
End Sub

Private Sub CommandButton2_Click()
Rem sistema lineare 2 equazioni e 2 incognite impossibile
ListBox1.AddItem (" 2x-y+1=0")
ListBox1.AddItem ("2x-y-3=0")
a1 = 2
b1 = -1
c1 = 1
a2 = 2
b2 = -1
c2 = -3
For x = -5 To 5
y1 = 2 * x - 1
y2 = 2 * x - 3
ListBox1.AddItem (x & " , " & y1 & " , " & y2)
If y1 = y2 Then
ListBox1.AddItem ("soluzione : " & x & " , " & y1 & " , " & y2)
End If
Next x
ListBox1.AddItem ("nessuna soluzione:impossibile")
lineare2.Visible = True
End Sub

Private Sub CommandButton3_Click()
Rem sistema lineare 2 equazioni e 2 incognite indeterminato
ListBox1.AddItem (" 9x-3y-15=0")
ListBox1.AddItem ("6x-2y-10=0")
a1 = 9
b1 = -3
c1 = -15
a2 = 6
b2 = -2
c2 = -10
For x = -5 To 5
y1 = (9 * x - 15) / 3
y2 = (6 * x - 10) / 2
ListBox1.AddItem (x & " , " & y1 & " , " & y2)
Next x
ListBox1.AddItem ("infinite soluzioni:indeterminato")
lineare3.Visible = True
End Sub

Private Sub CommandButton4_Click()
Rem soluzione solo algebrica con discussione
ListBox1.AddItem ("a1x +b1y = c1 >>> 2x+y=1")
ListBox1.AddItem ("a2x + b2y = c2 >>> x - 2y=8")
a1 = 2
b1 = 1
c1 = 1
a2 = 1
b2 = -2
c2 = 8
ListBox1.AddItem ("coefficienti a1,b1,c1 =" & a1 & "," & b1 & "," & c1)
ListBox1.AddItem ("coefficienti a2,b2,c2 =" & a2 & "," & b2 & "," & c2)
Call determinato(a1, b1, c1, a2, b2, c2)
ListBox1.AddItem ("---------------------------")
ListBox1.AddItem ("2x+3y=4 4x+6y=8 ")
Call indeterminato(2, 3, 4, 4, 6, 8)
ListBox1.AddItem ("---------------------------")
ListBox1.AddItem ("2x+3y=4 4x+6y=5 ")
Call impossibile(2, 3, 4, 4, 6, 5)
ListBox1.AddItem ("---------------------------")
End Sub

Private Sub CommandButton5_Click()
Rem soluzione solo algebrica con discussione
ListBox1.AddItem ("a1x +b1y = c1 >>> 2x+y=1")
ListBox1.AddItem ("a2x + b2y = c2 >>> x - 2y=8")
a1 = 2
b1 = 1
c1 = 1
a2 = 1
b2 = -2
c2 = 8
ListBox1.AddItem ("coefficienti a1,b1,c1 =" & a1 & "," & b1 & "," & c1)
ListBox1.AddItem ("coefficienti a2,b2,c2 =" & a2 & "," & b2 & "," & c2)
Call verifica(a1, b1, c1, a2, b2, c2)
ListBox1.AddItem ("2x+3y=4 4x+6y=8 ")
Call verifica(2, 3, 4, 4, 6, 8)
ListBox1.AddItem ("2x+3y=4 4x+6y=5 ")
Call verifica(2, 3, 4, 4, 6, 5)
End Sub

Private Sub CommandButton6_Click()
ListBox1.Clear
End Sub

Private Sub CommandButton7_Click()
lineare1.Visible = False
lineare2.Visible = False
lineare3.Visible = False
esplicita1.Visible = False
esplicita2.Visible = False
esplicita3.Visible = False
End Sub

Private Sub determinato(a1, b1, c1, a2, b2, c2)
Rem soluzione sistema

ds = a1 * b2 - a2 * b1
dx = c1 * b2 - c2 * b1
dy = a1 * c2 - a2 * c1
ListBox1.AddItem ("determinanti ds,dx,dy =" & ds & " " & dx & " " & dy)
x = dx / ds
y = dy / ds
ListBox1.AddItem ("x = " & x)
ListBox1.AddItem ("y = " & y)
End Sub

Private Sub indeterminato(a1, b1, c1, a2, b2, c2)
Rem soluzione sistema indeterminato
ds = a1 * b2 - a2 * b1
dx = c1 * b2 - c2 * b1
dy = a1 * c2 - a2 * c1
ListBox1.AddItem (" coefficienti :" & a1 & " , " & b1 & " , " & c1)
ListBox1.AddItem (" coefficienti :" & a2 & " , " & b2 & " , " & c2)
ListBox1.AddItem ("determinanti ds,dx,dy =" & ds & " " & dx & " " & dy)
ListBox1.AddItem ("sistema indeterminato")
End Sub

Private Sub impossibile(a1, b1, c1, a2, b2, c2)
Rem soluzione sistema impossibile
ds = a1 * b2 - a2 * b1
dx = c1 * b2 - c2 * b1
dy = a1 * c2 - a2 * c1
ListBox1.AddItem (" coefficienti :" & a1 & " , " & b1 & " , " & c1)
ListBox1.AddItem (" coefficienti :" & a2 & " , " & b2 & " , " & c2)
ListBox1.AddItem ("determinanti ds,dx,dy =" & ds & " , " & dx & " , " & dy)
ListBox1.AddItem ("sistema impossibile")
End Sub

Private Sub verifica(a1, b1, c1, a2, b2, c2)
Rem discussione e soluzione

ds = a1 * b2 - a2 * b1
dx = c1 * b2 - c2 * b1
dy = a1 * c2 - a2 * c1
If ds <> 0 Then
ListBox1.AddItem ("determinanti ds,dx,dy =" & ds & " " & dx & " " & dy)
x = dx / ds
y = dy / ds
ListBox1.AddItem ("x = " & x)
ListBox1.AddItem ("y = " & y)
ListBox1.AddItem ("-------------------")
End If

If ds = 0 And dx = 0 And dy = 0 Then
ListBox1.AddItem ("determinanti ds,dx,dy =" & ds & " " & dx & " " & dy)
ListBox1.AddItem ("indeterminato")
ListBox1.AddItem ("---------------------")
End If

If ds = 0 And dy <> 0 And dx <> 0 Then
ListBox1.AddItem ("determinanti ds,dx,dy =" & ds & " " & dx & " " & dy)
ListBox1.AddItem ("impossibile")
ListBox1.AddItem ("----------------------")
End If


End Sub

Private Sub CommandButton8_Click()
Rem sistema con equazioni in forma esplicita
ListBox1.AddItem ("y1 = -2x + 1")
ListBox1.AddItem ("y2 = 0.5x -4")
m1 = -2
m2 = 0.5
q1 = 1
q2 = -4
For x = -5 To 5
y1 = m1 * x + q1
y2 = m2 * x + q2
ListBox1.AddItem (x & " , " & y1 & " , " & y2)
If y1 = y2 Then
ListBox1.AddItem ("soluzione : " & x & " , " & y1)
End If
Next x
ListBox1.AddItem ("sistema determinato")
ListBox1.AddItem ("----------------------")
ListBox1.AddItem ("y1 = 3x-5")
ListBox1.AddItem ("y2 = 3x-5")
m1 = 3
m2 = 3
q1 = -5
q2 = -5
For x = -5 To 5
y1 = m1 * x + q1
y2 = m2 * x + q2
ListBox1.AddItem (x & " , " & y1 & " , " & y2)

Next x
ListBox1.AddItem ("infinite soluzionei:indeterminato")
ListBox1.AddItem ("------------------------")

ListBox1.AddItem ("y1 = 3x-5")
ListBox1.AddItem ("y2 = 3x-2")
m1 = 3
m2 = 3
q1 = -5
q2 = -2
For x = -5 To 5
y1 = m1 * x + q1
y2 = m2 * x + q2
ListBox1.AddItem (x & " , " & y1 & " , " & y2)
Next x
ListBox1.AddItem (" nessuna soluzione:impossibile")
ListBox1.AddItem ("------------------------")
End Sub



Private Sub CommandButton9_Click()
esplicita1.Visible = True
End Sub

vedi lineare.ppt