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 :

Détermination des coordonnées d'un point quelconque sur une courbe discrète


Sujet :

MATLAB

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9
    Points : 5
    Points
    5
    Par défaut Détermination des coordonnées d'un point quelconque sur une courbe discrète
    Bonjour,

    Je dispose de ce fichier (qui s'appelle 'Mon_fichier') qui contient ceci:

    1.81600e+03 1.18251e+01
    2.05400e+03 1.83515e+01
    2.29900e+03 1.73561e+01
    2.54100e+03 1.55812e+01
    2.78200e+03 2.03578e+01
    3.02200e+03 1.87626e+01
    3.14300e+03 2.36957e+01
    3.26500e+03 2.25014e+01
    3.38800e+03 2.02613e+01
    3.50800e+03 1.93557e+01
    3.63000e+03 2.16266e+01
    A gauche les abscisses, à droite les ordonnées.
    Avec ces points j'effectue une régression logarithmique (voir mon programme ci-dessous), et j'obtiens donc une courbe de régression logarithmique de 11 points en l'occurence (puisque mon fichier de départ à 11 points).
    Ce que je voudrais c'est pouvoir trouver l'ordonné d'un point appartenant à la courbe de régression logarithmique à une abscisse quelconque (dans mon cas 3000).
    Je n'ai pas trouvé de fonction faisant ça dans Matlab.

    J'ai bien pensé à tracer une droite comprenant les 2 points les plus proches de celui qui m'intéresse et à calculer son intersection avec la droite x=3000 mais je perdrais pas mal en précision.

    Mes recherches sur le net ne m'ont mené qu'à ça:
    https://www.developpez.net/forums/showthread.php?t=289657
    C'est le problème le plus proche du mien, mais qui malheureusement a trouvé une autre solution.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    clear all
     
    %lecture des fichiers
    Z = dlmread('Mon_fichier',' ') ;
     
    %Regresion logarithmique
    X=[ones(size(Z(:,1))) log10(Z(:,1)) log10(Z(:,1).^2)];
    a=X\Z(:,2);
    Y=X*a;
     
    %tracage
    h=plot (Z(:,1),Z(:,2),Z(:,1),Y,'r','LineWidth',2), grid on 
    end
    Merci d'avance si vous avez une idée^^

  2. #2
    Membre éprouvé
    Avatar de rostomus
    Homme Profil pro
    Doctorant électronique et traitement du signal
    Inscrit en
    Décembre 2006
    Messages
    791
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Doctorant électronique et traitement du signal

    Informations forums :
    Inscription : Décembre 2006
    Messages : 791
    Points : 1 205
    Points
    1 205
    Par défaut
    Bonjour,

    t'as presque trouvé tout , j'ai ajouté une ligne à ton programme (en rouge):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    clear all
    
    %lecture des fichiers
    Z = dlmread('Mon_fichier',' ') ;
     
    %Regresion logarithmique
    X=[ones(size(Z(:,1))) log10(Z(:,1)) log10(Z(:,1).^2)];
    a=X\Z(:,2);
    Y=X*a;
    y=[1 log10(3000) log10(3000^2)]*a;
    %tracage
    h=plot (Z(:,1),Z(:,2),Z(:,1),Y,3000,y,'r*','LineWidth',2), grid on
    PS: pourquoi le "end"??
    MATLAB 7.4 (R2007a) WIN XP SP2
    -------------------------------------

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    Quel boulet je fais, c'était tellement évident!!

    Merci en tout cas


    Ps: pour le 'end' c'est tout simplement pasque le tout vient d'un programme un poil plus compliqué et que j'ai oublié de le virer ^^

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 08/03/2011, 14h58
  2. Réponses: 2
    Dernier message: 03/01/2009, 19h42
  3. Détermination des coordonnées d'un point sur un plot
    Par Contractofoued dans le forum Interfaces Graphiques
    Réponses: 2
    Dernier message: 11/10/2007, 11h46
  4. Réponses: 4
    Dernier message: 06/06/2007, 12h16
  5. Réponses: 4
    Dernier message: 27/11/2006, 18h06

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