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

Simulink Discussion :

Constantes dans Embedded Matlab


Sujet :

Simulink

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné
    Homme Profil pro
    Ingénieur 3D
    Inscrit en
    Avril 2008
    Messages
    400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur 3D

    Informations forums :
    Inscription : Avril 2008
    Messages : 400
    Par défaut Constantes dans Embedded Matlab
    Bonjour,
    J'aurai aimé savoir s'il était possible d'avoir l'equivalent de const (en C) en Matlab, c'est à dire une variable qui ne peut recevoir une valeur qu'une seule fois. Le but serait de pouvoir créer une matrice dans une fonction de Embedded Matlab (en utilisant Simulink) dont la taille serait donnée en paramètre ou définie juste au début.
    Sinon, si c'est impossible, j'aimerai savoir s'il y a une methode alternative (à la limite, même un équivalent de #define pourrait me suffire).

    Merci bien.

  2. #2
    Expert confirmé
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Par défaut
    Je ne pense pas (ni const, ni #define)
    voir ici pour les types de variables de MATLAB :
    Existe-t-il plusieurs types de définitions de variables ?

    C'est parce que tu as peur que quelqu'un change involontairement la valeur de ta variable ?

  3. #3
    Membre chevronné
    Homme Profil pro
    Ingénieur 3D
    Inscrit en
    Avril 2008
    Messages
    400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur 3D

    Informations forums :
    Inscription : Avril 2008
    Messages : 400
    Par défaut
    Non, c'est pour faire comme en C, quand on veut créer un tableau statique (embedded ne permet pas l'allocation dynamique) : la taille du tableau doit être une constante. J'esperais qu'il y aurait un moyen de faire pareil avec Matlab, pour qu'une fois converti en C, le code puisse créer une matrice statique au debut de ma fonction.

    C'est vraiment dommage, m = zeros(10) marche, p=10;m=zeros(p), non.

    Merci quand même.

  4. #4
    Membre chevronné
    Homme Profil pro
    Ingénieur 3D
    Inscrit en
    Avril 2008
    Messages
    400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur 3D

    Informations forums :
    Inscription : Avril 2008
    Messages : 400
    Par défaut
    Bon, finalement, je crois que j'ai trouvé quelque chose de satisfaisant, mais qui oblige de faire des manips dans Matlab et Simulink.

    1- Créer ses variables dans Matlab (comme d'habitude).
    2- Aller dans le Model Browser du modèle Simulink (l'icone avec la loupe, en haut à droite).
    3- Selectionner le bloc de la fonction dans l'arbre de gauche (par défaut, 'embedded matlab function').
    4- On se retrouve avec la liste des entrées sorties de la fonction. Cliquer sur Add Data (l'icone representant une matrice).
    5- Selectionner la nouvelle donnée, changer Scope en Parameter et désactiver Tunable Parameter.
    6- Changer le nom du paramètre pour qu'il corresponde à la variable existante dans Matlab.

    Et voila, maintenant cette constante peut être appelée comme n'importe quelle variable et peut servir de taille pour une matrice.

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

Discussions similaires

  1. Utilisation de M-file dans des MATLAB Embedded Functions
    Par amaury972 dans le forum Simulink
    Réponses: 6
    Dernier message: 23/05/2012, 13h16
  2. Condition IF dans une Embedded MATLAB Functio
    Par papinese dans le forum MATLAB
    Réponses: 2
    Dernier message: 30/06/2009, 10h51
  3. Constantes dans un fichier commun séparé
    Par proth dans le forum Langage
    Réponses: 3
    Dernier message: 26/01/2006, 16h21
  4. creer champ avec valeur constante dans resultat de requete
    Par freejeje dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 20/05/2005, 10h52
  5. ajout d'une constante dans un select
    Par Shabata dans le forum Langage SQL
    Réponses: 3
    Dernier message: 01/07/2004, 18h24

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