IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scilab Discussion :

fonction sans boucle


Sujet :

Scilab

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mai 2012
    Messages : 20
    Points : 18
    Points
    18
    Par défaut fonction sans boucle
    bonjour,
    j'essaye de trouver une fonction scilab de ce genre fonction(a,b) qui construit un vecteur avec contenant a fois les les nombres allant de 1 à b. Par exemple, si je donne fonction(2,3), elle doit me renvoyer [1 1 2 2 3 3], et si donne fonction (4,2) elle me renvoie [1 1 1 1 2 2 2 2]. Je dois le faire sans utiliser de boucle for ou while, juste en utilisant des vecteurs.
    avec une boucle je réussis à faire ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    function res=fonction(a,b)
      v=[]
      for i=[1:b]
        v=[v i*ones(1,a)]
      end
      res=v
    endfunction
    Quelqu'un aurait-il une solution sans utilisation de boucle ?
    Merci

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Avec la fonction kron :

  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mai 2012
    Messages : 20
    Points : 18
    Points
    18
    Par défaut
    merci Winjerome de ta réponse
    Effectivement ça marche cependant le professeur n'a jamais parlé de la fonction kron en cours c'est pourquoi j'aimerais savoir s'il existe encore une autre solution
    Merci

  4. #4
    Invité
    Invité(e)
    Par défaut
    N'hésite pas à regarder sa documentation help kron
    Un indice pour une autre solution : ça passe par la multiplication de deux vecteurs pour former une matrice.

  5. #5
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mai 2012
    Messages : 20
    Points : 18
    Points
    18
    Par défaut
    oui j'avais regardé, il correspond au produit de kronecker, je comptais me baser sur ça mais Je vais réfléchir à l'indication que tu m'as donnée
    merci

    Ca y est j'ai trouvé une solution qui marche sans utiliser kron, je ne sais pas si tu pensais à ça aussi mais voila le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    function v=fonction(val,rep)
      res=ones(rep,1)*[1:val]
      v=res(1:$)'
    endfunction
    Et au fait merci aussi pour Cours et tutoriels pour apprendre Scilab

  6. #6
    Invité
    Invité(e)
    Par défaut
    À peu de choses près oui
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    v = matrix(ones(rep,1)*(1:val), 1, -1);

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 26/03/2013, 16h48
  2. fonction colon pour cell (sans boucle for)
    Par soft001 dans le forum MATLAB
    Réponses: 1
    Dernier message: 11/09/2011, 13h11
  3. Fonction Tribonacci sans boucle
    Par pAnTiNhO dans le forum Langage
    Réponses: 7
    Dernier message: 25/12/2008, 13h25
  4. [SQL SERVER 2000] Fonction utilisateur : boucle sans fin
    Par galinijay dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 30/09/2005, 16h03
  5. Création d'une fonction sans paramètre?
    Par falcon dans le forum Oracle
    Réponses: 3
    Dernier message: 13/12/2004, 11h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo