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 :

Xlsread vs Uiimport


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Biotechnologie
    Inscrit en
    Août 2014
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Suisse

    Informations professionnelles :
    Activité : Biotechnologie
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Août 2014
    Messages : 12
    Par défaut Xlsread vs Uiimport
    Bonjour à tous, je suis nouveau sur le forum.

    Voilà ma question : nous avons fais une expérience de chimie et donc avons reporté les résultats sur un fichier excel. Nous devons importer ces données sur Matlab et en faire pas mal de choses avec. Mais dans mon travail je dois expliciter la question : quels sont les avantages et désavantages de xlsread par rapport a uiimport ?

    Si vous avez des réponses je suis preneur.
    Merci d'avance !
    Jérémy Bosson

  2. #2
    Modérateur

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Août 2014
    Messages
    1 295
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2014
    Messages : 1 295
    Par défaut
    Bonjour,

    As tu testé les deux fonctions sur l'un de tes tableaux de données? Tu peux commencer à comparer par toi même les résultats qu'elles te donnent. Tu peux également aller voir un descriptif des fonctions en utilisant l'aide MATLAB.
    Petite piste, xlsread ne va servir qu'à mettre les valeurs numériques de tes fichiers dans un tableau, en remplaçant les chaînes de caractères par des NaN, tandis que uiimport va par exemple permettre de directement séparer les colonnes en différents vecteurs, gérer les noms des variables en utilisant les chaînes de caractères présent dans ton fichier excel, etc... L'utilité de ces deux fonctions dépend avant tout de la forme de ton fichier excel, si ce n'est qu'un tableau de valeur, xlsread est suffisant selon moi.

    EDIT:
    xlsread ne va servir qu'à mettre les valeurs numériques de tes fichiers dans un tableau
    est vrai uniquement dans le fonctionnement basique de la fonction xlsread, c'est à dire

  3. #3
    Membre habitué
    Homme Profil pro
    Biotechnologie
    Inscrit en
    Août 2014
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Suisse

    Informations professionnelles :
    Activité : Biotechnologie
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Août 2014
    Messages : 12
    Par défaut
    Tout d'abord merci de la réponse.
    Donc dans notre projet, les deux méthodes ont dues être testées. Je vais allez voir l'aide matlab aussi oui c'est une bonne piste. Xls ne fait que de mettre nos valeurs numériques en tableaux et remplacer les chaînes de caractères par des NaN ? Il ne permet pas de faire d'autres opérations ? Merci pour la piste je vais creuser et vous reposer des questions si besoin . Et je suis coincé avec mon script aussi, je sais pas si j'ose vous l'exposer ?

  4. #4
    Modérateur

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Août 2014
    Messages
    1 295
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2014
    Messages : 1 295
    Par défaut
    Si tu exécutes la commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    A = xlsread('monTableauDeDonnées.xls');
    la variable A te renverra une matrice de nombres comme celle existante dans ta feuille excel, à ceci près que si par exemple tu as mis dans la première ligne de ton fichier excel à quoi correspondent ces colonnes (temps en s, pH...) la première ligne de A dans MATLAB sera alors composé de NaN.

    Il existe cependant des options spécifiques à la fonction qui te permettront d'utiliser la fonction xlsread de façon un peu différente. Par exemple si tu effectues la commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [num,txt] = xlsread('monTableauDeDonnées.xls')
    num correspondra à A de l'exemple précédent tandis que txt sera composé des différentes chaînes de caractères présent dans ta feuille excel. Mais pour avoir une idée précise du fonctionnement de la fonction xls, je t'invite à aller la découvrir dans l'aide de MATLAB, qui est complète et bien rédigé.

    Ensuite, tu peux travailler sur ta matrice A/num comme bon te semble est effectué toute sorte de calcul.

    Avant de nous exposer ton script, tu pourrais commencer par expliquer quel est le problème que tu rencontres peut être

    PS: je ne suis pas un expert MATLAB, il se peut que des subtilités m'échappent ou que mes explications soient imprécises voire légèrement fausse. Un avis complémentaire pourrait être utile afin d'avoir une réponse plus précise et plus juste.

  5. #5
    Membre habitué
    Homme Profil pro
    Biotechnologie
    Inscrit en
    Août 2014
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Suisse

    Informations professionnelles :
    Activité : Biotechnologie
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Août 2014
    Messages : 12
    Par défaut
    D'accord c'est parti

    Alors voila nous avons fait deux dosage d'un même mélange KI/KCl par potentiométrie. Donc nous avons dans notre tableau excel une colonne avec les volumes de solution titrante et deux autres colonnes avec les millivolts de nos deux expériences. Nous devons en un premier temps charger les données, puis éloigner les valeurs aberrantes et ensuite repérer les données manquantes s'il y en a.
    Ensuite nous devons interpoler pour combler les trous et lisser les données pour éliminer les bruits.
    Ensuite il y a quelques calculs statistiques à faire ( moyenne, ecart type, médiane, ...) et grâce à cela déterminer un intervalle de vraisemblance. Finalement nous devons déterminer les points d'équivalence de nos titrations par rapport au plot que nous avons effectuer un peu plus haut. La première méthode est avec une série de droite et il suffit de trouver un croisement de droite pour déterminer ce point d'équivalence.
    La deuxième méthode pour le deuxième point d'équivalence me pose problème car il faut travailler sur la première et deuxième dérivée de notre courbe pour trouver des maximums et en définir ou est le changement de signes pour savoir exactement ou est notre point cherché.

    Voila une idée de ce que je dois faire. C'est compréhensible ?

  6. #6
    Modérateur

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Août 2014
    Messages
    1 295
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2014
    Messages : 1 295
    Par défaut
    Oui c'est assez clair, maintenant que ton sujet est bien exposé, peux tu nous dire où se situe le problème dans ton script, puisque a priori, tu as déjà au moins un commencement de script?

    Comme tu peux le voir, je suis nouveau aussi sur ce forum (août 2014!), je ne sais pas si tu dois créer un nouveau topic pour ton problème ou pas, mais on va supposer que tu peux poster ton script sur ce même sujet

  7. #7
    Membre habitué
    Homme Profil pro
    Biotechnologie
    Inscrit en
    Août 2014
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Suisse

    Informations professionnelles :
    Activité : Biotechnologie
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Août 2014
    Messages : 12
    Par défaut
    Voilà on script :

    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    [d]=xlsread('Projet1.xlsx','Sheet1');
     
    mv1 = d(:,2);
    mv2 = d(:,3);
    vol = d(:,1);
     
    lignesatrou = any(isnan([mv1,mv2]),2);
    vol(lignesatrou) = [];
    mv1(lignesatrou) = [];
    mv2(lignesatrou) = [];
     
    pas_de_trou = ~isnan(mv1);
    mv1 = interp1(vol(pas_de_trou),mv1(pas_de_trou), vol);
     
    pas_de_trou = ~isnan(mv2);
    mv2 = interp1(vol(pas_de_trou),mv2(pas_de_trou), vol);
     
    outliers =([mv1 mv2] - mean([mv1;mv2]) >= 3*std([mv1;mv2]));
     
    mv1(outliers(:,1))= NaN;
    mv2(outliers(:,2))= NaN;
     
    span = 0;
    lissage = conv([mv1;mv2],ones(span,1)/span, 'same');
     
    moyenne = mean([mv1 mv2]')';
     
    ecart_type = std([mv1 mv2]')';
     
    intervallevraisemblance = ecart_type/sqrt(2)*t(0.05,1);
     
    errorbar(vol,moyenne,intervallevraisemblance);
     
    title('Dosage halogénure [KI et KCl]')
    xlabel('Volume [mL]')
    ylabel('Potentiel [mV]')
     
    pv1 = polyfit(vol(10:11), mv1(10:11),1);
    ph1 = polyfit(vol(15:22), mv1(15:22),1);
     
    pv2 = polyfit(vol(10:11), mv2(10:11),1);
    ph2 = polyfit(vol(15:22), mv2(15:22),1);
     
    x1 = (ph1(2)-pv1(2))/(pv1(1)-ph1(1));
    x2 = (ph2(2)-pv2(2))/(pv2(1)-ph2(1));
    moyennePtEqui = mean(x1:x2);
     
    d1_exp1 = gradient(mv1, vol);
    d2_exp1 = gradient(d1_exp1, vol);
    tmp = [ vol d1_exp1 d2_exp1 ];
     
     
    d1_exp2 = gradient(mv2, vol);
    d2_exp2 = gradient(d1_exp1, vol);
    tmp = [ vol d1_exp2 d2_exp2 ];
    Ma difficulté c'est que je ne sais pas comment continuer avec mes 1eres et 2emes dérivées pour trouver mon point d'équivalence. Est-ce que tu aurais une idée ?
    Merci de ton aide.
    Oui j'espère que je peux poster cela ici !

Discussions similaires

  1. [Compiler] Problème avec uiimport
    Par sebten dans le forum MATLAB
    Réponses: 8
    Dernier message: 14/08/2008, 14h04
  2. Champs String vide avec xlsread
    Par benoitbs dans le forum MATLAB
    Réponses: 9
    Dernier message: 18/02/2008, 15h50
  3. Réponses: 2
    Dernier message: 07/02/2008, 14h53
  4. Utilisation de 'xlsread' de matlab
    Par virginie999 dans le forum MATLAB
    Réponses: 23
    Dernier message: 11/01/2008, 17h01
  5. [xlsread] Problème d'arguments
    Par Eric06 dans le forum MATLAB
    Réponses: 5
    Dernier message: 11/01/2007, 11h38

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