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 :

Fonction MATLAB load fichier .txt


Sujet :

Simulink

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2012
    Messages : 15
    Par défaut Fonction MATLAB load fichier .txt
    Bonjour,

    Je cherche à implémenter ma mppt faites sur Matlab sur Simulink.
    C'est pourquoi j'utilise matlab function avec le code source à l'intérieur.
    Ce code fait appel à un fichier txt pour prendre des valeurs d'ensoleillement.
    Lorsque je lance la simulation, j'ai des messages d'erreurs :

    Function 'load' implicitly resolved in the MATLAB workspace. Implicit evaluation in MATLAB is not supported. Please declare this function extrinsic using coder.extrinsic('load'), or call it using feval.
    
    Function 'MATLAB Function' (#18.1936.1961), line 86, column 1:
    "load ensoleillement2.txt;"
    Launch diagnostic report.
    
    Avez vous une idée?
    Merci d'avance
    Images attachées Images attachées  

  2. #2
    Expert confirmé
    Avatar de duf42
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Novembre 2007
    Messages
    3 111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 111
    Par défaut
    Bonjour,

    Tu ne peux pas utiliser la fonction LOAD directement dans une MATLAB Function car elle n'est pas supportée.

    Si tu veux vraiment l'utiliser, tu peux ajouter au début de ta fonction l'instruction:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    coder.extrinsic('load')
    Mais est-ce bien judicieux de charger ton fichier de données à chaque pas de temps? Ne vaudrait-il pas mieux le charger dans MATLAB au début de la simulation et utiliser son contenu (la ou les variables) comme paramètres de ton modèle?

    Duf

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2012
    Messages : 15
    Par défaut
    En fait, je t'explique ces valeurs permettent de tester ma MPPT c'est à dire de trouver le point maximum de la courbe. Afin de tester cette fonction MPPT, je suis obligé de faire appel à des données d'ensoleillement car tout dépend de l'ensoleillement pour connaitre la caractéristique courant / tension des panneaux PV. Je ne sais pas si je suis clair? Du coup en paramètres d'entrées c'est une sorte d'initialisation des valeurs de références ou bien des valeurs appelés ( V G T) appelées de fichier txt. Du coup je suis obligé d'appeler ce fichier txt ds la function...
    A moins qu'il existe une autre façon d'utiliser cette appel de fichier ?
    Je te joins le programme pour que tu vois.
    Fichiers attachés Fichiers attachés

  4. #4
    Modérateur
    Avatar de le fab
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    1 885
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 885
    Par défaut
    un script (avant la simulation) de préparation des données qui te créer une structure / un tableau de cellules / une matrice (en fonction de la complexité de ton pb) qui sera utilisé par ton bloc, ça me parait plus adapté

  5. #5
    Membre averti
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2012
    Messages : 15
    Par défaut
    D'accord, il existe un block existant pour faire cela? A partir de ce paramètre je peux exécuter le programme en faisant appel à ce tableau de valeur sans qu'il soit dans Matlab function?

  6. #6
    Modérateur
    Avatar de le fab
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    1 885
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 885
    Par défaut
    ton tableau est dans le workspace, tu y a accès depuis n'importe ou depuis simulink, y compris matlab fcn
    attention, ca sera plus simple avec des tableaux qu'avec des tableaux de cellules, pas reconnues par matlab embedded je crois

  7. #7
    Membre averti
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2012
    Messages : 15
    Par défaut
    Par exemple, dans mon code en .m je crée deux variable pour stocker des données :
    Vt = []
    Pt=[]

    ensuite à chaque itération de ma boucle "for" je détermine Va et Pa que je viens stocker respectivement dans Vt et Pt :
    Vt=[Vt Va]
    Pt=[Vt Va]

    En .m cela fonctionne très bien, par contre dans le block "embedded function" sur simulink, ils me disent erreur de dimensions je vois bien que j'ai deux dimensions mais le soucis c'est que si je modifie genre Vt=[Va] au final je ne retrouve pas la même chose au résultat. Comment peut on faire sur simulink?

  8. #8
    Futur Membre du Club
    Homme Profil pro
    etudiant
    Inscrit en
    Mai 2018
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : etudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2018
    Messages : 3
    Par défaut besoib d'aide
    Citation Envoyé par mika47 Voir le message
    En fait, je t'explique ces valeurs permettent de tester ma MPPT c'est à dire de trouver le point maximum de la courbe. Afin de tester cette fonction MPPT, je suis obligé de faire appel à des données d'ensoleillement car tout dépend de l'ensoleillement pour connaitre la caractéristique courant / tension des panneaux PV. Je ne sais pas si je suis clair? Du coup en paramètres d'entrées c'est une sorte d'initialisation des valeurs de références ou bien des valeurs appelés ( V G T) appelées de fichier txt. Du coup je suis obligé d'appeler ce fichier txt ds la function...
    A moins qu'il existe une autre façon d'utiliser cette appel de fichier ?
    Je te joins le programme pour que tu vois.

Discussions similaires

  1. Changement NOM PC en fonction d'un fichier .txt
    Par neogunnm dans le forum VBScript
    Réponses: 0
    Dernier message: 27/01/2011, 14h51
  2. Load fichier txt dans table DB2
    Par enovia dans le forum DB2
    Réponses: 3
    Dernier message: 01/12/2010, 12h19
  3. Fonction comptage lignes fichier txt
    Par PedroBD dans le forum VBScript
    Réponses: 4
    Dernier message: 23/08/2009, 12h07
  4. [Système] fonction fopen ! exporter en fichier txt
    Par cseb73 dans le forum Langage
    Réponses: 5
    Dernier message: 13/08/2007, 16h32
  5. Réponses: 2
    Dernier message: 26/04/2007, 21h50

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