calcul de produit scalaire sous PHP
Bonjour à tous,
Je suis en BTS informatique de gestion. J'ai un exercice : je dois écrire et faire fonctionner le calcul de produit scalaire ou la multiplication de matrice.
Je possède le cour de mathématique, mais je n'arrive vraie ment pas à le mettre sous le langage PHP, pour ensuite en faire un petit programme qui puisse tourné.
Merci par avance
Cordialement
Audrey
comment faire le calcul d'un produit scalaire sous PHP
Est ce que quelqu'un peut m'aider pour faire un produit scalaire sous PHP,
voici le début de mon code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Produit de matrices</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<strong>
Mulitiplication de deux matrices<br><br>
</strong>
<?php
/*************************************************************************
************************ bibliotèque des fonctions ********************
**************************************************************************/
function afficher_liste($nomvar,$n) {
$la_liste = "<select name=$nomvar>";
for ($i=1;$i<=$n;$i++) {
$la_liste .= "<option value=$i>$i</option>";
}
$la_liste .= "</select>";
echo $la_liste;
}
function fabrique_tableau($nom_tab,$nb_ligne,$nb_colonne) {
$le_tableau = "<table cellpadding='1' cellspacing='1'>";
for ($i=1;$i<=$nb_ligne;$i++) {
$le_tableau .= "<tr>";
for ($j=1;$j<=$nb_colonne;$j++) {
$le_tableau .= "<td><input name = ".$nom_tab.$i.$j." value='0' size='5'></td>";
}
$le_tableau .= "</tr>";
}
$le_tableau .= "</table>";
echo $le_tableau;
}
function somme($i,$j,$colonneA) {
$valeur = 0;
for ($k=1;$k<=$colonneA;$k++) {
$valeur += $_POST['A'.$i.$k]*$_POST['B'.$k.$j];
}
return $valeur;
}
/*************************************************************************
********** Saisie de la dimension des matrices ******************
**************************************************************************/
$dim_maxi = 100;
echo "<form action='index.php' method='post'>";
echo "Matrice A : lignes ";
afficher_liste("ligneA",$dim_maxi);
echo " colonnes ";
afficher_liste("colonneA",$dim_maxi);
echo "<br>";
echo "Matrice B : lignes ";
afficher_liste("ligneB",$dim_maxi);
echo " colonnes ";
afficher_liste("colonneB",$dim_maxi);
echo "<br>";
echo "<input type='submit' value='Creer'></form>";
/*************************************************************************
********** formulaire de remplissage des matrices ***************
**************************************************************************/
if (!empty($_POST['ligneA']) && !empty($_POST['colonneA'])) {
if (!empty($_POST['ligneB']) && !empty($_POST['colonneB'])) {
$ligneA = $_POST['ligneA'];
$colonneA = $_POST['colonneA'];
$ligneB = $_POST['ligneB'];
$colonneB = $_POST['colonneB'];
echo"<form action='index.php' method='post'>";
echo"********************************************************<br>";
echo"Matrice A : $ligneA Ligne(s) par $colonneA Colonne(s)<br>";
fabrique_tableau("A",$ligneA,$colonneA)."<br>";
echo"********************************************************<br>";
echo"Matrice B : $ligneB Ligne(s) par $colonneB Colonne(s)<br>";
fabrique_tableau("B",$ligneB,$colonneB);
echo"********************************************************<br>";
echo"<input type='hidden' name = 'calcul' value=1>";
echo"<input type='hidden' name = 'ligneA' value=".$ligneA.">";
echo"<input type='hidden' name = 'colonneA' value=".$colonneA.">";
echo"<input type='hidden' name = 'ligneB' value=".$ligneB.">";
echo"<input type='hidden' name = 'colonneB' value=".$colonneB.">";
echo"<input type='submit' value='Calculer'>";
echo"</form>";
}
}
/*************************************************************************
******************* Multiplication des matrices *****************
**************************************************************************/
if (!empty($_POST['calcul'])) {
$ligneA = $_POST['ligneA'];
$colonneA = $_POST['colonneA'];
$ligneB = $_POST['ligneB'];
$colonneB = $_POST['colonneB'];
if ($colonneA != $ligneB) {
echo "Les dimensions que vous avez saisies ne sont pas compatibles.<br>";
echo "Il faut que le nombre de colone(s) de A soit egal au nombre de lignes(s) de B.<br>";
echo "Et ici le nombre de colone(s) de A = $colonneA <> $ligneB = au nombre de lignes(s) de B.<br>";
} else {
echo "Le produit des 2 matrice donnent.<br>";
function somme($i,$j,$colonneA) {
$valeur = 0;
for ($k=1;$k<=$colonneA;$k++) {
$valeur += $_POST['A'.$i.$k]*$_POST['B'.$k.$j];
}
return $valeur;
}
}
}
?>
</body>
</html> |