Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

Formule omzetten naar code

Pagina: 1
Acties:

  • 4Real
  • Registratie: Juni 2001
  • Laatst online: 14-09-2024
Ik wil de volgende formule implementeren in mijn project, maar zit even met een klein vraagje over hoe ik precies een bepaalde sommatie moet toevoegen. Het gaat om de volgende formule:

Afbeeldingslocatie: http://upload.wikimedia.org/math/4/f/5/4f541ab0570ad6990e8884f682585e88.png


En dan hebt stuk boven de streep: E i<j waar E het sommatie teken is. De functies na dit stuk is geen probleem dus in het voorbeeld hieronder behandel ik die als waarde: 1

Als ik de formule lees en zou moeten inplementeren zou ik dat bovenste deel alsvolgt uitrekenen:
PHP:
1
2
3
4
5
6
7
8
9
$s1 = 0;
for( $i = 0; $i < count($matrix); $i++ )
{
    // $j = $i + 1, zodat de conditie i<j op gaat.
    for ( $j = $i + 1; $j < count($matrix); $j++ )
    {
        $s1 += 1;   
    }
}


Variabel $s1 bevat nu het resultaat wat boven de streep komt te staan. Wat de code nu eigenlijk doet is het doorlezen van één deel van een symmetrische matrix. Is dit correct of maak ik een fout?

  • Infant
  • Registratie: Januari 2008
  • Laatst online: 21-11 21:52

Infant

It's a floating Dino!

Je code leest inderdaad 1 deel, het deel waar i kleiner is dan j. De driehoek rechts boven de diagonaal in dit geval. In de code hieronder dus de 3 elementen [0,1],[0,2] en [1,2].
code:
1
2
3
0,0 | 0,1 | 0,2
1,0 | 1,1 | 1,2
2,0 | 2,1 | 2,2

Als jij er een symmetrische matrix in propt wel, maar hij gaat ook sommeren als je er elke andere matrix in doet natuurlijk.
Weet je zeker dat de variabele count($matrix) het aantal rijen en het aantal kolommen correct terug geeft?

[ Voor 6% gewijzigd door Infant op 24-02-2014 12:27 ]


  • 4Real
  • Registratie: Juni 2001
  • Laatst online: 14-09-2024
$matrix is symmetrische matrix, die in de stap daarvoor wordt opgebouwd waar de rijen en kolommen gelijk aan elkaar zijn. Dus met count($matrix) zit ik veilig.

  • Infant
  • Registratie: Januari 2008
  • Laatst online: 21-11 21:52

Infant

It's a floating Dino!

Mooi. Je bedoelt dus dat het een vierkante matrix is dan. Een symmetrische matrix heeft zijn waardes gespiegeld rond de diagonaal. Link.