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

MATLAB Discussion :

[Visual Query Builder] Passage de MATLAB/Excel à MATLAB/MySQL


Sujet :

MATLAB

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    36
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 36
    Points : 27
    Points
    27
    Par défaut [Visual Query Builder] Passage de MATLAB/Excel à MATLAB/MySQL
    Bonjour,

    Je viens vers vous car je souhaite remplacer mes accès excel dans mon programme matlab par des accès à une base de données. Pour l'instant mon programme ressemble à cela:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    old_mu=[];
    old_sigma=[];
    old_nom='';
     
    [type, sheets] = xlsfinfo(media);
     
    L = length(sheets) % L est égal au nombre de locuteur (une fiche excel par locuteur)
     
     
    for p=1:L
        old_mu = [old_mu; xlsread(media, p,'A1:L1')]; % old_mu est une matrice qui contient les valeurs de tous les locuteurs présent dans la base excel
        old_sigma = [old_sigma; xlsread(media, p,'A2:L2')]; % pareil pour les covariances
    end
     
    mu=mu'
    sigma=sigma'
     
    xlswrite (media,mu,L+1,'A1:L1'); % on ajoute la moyenne calculée lors de l'apprentissage dans la base excel
    xlswrite (media,sigma,L+1,'A2'); % on ajoute la covariance calculée lors de l'apprentissage dans la base excel
    xlswrite (media,cellstr(nom),L+1,'A14');
     
    L = length(sheets)
     
     
    old_mu = [old_mu; xlsread(media,L+1,'A1:L1')];
    old_sigma = [old_sigma; xlsread(media, L+1,'A2:L14')];
    [i, name] = xlsread (media, L+1,'A14');
    name
    - media est une chaîne de caractère contenant le nom du fichier excel (par exemple ('francois.xls')
    - L est le numero de la fiche dans lequel on écrit/lit
    - on stocke les mu dans la première ligne de chaque fiche
    - on stocke les sigma dans les 12 lignes suivantes
    - on stocke les noms dans la 14ème ligne

    Je voudrais savoir s'il est possible (et comment on fait ça) de faire, à partir de Visual Query Builder un remplacement de
    - chaque excel 'media.xls' par une table de Base de Donnée
    - dans cette table, faire des catégories mu, sigma et nom, faciles d'accès.

    J'ai eu des cours m'expliquant brièvement le fonctionnement des base sql mais c'était il ya deux ans, donc je vous prie d'être indulgent face à mon ignorance sur le sujet...

    D'avance, je vous remercie pour votre aide.

    François

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    36
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 36
    Points : 27
    Points
    27
    Par défaut
    J'ai un peu avancé,
    J'ai pu constater que querybuilder prenait bien en cmpte mes requêtes lorsque je les fais manuellement. Cependant, étant donné que je souhaite automatiser le processus, j'ai inséré ces lignes dans mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    conn =database('Reconnaissance','sa','Spirou','com.microsoft.jdbc.sqlserver.SQLServerDriver','jdbc:sqlserver://127.0.0.1:1403;database=Reconnaissance;user=sa;password=Spirou');
    ping(conn);
    % locuteurscol={'IdLocuteur','IdChaine','Libelle','Moyenne1','Moyenne2','Moyenne3','Moyenne4','Moyenne5','Moyenne6','Moyenne7','Moyenne8','Moyenne9','Moyenne10','Moyenne11','Moyenne12'};
    % locuteursdata={2,1,nom,mu(1),mu(2),mu(3),mu(4),mu(5),mu(6),mu(7),mu(8),mu(9),mu(10),mu(11),mu(12)};
    % insert(conn, 'Locuteurs', locuteurscol, locuteursdata);
    Cependant, j'obtiens un message d'erreur qui est le suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    ??? Error using ==> database.ping
    Invalid connection.
     
    Error in ==> <a href="error:C:\Documents and Settings\fpicard\Bureau\Mediacompil toolbox\apprentissage.m,86,1">apprentissage at 86</a>
    ping(conn);
    (Je précise que j'ai déjà créé la base 'Reconnaissance', et que dans Panneau de configuration/outils d'administration/Sources de données ODBC, j'ai ajouté cette base)

    J'ai beau tourner le problème dans tous les sens, je ne comprends pas pourquoi la connection à ma bdd échoue. Si quelqu'un peut m'éclairer sur ce point, je lui en serais reconnaissant!

    François

Discussions similaires

  1. [Blog] matlab, mathlab, MatLab ou MATLAB ?
    Par Jerome Briot dans le forum MATLAB
    Réponses: 0
    Dernier message: 05/01/2014, 21h34
  2. [Débutant] erreur lors de l'ouverture de visual query builder
    Par aida1986 dans le forum MATLAB
    Réponses: 0
    Dernier message: 27/07/2011, 14h33
  3. Réponses: 2
    Dernier message: 05/07/2007, 12h39
  4. Réponses: 3
    Dernier message: 20/06/2007, 14h31
  5. Réponses: 2
    Dernier message: 04/06/2007, 16h38

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