Matlab / Scilab : Remplacer une boucle FOR
Répondre à la discussion
Affichage des résultats 1 à 10 sur 10

Matlab / Scilab : Remplacer une boucle FOR



  1. #1
    invitee5fedd72

    Matlab / Scilab : Remplacer une boucle FOR


    ------

    Bonjour,
    voici une partie de mon programme:
    Code:
    for i=1:1:Nt 
      Matrice (i, :) = Vecteur;
    end
    avec
    Nt : entier connu
    Matrice: Matrice déja définie
    Vecteur : Vecteur connu.

    L'objectif de ce programme est de mettre dans toutes les lignes d'une matrice le contenu du même vecteur.

    J'aimerai savoir s'il est possible de modifier ce programme pour suprimer la boucle FOR

    Merci d'avance

    -----

  2. #2
    invitec35bc9ea

    Re : Matlab / Scilab : Remplacer une boucle FOR

    dans ce cas precis, je penses que la boucle for est tres adaptée à ton probleme

  3. #3
    invitee5fedd72

    Re : Matlab / Scilab : Remplacer une boucle FOR

    Oui, cette boucle régle mon problème, mais comme je sais que le valeur de Nt est très grande, j'aimerai réaliser cette fonction sans la boucle.
    Merci

  4. #4
    invitec35bc9ea

    Re : Matlab / Scilab : Remplacer une boucle FOR

    là, je suis etonné. c'est justement quand Nt est elevé qu'on a recours aux boucles.

  5. A voir en vidéo sur Futura
  6. #5
    invitee5fedd72

    Re : Matlab / Scilab : Remplacer une boucle FOR

    Citation Envoyé par einstein Voir le message
    là, je suis etonné. c'est justement quand Nt est elevé qu'on a recours aux boucles.
    Je suis d'accord avec vous, mais vu que je suis entrain de réaliser un long programme, j'aimerai ne pas utiliser trop de boucle.
    Donc si vous avez une idée à me lancer, elle sera la bienvenue.

    Merci

  7. #6
    invitec35bc9ea

    Re : Matlab / Scilab : Remplacer une boucle FOR

    je ne comprends vraiment pas ton raisonnement.
    c'est en ayant un programme long qu'on use des boucles.
    Sans boucle?
    si Nt=4:
    Code:
      Matrice (i, 1) = Vecteur;
      Matrice (i, 2) = Vecteur;
      Matrice (i, 3) = Vecteur;
      Matrice (i, 4) = Vecteur;
    sans boucle tu as autant de ligne que Nt.
    avec une boucle tu as 3 lignes quelquesoit Nt.

  8. #7
    invitee5fedd72

    Re : Matlab / Scilab : Remplacer une boucle FOR

    J'ai bien compris l'intéret de la boucle, mais je me demande si on ne peux pas faire ça sans utiliser la boucle, par exemple avec les deux points ":"

  9. #8
    inviteb9f49292

    Re : Matlab / Scilab : Remplacer une boucle FOR

    sous MATLAB / OCTAVE, tu as la fonction 'repmat':
    Code:
    matrice = repmat (vecteur, Nt, 1);
    pas sûr de la syntaxe mais l'idée est là: repmat (N, rows, columns) crée une matrice de "rows" lignes et "columns" colonnes dont les élément sont la matrice "N".

  10. #9
    invitee5fedd72

    Re : Matlab / Scilab : Remplacer une boucle FOR

    Merci lou_ibmix_ix pour la réponse.
    La fonction scilab qui correspondant à repmat est mtlb_repmat.
    J'ai une autre question: Dans le cas où le vecteur est généré Nt fois (voir code) est ce que il est possible d'utiliser cette fonction sans une boucle.
    Code:
    for i =1:1:Nt
      Matrice(i, :) = GenereVecteur(a, b);
    end
    avec :
    GenereVecteur(a, b): une fonction qui génére un vecteur dans la taille correspond a la taille des lignes de la matrice.

    Merci d'avance

  11. #10
    inviteb3380076

    Re : Matlab / Scilab : Remplacer une boucle FOR

    Bonjour Est-il on peut aider
    je veut si (teta==pi/4) le programme non calculé et et compléments la boucle
    merci
    clc
    clear
    syms nx ny rk real
    p=11
    m=11
    for K=1:m
    teta(K)=K*2*pi/(2*p+a+1)-pi
    if teta>-pi/4 & teta<pi/4
    nx=1;rk=abs(1/cos(teta));ny=0;

    end
    if teta>3*pi/4 & teta<pi| teta>-pi & teta<-3*pi/4
    ny=0;rk=abs(1/cos(teta)); nx=1;

    end
    if teta>-3*pi/4 & teta<-pi/4
    nx=0;rk=abs(1/sin(teta));ny=-1;

    end
    if teta>pi/4 & teta♥*pi/4
    ny=1; rk=abs(1/sin(teta));nx=0;
    end
    if teta==pi/4
    end
    for n=1
    R(K,n)=imag(rk^((-3/2)+n)*(cos(((-3/2)+n)*teta)+i*sin(((-3/2)+n)*teta))*(nx+i*ny));
    end
    end

Discussions similaires

  1. transfert matlab/scilab
    Par invitec35bc9ea dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 23/05/2008, 00h09
  2. matlab vs Scilab
    Par invitec35bc9ea dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 10/05/2008, 22h59
  3. matlab/scilab
    Par invitec35bc9ea dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 07/05/2008, 09h07
  4. matlab / scilab
    Par invited9d78a37 dans le forum Mathématiques du supérieur
    Réponses: 3
    Dernier message: 13/02/2007, 16h44
  5. Scilab / Matlab
    Par invitec35bc9ea dans le forum Mathématiques du supérieur
    Réponses: 2
    Dernier message: 23/01/2007, 21h17