Vous êtes sur la page 1sur 5

Multiplicacin entre matrices

Public Class Form1


Dim m, n, p As Integer
Dim a(0 To 100, 0 To 100) As Single ' Matriz a
Dim b(0 To 100, 0 To 100) As Single ' Matriz b
Dim c(0 To 100, 0 To 100) As Single ' Matriz a x b
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
m = Val(TextBox1.Text)
n = Val(TextBox2.Text)
p = Val(TextBox3.Text)
'Matriz a
For i = 1 To n
DataGridView1.Columns.Add("col" & Str(i), "Columna" & Str(i))
Next
For i = 1 To m
DataGridView1.Rows.Add()
Next
'Matriz b
For i = 1 To p
DataGridView2.Columns.Add("col" & Str(i), "Columna" & Str(i))
Next
For i = 1 To n
DataGridView2.Rows.Add()
Next
'Matriz a x b
For i = 1 To p
DataGridView3.Columns.Add("col" & Str(i), "Columna" & Str(i))
Next
For i = 1 To m
DataGridView3.Rows.Add()
Next
'Lectura de la matriz a
For i = 1 To m
For j = 1 To n
a(i, j) = Val(InputBox("Digitar el dato a(" & Str(i) & "," & Str(j) & ")", "Matriz a"))
DataGridView1(j - 1, i - 1).Value = Str(a(i, j))
Next
Next
'Lectura de la matriz b
For i = 1 To n
For j = 1 To p
b(i, j) = Val(InputBox("Digitar el dato b(" & Str(i) & "," & Str(j) & ")", "Matriz b"))
DataGridView2(j - 1, i - 1).Value = Str(b(i, j))
Next
Next
'Realizando el calculo de la multiplicacion
For i = 1 To m
For j = 1 To p
c(i, j) = 0
For k = 1 To n
c(i, j) = c(i, j) + a(i, k) * b(k, j)
Next
Next
Next
'Mostrar la matriz a x b
For i = 1 To m
For j = 1 To p
DataGridView3(j - 1, i - 1).Value = Str(c(i, j))
Next
Next
End Sub
End Class

Gauss Jordan

Dim n As Integer 'Numero de ecuaciones


Dim a(0 To 100, 0 To 100) As Single 'Matriz a resolver
Dim i, j, k As Integer

Dim q, t As Double
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
n = Val(TextBox1.Text) 'Leyendo el numero de ecuaciones
'Formandola matriz a resolver
For i = 1 To n + 1
DataGridView1.Columns.Add("col" & Str(i), "Columna" & Str(i))
Next
For i = 1 To n
DataGridView1.Rows.Add()
Next
'Formando la matriz resuelta
For i = 1 To n + 1
DataGridView2.Columns.Add("col" & Str(i), "Columna" & Str(i))
Next
For i = 1 To n
DataGridView2.Rows.Add()
Next
For i = 1 To n
For j = 1 To n
a(i, j) = Val(InputBox("Digite el dato (" & Str(i) & "," & Str(j) & ")", "Lectura de datos"))
DataGridView1(j - 1, i - 1).Value = Str(a(i, j))
Next
a(i, j) = Val(InputBox("Digitar el dato a(" & Str(i) & "," & Str(j) & ")", "Lectura de la matriz"))
DataGridView1(j - 1, i - 1).Value = ":" + Str(a(i, j))
Next
'Resolviendo la matriz
For i = 1 To n
For j = 1 To n
If j <> i Then
q = a(j, i) / (a(i, i))
For k = 1 To n + 1
a(j, k) = a(j, k) - (a(i, k) * q)
Next
End If
Next
Next
For i = 1 To n
t = a(i, i)
For j = 1 To n + 1
a(i, j) = a(i, j) / t
Next
Next
For i = 1 To n
For j = 1 To n
DataGridView2(j - 1, i - 1).Value = Str(a(i, j))
Next
DataGridView2(j - 1, i - 1).Value = ":" + Str(a(i, j))
Next
End Sub
End Class

Inversa de una matriz


Dim n As Integer
Dim a(0 To 100, 0 To 100) As Single
Dim i, j, k As Integer
Dim q, t As Double
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
n = Val(TextBox1.Text)
For i = 1 To n + n
DataGridView1.Columns.Add("col" & Str(i), "Columna" & Str(i))
Next
For i = 1 To n
DataGridView1.Rows.Add()
Next
For i = 1 To n
DataGridView2.Columns.Add("col" & Str(i), "Columna" & Str(i))
Next

