Tableau croises sur matlab

nadoo -  
Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   -
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
Configuration: Windows Vista
Safari 525.19

6 réponses

  1. Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 331
     
    soit plus clair.
    Sous matlab, mieux faut parler de matrice que de tableau.
    0
    1. nicolasjivet Messages postés 2 Statut Membre
       
      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
  2. Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 331
     
    as tu essayé ça ?
    M=(alpha+1)'*beta;
    0
    1. nicolasjivet Messages postés 2 Statut Membre
       
      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
  3. Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 331
     
    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
    1. nadoo
       
      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
  4. Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 331
     
    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
    1. nadoo
       
      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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 331
     
    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
    1. nadoo
       
      pour alpha c du 1;3 et pour beta c du 3;1
      merci
      0
  7. Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 331
     
    donc :
    M=beta*(alpha+1);
    0