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 :

Problème de syntaxe non identifié


Sujet :

MATLAB

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 43
    Points : 29
    Points
    29
    Par défaut Problème de syntaxe non identifié
    Bonjour tout le monde !

    Déjà joyeux noël (en retard) et bonne année (en avance) !

    J'ai un petit problème sur un programme d'interpolation polynomiale (Lagrange) et des calcul numérique d'intégrales pour un TP.

    Il s'agit plus d'un problème lié au code qu'aux maths (qui selon moi sont justes). Le script principal, les fichiers pour la fonction étudiée (Fonction.txt) et pour l'interpolation proprement dite (Interpol.txt) sont en pièces jointes.

    Le problème est le suivant :

    Dans les 2 étapes du script principal (voir ci dessous) ... la fonction Interpol est appelée pour approximer la valeur de la fonction Fonction en un point donné à partir d'un ensemble de points et de valeurs exactes de Fonction en ces points (une interpolation de Lagrange en somme ^^)

    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
    %--------------------------------------------------------------------------
    % Construction de la matrice BY 
    % (Valeurs interpolées de z aux points de coordonnées Mx & Ay)
    %--------------------------------------------------------------------------
    BY = zeros(Ny,Np);
     
    for i = 1:Ny
     for j = 1:Np
     BY(i,j) = Interpol(Nx,AX(1,:),T(i,:),MX(j));
     end
    end
     
    %--------------------------------------------------------------------------
    % Construction du vecteur A 
    % (Valeurs interpolées de z aux points M du segment DE)
    %--------------------------------------------------------------------------
    A = zeros(1,Np);
     
    for k = 1:Np
     A(k) = Interpol(Ny,AY(:,1)',BY(:,k)',MY(k));
    end
    Le souci c'est que j'obtiens BY et A remplis de 0 ... comme définis lors des préallocations mémoires.

    Du coup j'ai plusieurs hypothèses ...

    • L'une est que la fonction Interpol n'est pas (ou pas bien) appelée dans les 2 cas -> Problème de syntaxe ou de variables dans la définition de Interpol ?

    • L'autre est que la boucle for à l'intérieur de la définition de la fonction Interpol ne fonctionne pas (voir ci dessous) ... ce qui fait que le vecteur PEl reste rempli de 0 (comme définis en préalloc mem) ... et que du coup P est nul car somme de ces 0 -> Problème de syntaxe dans la boucle ?

    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
    function P = Interpol(N,X,Y,a)
     
    PEl = zeros(1,N);
    % Pré allocation mémoire pour PEl (Vecteur des Polynomes Elementaires)
     
    for m = 1:N
     QEl = zeros(1,N); 
     % Pré allocation mémoire pour QEl (Vecteur des Quotients Elementaires)
      for n = 1:N   
       if m~=n
       QEl(n) = ((a-X(n))/(X(m)-X(n)));
       % Construction progressive du vecteur QEl (N éléments)
       end
      end
     PEl(m) = prod(QEl)*Y(m);
     % Construction progressive du vecteur PEl (N éléments)    
    end
     
    P = sum(PEl);
    % Construction du Polynome de Lagrange P (Somme des polynomes élementaires)
    Cependant je n'arrive pas à voir où j'ai fait une erreur de code dans l'une ou l'autre des hypothèses.

    Est ce que quelqu'un pourrait tester ce programme sur sa machine (j'utilise MATLAB 7.4) ... et me donner un point de vue extérieur sur la cause du disfonctionnement ?

    Merci d'avance à vous.

    Damien.
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. De multiples problèmes, une cause non identifié
    Par student_php dans le forum Apache
    Réponses: 1
    Dernier message: 19/06/2012, 09h50
  2. Problème de syntaxe sur la division non arrondie de deux variables
    Par fuyo2004 dans le forum Général Python
    Réponses: 2
    Dernier message: 28/05/2010, 17h27
  3. Problème non identifié, bug boucle perl
    Par Adrien_13 dans le forum Langage
    Réponses: 1
    Dernier message: 09/03/2010, 09h07
  4. problème de micro portable non identifié
    Par mhsami84 dans le forum Ordinateurs
    Réponses: 1
    Dernier message: 31/03/2008, 11h08
  5. problème de variable non identifié
    Par teen6517 dans le forum Langage
    Réponses: 1
    Dernier message: 08/03/2007, 19h35

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