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 :

[interp1] problème d'interpolation [Débutant]


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juin 2009
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 20
    Par défaut [interp1] problème d'interpolation
    Bonjour,

    Au lieu de faire un long disours, j'ai fait un print écran de mon problème.


    En vert, j'ai une courbe de 9 points. (entouré en jaune deux des 9 points)
    En bleu gris, j'ai fait un interp1 pour avoir autant de points que sur la courbe rouge

    Mais je me suis rendu compte de quelque chose de bizare, c'est que la courbe bleu s'écarte de la courbe verte. (alors que je suis en 'linear' pour le interp)

    Cela est-il lié directement à la fonction interp1? Y a t'il une solution pour ajouter des points sans que les deux courbes ne s'éloignent?

  2. #2
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 317
    Par défaut
    Serait-il possible d'avoir les valeurs des 9 points ?

  3. #3
    Membre averti
    Inscrit en
    Juin 2009
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 20
    Par défaut
    x=[497.6 588.6 712 861.3 1090 1192 22551 3227 3993

    Y=[57.3 62.6 63.76 56.84 64.33 66.98 72.28 72.05 67.21]

  4. #4
    Membre averti
    Inscrit en
    Juin 2009
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 20
    Par défaut
    Voila toutes les valeurs:
    (abscisse courbe verte)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    xUppGabFinded =
     
      1.0e+003 *
     
        0.4976
        0.5886
        0.7120
        0.8613
        1.0895
        1.1916
        2.5513
        3.2275
        3.9925
    (ordonnée courbe verte)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    yUppGabFinded =
     
       57.3000
       62.6000
       63.7600
       56.8400
       64.3300
       66.9800
       72.2800
       72.0500
       67.2100
    Valeurs d'interpolation (x de la courbe rouge)

    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
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    xFinded'
     
    ans =
     
      1.0e+003 *
     
        0.5012
        0.5085
        0.5158
        0.5233
        0.5309
        0.5386
        0.5464
        0.5543
        0.5624
        0.5705
        0.5788
        0.5872
        0.5957
        0.6043
        0.6131
        0.6220
        0.6310
        0.6401
        0.6494
        0.6588
        0.6684
        0.6780
        0.6879
        0.6978
        0.7080
        0.7182
        0.7286
        0.7392
        0.7499
        0.7608
        0.7718
        0.7830
        0.7943
        0.8059
        0.8175
        0.8294
        0.8414
        0.8536
        0.8660
        0.8785
        0.8913
        0.9042
        0.9173
        0.9306
        0.9441
        0.9578
        0.9716
        0.9857
        1.0000
        1.0145
        1.0292
        1.0441
        1.0593
        1.0746
        1.0902
        1.1060
        1.1220
        1.1383
        1.1548
        1.1715
        1.1885
        1.2058
        1.2232
        1.2410
        1.2589
        1.2772
        1.2957
        1.3145
        1.3335
        1.3529
        1.3725
        1.3924
        1.4126
        1.4330
        1.4538
        1.4749
        1.4963
        1.5180
        1.5400
        1.5623
        1.5849
        1.6079
        1.6312
        1.6548
        1.6788
        1.7032
        1.7278
        1.7529
        1.7783
        1.8041
        1.8302
        1.8568
        1.8837
        1.9110
        1.9387
        1.9668
        1.9953
        2.0242
        2.0536
        2.0833
        2.1135
        2.1442
        2.1752
        2.2068
        2.2388
        2.2712
        2.3041
        2.3375
        2.3714
        2.4058
        2.4407
        2.4760
        2.5119
        2.5483
        2.5853
        2.6227
        2.6608
        2.6993
        2.7385
        2.7782
        2.8184
        2.8593
        2.9007
        2.9428
        2.9854
        3.0287
        3.0726
        3.1172
        3.1623
        3.2082
        3.2547
        3.3019
        3.3497
        3.3983
        3.4475
        3.4975
        3.5482
        3.5996
        3.6518
        3.7047
        3.7584
        3.8129
        3.8682
        3.9243
        3.9811
    yUppGabFindedInt' (la variable qu'on interpole)

    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
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    ans =
     
       57.5085
       57.9320
       58.3613
       58.7970
       59.2385
       59.6870
       60.1413
       60.6027
       61.0710
       61.5457
       62.0274
       62.5161
       62.6665
       62.7476
       62.8300
       62.9135
       62.9983
       63.0842
       63.1715
       63.2600
       63.3497
       63.4408
       63.5332
       63.6270
       63.7220
       63.4712
       62.9886
       62.4990
       62.0025
       61.4986
       60.9873
       60.4685
       59.9423
       59.4087
       58.8673
       58.3179
       57.7602
       57.1951
       56.9949
       57.4067
       57.8244
       58.2484
       58.6785
       59.1146
       59.5573
       60.0065
       60.4619
       60.9243
       61.3929
       61.8687
       62.3510
       62.8406
       63.3374
       63.8411
       64.3477
       64.7578
       65.1739
       65.5962
       66.0245
       66.4590
       66.8998
       67.0351
       67.1032
       67.1724
       67.2425
       67.3136
       67.3858
       67.4590
       67.5332
       67.6086
       67.6850
       67.7626
       67.8413
       67.9210
       68.0020
       68.0842
       68.1675
       68.2521
       68.3378
       68.4248
       68.5131
       68.6026
       68.6935
       68.7857
       68.8792
       68.9740
       69.0703
       69.1679
       69.2669
       69.3674
       69.4693
       69.5727
       69.6777
       69.7841
       69.8921
       70.0016
       70.1127
       70.2255
       70.3399
       70.4559
       70.5736
       70.6930
       70.8142
       70.9371
       71.0618
       71.1883
       71.3166
       71.4468
       71.5788
       71.7128
       71.8488
       71.9867
       72.1266
       72.2685
       72.2684
       72.2557
       72.2428
       72.2296
       72.2163
       72.2028
       72.1891
       72.1752
       72.1611
       72.1468
       72.1323
       72.1176
       72.1027
       72.0875
       72.0722
       72.0566
       71.8780
       71.5796
       71.2768
       70.9695
       70.6580
       70.3417
       70.0210
       69.6956
       69.3655
       69.0306
       68.6909
       68.3462
       67.9965
       67.6418
       67.2819

  5. #5
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 317
    Par défaut
    Si tu veux que la courbe passe par les points, il faut inclure les points de départ dans l'interpolation :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    X=[497.6 588.6 712 861.3 1090 1192 2255 3227 3993];
     
    Y=[57.3 62.6 63.76 56.84 64.33 66.98 72.28 72.05 67.21];
     
    Xi = sort([linspace(min(X),max(X),100) X]);
     
    Yi = interp1(X,Y,Xi);
     
    figure
    plot(X,Y,'sg-',Xi,Yi,'r-')

  6. #6
    Membre averti
    Inscrit en
    Juin 2009
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 20
    Par défaut
    cela fonctionne en effet avec un plot.
    Mais quand je plot, je fais du semilogx et là ça ne fonctionne plus.

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

Discussions similaires

  1. [Débutant] Problème pour interpoler
    Par MTN84 dans le forum MATLAB
    Réponses: 4
    Dernier message: 13/08/2009, 16h47
  2. Problème d'interpolation cubique et dérivée
    Par quarante-sept dans le forum Graphisme
    Réponses: 0
    Dernier message: 26/03/2009, 23h20
  3. [Interp1] Problème d'interpolation
    Par mathylde dans le forum MATLAB
    Réponses: 9
    Dernier message: 07/07/2008, 17h17
  4. Problème d'interpolation dans un graphique 3D
    Par Ptit oui-oui dans le forum MATLAB
    Réponses: 2
    Dernier message: 26/11/2007, 20h05
  5. Shell et perl problème d'interpolation de variable.
    Par Whaouu dans le forum Langage
    Réponses: 7
    Dernier message: 26/10/2005, 17h39

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