Aide s'il vous plait en matlab

ayoub03 Messages postés 5 Statut Membre -  
Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour, j'ai un petit programme en matlab

n=2;
h=20;
d=10;
L=400;
f=8;
x=-150:50:150;
H=(f*((2*x)./L).^2+h)
hc=[H*ones(n,1)]
xc=[d*ones(n,1)]

??? Error using ==> mtimes
Inner matrix dimensions must agree.

Error in ==> Untitled at 8
hc=[H*ones(n,1)]
merci d'avance

7 réponses

  1. ed
     
    salut,

    je crois (sans avoir testé pour vérifier) que tu devrais déclarer n=7 afin d'avoir la même dimension pour H et hc.

    juste ?
    0
  2. ayoub03 Messages postés 5 Statut Membre
     
    je voudrais avoir la taille suivante:

    hc =

    24.5000 22 20.5000 20 20.5000 22 24.5000
    24.5000 22 20.5000 20 20.5000 22 24.5000

    xc =

    10 10 10 10 10 10 10
    10 10 10 10 10 10 10
    0
  3. ed
     
    dans la mesure où tu ne me dis pas si ce que j'ai proposé marche... je ne peux pas t'aider !
    0
  4. ayoub03 Messages postés 5 Statut Membre
     
    c'est juste ed je veux avoir une taille de n ligne et des colonnes de H.
    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
     
    essai alors hc= ones(n,1)*H
    pour un produit matricielle, il faut que les dimensions s'accordent ainsi : m×n*n×p
    0
  7. ayoub03 Messages postés 5 Statut Membre
     
    merci char c'est trés gentil de ta part ,si j'ai 02 boucles (for) successives
    je dois executer l'operation suivante

    for i=1:6;
    for j=1:6;
    x1(i)=xc(i)+0.05;
    y1(j)=hc(j)+0.025;
    R1(i,j)=sqrt((x1(i)+1).^2+y1(j).^2);
    end
    end
    je dois les executer comme suivant:
    i=1:2 et j=1: 2 ,puis i=3:4 pour j=3:4 et en fin i=5:6 pour j=5:6.
    c'est un peu compliqué.
    0
    1. Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 331
       
      Je n'ai rien compris.
      0
  8. ayoub03 Messages postés 5 Statut Membre
     
    pas de probleme ,ca d je dois executer comme suivant
    for i=1:2;
    for j=1:2;
    x1(i)=xc(i)+0.05;
    y1(j)=hc(j)+0.025;
    R1(i,j)=sqrt((x1(i)+1).^2+y1(j).^2);
    end
    end
    for i=3:4;
    for j=3:4;
    x1(i)=xc(i)+0.05;
    y1(j)=hc(j)+0.025;
    R1(i,j)=sqrt((x1(i)+1).^2+y1(j).^2);
    end
    end
    for i=5:6;
    for j=5:6;
    x1(i)=xc(i)+0.05;
    y1(j)=hc(j)+0.025;
    R1(i,j)=sqrt((x1(i)+1).^2+y1(j).^2);
    end
    end
    0
    1. Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 331
       
      tu fais une matrice diagonale par bloc. C'est vrai que c'est ennuyey à faire. Je ne vois pas comment faire simplement.
      0