Autore Topic: Prodotto tra matrici  (Letto 995 volte)

Offline paociao

  • Gamberetto
  • *
  • Post: 8
    • Mostra profilo
Prodotto tra matrici
« il: 06 Aprile 2013, 11:58:55 »
Salve gamberetti!
Scusate la domanda che vi sembrerà molto più che banale.. :-[
devo fare il prodotto tra una matrice di dimensione 1x11 e un'altra che è 11x15, come si fa? ???

Offline Berserker79

  • Grande Gambero
  • ***
  • Post: 201
    • Mostra profilo
Re: Prodotto tra matrici
« Risposta #1 il: 06 Aprile 2013, 13:21:58 »
Ciao, credo che con due cicli for uno annidato nell'altro dovresti risolvere.

For Each Variabile1 In Matrice1
    For Each Variabile2 In Matrice2
        Variabile1*Variabile2
    Next
Next

Offline Top Fuel

  • Gran Maestro dei Gamberi
  • *****
  • Post: 959
    • Mostra profilo
Re: Prodotto tra matrici
« Risposta #2 il: 06 Aprile 2013, 15:27:15 »
Dear youtube administrators, your search bar is broken. When I type the letter "J" it appears justin bieber when it should appear Jimi Hendrix. Fix this, please.

Offline paociao

  • Gamberetto
  • *
  • Post: 8
    • Mostra profilo
Re: Prodotto tra matrici
« Risposta #3 il: 06 Aprile 2013, 17:26:18 »
Vi ringrazio delle risposte. So che vi sembrerà assurdo, ma il mio problema è a monte: come si definisce una matrice??
avevo provato così:

Codice: [Seleziona]
Amatrix As Integer[1,11]
Bmatrix As Integer[11,15]

Public Sub Form_Open()
amatrix = Array(qui ho scritto, separati da una virgola, gli elementi che intendevo piazzare nella matrice A)
END

Evidentemente non è corretto, ma non ho capito come si deve definire!

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.719
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: Prodotto tra matrici
« Risposta #4 il: 06 Aprile 2013, 18:10:22 »
Vi ringrazio delle risposte. So che vi sembrerà assurdo, ma il mio problema è a monte: come si definisce una matrice??

Ti suggerisco di fare una ricerca nel forum sulle matrici e gli array multidimensionali: ci sono molte discussioni al riguardo.

Segnalarei anche le pagine specifiche nella nostra WIKI:
http://www.gambas-it.org/wiki/index.php?title=Guide_della_comunit%C3%A0#Matrici_ed_Array
« Ultima modifica: 11 Aprile 2013, 16:57:23 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline pastrank

  • Maestro Gambero
  • ****
  • Post: 266
    • Mostra profilo
Re: Prodotto tra matrici
« Risposta #5 il: 06 Aprile 2013, 19:55:31 »
Codice: [Seleziona]
amatrix = Array(qui ho scritto, separati da una virgola, gli elementi che intendevo piazzare nella matrice A) 
END

Provato a usare la parentesi quadra anziche' la tonda?

Offline Picavbg

  • Senatore Gambero
  • ******
  • Post: 1.620
    • Mostra profilo
Re: Prodotto tra matrici
« Risposta #6 il: 06 Aprile 2013, 22:28:54 »
Vi ringrazio delle risposte. So che vi sembrerà assurdo, ma il mio problema è a monte: come si definisce una matrice??
avevo provato così:

Codice: [Seleziona]
Amatrix As Integer[1,11]
Bmatrix As Integer[11,15]

Public Sub Form_Open()
amatrix = Array(qui ho scritto, separati da una virgola, gli elementi che intendevo piazzare nella matrice A)
END

Evidentemente non è corretto, ma non ho capito come si deve definire!

Come ti ha indicato vuott, il Forum contiene diverse discussioni sull'argomento, comunque riporto una matrice dichiarata nel mio ContabFam:
Codice: [Seleziona]
Dim $TbMesi As String[] = ["Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno", "Luglio", "Agosto", "Settembre", "Ottobre", "Novembre", "Dicembre"]
Come avrai constatato è una matrice monodimensionale. Se dovessi invece dichiarare matrici multidimensionali, il procedimento è un altro.
Spero di avere intuito quello che cerchi.
 :ciao:
:ciao:

Offline Berserker79

  • Grande Gambero
  • ***
  • Post: 201
    • Mostra profilo
Re: Prodotto tra matrici
« Risposta #7 il: 07 Aprile 2013, 12:23:22 »
Prova in questo modo:
Codice: [Seleziona]
  Dim Y As Integer[] = [10, 20] 'matrice monodimesione contenente due valori 10 e 20
  Dim X As New Integer[2, 2] 'matrice pluridimensione
  Dim i, ii As Integer 'variabili integer a cui passare i valori delle matrici nel ciclo for
 
  'setto i valori della matrice pluridimensione
  X[0, 0] = 1
  X[0, 1] = 2
  X[1, 0] = 3
  X[1, 1] = 4
 
  'inizio il ciclo for per effettuare il prodotto fra le matrici
  For Each i In Y
    For Each ii In X
      Print i * ii
    Next
  Next
« Ultima modifica: 07 Aprile 2013, 12:25:44 da Berserker79 »

Offline paociao

  • Gamberetto
  • *
  • Post: 8
    • Mostra profilo
Re: Prodotto tra matrici
« Risposta #8 il: 11 Aprile 2013, 16:05:49 »
Con un pò di ritardo, ma ringrazio tutti voi per aver risposto alla mia domanda! In particolare Berserker79 che mi ha dato un grosso input!! :ok: :ok: Non vi aggiungo il codice che ho scritto perchè per il momento ho solo provato il codice scritto da Berserker79 che però non esegue il prodotto tra matrici (il famoso "righe per colonne") così come serve a noi matematici!! Comunque non appena trovo una soluzione la inserisco sicuramente, magari può tornare utile anche ad altri utenti! ;)
 :ciao:

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.719
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: Prodotto tra matrici
« Risposta #9 il: 11 Aprile 2013, 17:22:36 »
Comunque non appena trovo una soluzione la inserisco sicuramente, magari può tornare utile anche ad altri utenti!
Suggerisco ancora di inserire novità ed utili algoritmi anche nella nostra WIKI.
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »