Tableau croises sur matlab

Fermé
nadoo - 5 juin 2009 à 08:33
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 12 juin 2009 à 09:05
Bonjour,
Je voudrais créer un tableau dans matlab, les alpha allant de 0.1,0.2jusqu'à 1 pour colonne et les beta allant de 0.1,0.2jusqu'à 1 pour ligne. Avec ma fonction :
(alpha+1)*beta je voudrai trouver tous les élements du tableau.
Si quelqu'un pourrai m'aider ca serait très gentil.
Merci

6 réponses

Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
5 juin 2009 à 09:11
soit plus clair.
Sous matlab, mieux faut parler de matrice que de tableau.
0
nicolasjivet Messages postés 2 Date d'inscription vendredi 5 juin 2009 Statut Membre Dernière intervention 5 juin 2009
5 juin 2009 à 09:28
oui en fait c'est ca c'est une matrice en fin de compte avec ligne alpha=[0.1,0.2,0.3.....1] et colonne beta=[0.1,0.2,0.3.....1]
avec ma fonction (alpha+1)*beta, je voudrai trouver tous les résultats possibles dans cette matrice 10*10.
J'espère que j'ai bien défini le problème.
Merci si vous pourriez m'aider.
0
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
5 juin 2009 à 11:12
as tu essayé ça ?
M=(alpha+1)'*beta;
0
nicolasjivet Messages postés 2 Date d'inscription vendredi 5 juin 2009 Statut Membre Dernière intervention 5 juin 2009
5 juin 2009 à 19:23
merci, mais cela ne marche pas car cela me donne une seule valeur, alors que moi je voudrai avoir une matrice, c'est à dire toutes les valeurs du tableau croisé.
Si tu pourrais m'aider un peu plus, j'ai vraiment besoin de l'aide.
Merci j'apprécie.
0
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
8 juin 2009 à 08:09
Ha ?
étonnant, chez moi ça fonctionne dans ce sens là...
Dans ce cas là, il faut faire :
M=(alpha+1)*beta';
c'est un produit de matrice, c'est à dire que si tu as deux matrice une de taille m×k l'autre de taille k×n au final tu aura une matrice m×n.
Toi, tu as deux vecteurs, donc deux matrice de taille 1×m, donc il faut en transposé une pour faire un produit, dans un sens tu aura :
1×m * m×1 = 1×1 c'est à dire une seule valeur.
Dans l'autre sens tu aura :
m×1 * 1×m = m×m c'est à dire une matrice.
0
Merci, mais ce que je devrai avoir c une matrice or ce que tu me dis c que le résultat est une seule valeur.
alpha/beta 0.1 0.2 0.3
0.1 ? ? ?
0.2 ? ? ?
0.3 ? ? ?

pour M=(alpha+1)*beta pour chaque ligne.
Merci
0
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
10 juin 2009 à 08:02
Tu as testé les deux options ?
M=(alpha+1)'*beta
et
M=(alpha+1)*beta'
?
ça donne quoi si tu fait juste
M=(alpha+1)*beta
?
ça devrais donner une erreur de dimension invalide. donne moi le résultat des commandes size(alpha) et size(beta)
0
oui j'ai essayé les deux mais pour la deuxième on me renvoie une seule valeur alors que moi je voudrais avoir 6 élements comme je t'ai expliqué alpha en ligne et beta colonne. donc size(alpha)=vecteur 3 elements et meme chose pour size(beta).
merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
11 juin 2009 à 08:04
la deuxième te renvoi 1 seule valeur, ok, mais la première ?
si je te demande les size, c'est pour savoir si c'est du 1;3 ou du 3;1.
Mets directement ton code, on gagnera du temps.
0
pour alpha c du 1;3 et pour beta c du 3;1
merci
0
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
12 juin 2009 à 09:05
donc :
M=beta*(alpha+1);
0