For i = 1 To n
DataGridView2.Rows.Add()
Next
'Lectura de lamatriz hacer invertida
For i = 1 To n
For j = 1 To n
a(i, j) = Val(InputBox("Digitar elvalor de a(" & Str(i) & "," & Str(j) & ")", "Lectura de la matriz"))
DataGridView1(j - 1, i - 1).Value = Str(a(i, j))
If i = j Then
a(i, j + n) = 1
DataGridView1(j + n - 1, i - 1).Value = Str(a(i, j + n))
Else
a(i, j + n) = 0
DataGridView1(j + n - 1, i - 1).Value = Str(a(i, j + n))
End If
Next
Next
'Solucion
For i = 1 To n
For j = 1 To n
If j <> i Then
q = a(j, i) / a(i, i)
For k = 1 To 2 * n
a(j, k) = a(j, k) - (a(i, k) * q)
Next
End If
Next
Next
For i = 1 To n
t = a(i, i)
For j = 1 To 2 * n
a(i, j) = a(i, j) / t
Next
Next
'Mostrando la matriz inversa
For i = 1 To n
For j = n + 1 To 2 * n
DataGridView2(j - n - 1, i - 1).Value = Str(a(i, j))
Next
Next
End Sub
End Class

Determinante de una matriz


Dim n As Integer
Dim a(0 To 100, 0 To 100) As Single
Dim i, j, k As Integer
Dim q, det As Double
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
n = Val(TextBox1.Text)
For i = 1 To n
DataGridView1.Columns.Add("col" & Str(i), "Columna" & Str(i))
Next
For i = 1 To n
DataGridView1.Rows.Add()
Next
For i = 1 To n
For j = 1 To n
a(i, j) = Val(InputBox("Digite el dato a(" & Str(i) & "," & Str(j) & ")", "Lectura de la matriz"))
DataGridView1(j - 1, i - 1).Value = Str(a(i, j))
Next
Next
For i = 1 To n
For j = 1 To n
If j <> i Then
q = a(j, i) / a(i, i)
For k = 1 To n

a(j, k) = a(j, k) - (a(i, k) * q)


Next
End If
Next
Next
det = 1
For i = 1 To n
det = det * a(i, i)
Next
TextBox2.Text = Str(det)
End Sub
End Class

Area

Dim pi, n As Integer


Dim a, b As Single
Dim c(0 To 100) As Single
Dim d(0 To 100) As Single
Dim dd As Single
Dim m(0 To 2) As Single
Dim v, mul, dx As Double
Dim sp, si As Single
Dim area As Double
Public Function F(ByVal x As Single)
F = Math.Sqrt(x) - (1 / Math.Sqrt(x))
End Function
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
pi = Val(TextBox1.Text)
If pi > 2 Then
MsgBox("LOS PUNTOS DE INTERSECCION NO PUEDEN SER MAYOR QUE 2", vbCritical, "CONTROL")
TextBox1.Text = ""
Else
If pi = 1 Then
dd = Val(InputBox("Digite el punto que tiene", "Lectura de datos"))
c(1) = Val(InputBox("Digite el primer punto de su parametro", "Lectura de datos"))
d(1) = Val(InputBox("Digite el segundo punto punto de su parametro", "Lectura de datos"))
Do
m(1) = ((c(1) * F(d(1))) - (d(1) * F(c(1)))) / (F(d(1)) - F(c(1)))
v = Math.Abs(F(m(1)))
mul = F(c(1)) * F(m(1))
If mul >= 0 Then
a = m(1)
b=b
Else
a=a
b = m(1)
End If
Loop While v > 0.0001
If dd > m(1) Then
a = m(1)
b = dd
Else
a = dd
b = m(1)
End If
n = Val(InputBox("Digite el valor de n", "Lectura de datos"))
dx = (b - a) / n
sp = 0
si = 0
For i = 1 To n
If (i Mod 2 = 0) Then
sp = sp + F(a + (i * dx))
Else
si = si + F(a + (i * dx))
End If
Next
area = (dx / 3) * (F(a) + F(b) + (2 * sp) + (4 * si))
TextBox2.Text = Str(area)

Else
For i = 1 To 2
c(i) = Val(InputBox("Digite el primer punto de su parametro(" & Str(i) & ")", "Lectura de datos"))
d(i) = Val(InputBox("Digite el segundo punto punto de su parametro(" & Str(i) & ")", "Lectura de datos"))
Do
m(i) = ((c(i) * F(d(i))) - (d(i) * F(c(i)))) / (F(d(i)) - F(c(i)))
v = Math.Abs(F(m(i)))
mul = F(c(i)) * F(m(i))
If mul >= 0 Then
a = m(i)
b=b
Else
a=a
b = m(i)
End If
Loop While v > 0.0001
Next
If m(1) > m(2) Then
a = m(2)
b = m(1)
Else
a = m(1)
b = m(2)
End If
n = Val(InputBox("Digite el valor de n", "Lectura de datos"))
dx = (b - a) / n
sp = 0
si = 0
For i = 1 To n
If (i Mod 2 = 0) Then
sp = sp + F(a + (i * dx))
Else
si = si + F(a + (i * dx))
End If
Next
area = (dx / 3) * (F(a) + F(b) + (2 * sp) + (4 * si))
TextBox2.Text = Str(area)
End If
End If
End Sub
End Class

Vous aimerez peut-être aussi