Visual Basic - matrix

Life is soft - evento anual de software empresarial
   
Vista:

matrix

Publicado por juan pablo (2 intervenciones) el 21/05/2015 22:18:18
hola

tengo esta duda

tengo un vector x= (1,3,4,8,8,5,9,1, 9)
y quiero sacar uno mas pequeño sabiendo desde que indice hasta que indice

i y j si i = 2 y j= 6 mi subvector sera p= (3,4,8,8,5)

en matlab

basta con decir p= x( i : j)

me ayudan
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

matrix

Publicado por Horroroso (10 intervenciones) el 22/05/2015 18:30:10
Hola, te paso un ejemplo.
1
2
3
4
5
6
7
8
9
10
Dim vec As Integer() = {1, 3, 4, 8, 8, 5, 9, 1, 9}
        Dim vec2 As Integer()
        Dim i As Integer = 2
        Dim j As Integer = 6
 
        Dim k, l As Integer
        k = i - 1 ' index base 0
        l = j - k  ' Elementos entre ambos index
        vec2 = vec.Skip(k).Take(l).ToArray
        Console.WriteLine(String.Join(",", vec2)) 'resultado: 3,4,8,8,5
Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

matrix

Publicado por Horroroso (10 intervenciones) el 22/05/2015 18:44:45
Si lo vas a estar usando muy seguido, puedes extender los arreglos de enteros de la siguiente forma:
1
2
3
<System.Runtime.CompilerServices.Extension> Public Function SubArray(array As Integer(), Start As Integer, [End] As Integer) As Integer()
        Return array.Skip(Start - 1).Take([End] - Start + 1).ToArray
    End Function
Y asi podras usarlo cuando lo necesites:

1
2
Dim Vec As Integer() = {1, 2, 3, 4, 5, 6, 7, 8, 9}
        Console.WriteLine(String.Join(",", Vec.SubArray(3, 5))) ' Resultado: 3,4,5
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

matrix

Publicado por juan pablo (2 intervenciones) el 22/05/2015 19:30:39
muchas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar