
|
|
Auteur
|
Message
|
1
|
|
|
|
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
|
|
|
|
|
|
salut, t'as du code déjà pour voir comment tu veux bosser ? t'as des formules j'imagine ?
|
|
Je pompe donc je suis.
|
|
|
|
Ouai il va nous falloir les formules par ce que personnellement je ne l'est connais pas (mais je pense pouvoir avec les mettres en php sans trop de problème...)
|
|
|
|
|
je connais le produit scalaire mais a partir de quoi dois tu le calculer?
|
|
|
|
|
Bonjour,
voici mon début de code :
<!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>
|
|
|
|
|
euh t'as écris des fonctions (j'ai pas trop regardé les formules ) mais tu les appelle mal on dirait
après echo "Le produit des 2 matrice donnent.<br>";, au lieu de recopier la fonction, il faut l'appeler (tu l'as déjà créée) :
echo somme($i,$j,$colonneA);
(par contre je sais pas ce que représentent $i, $j etc...
c'est quoi ton $_POST['A'.$i.$k] ?
|
|
1
|
|

|

|