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 :

Interpolation (4 paramètres)


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Australie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2011
    Messages : 9
    Par défaut Interpolation (4 paramètres)
    Bonjour

    Je dois réussir à obtenir une fonction d'interpolation impliquant 4 paramètres pour arriver à un résultat; j'ai essayé d'utiliser la fonction interpn et je n'y arrive malheureusement pas.

    Je vous mets le script que j'ai écris:
    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
    %% Importation of values
    A=xlsread('C:\Users\Thomas\Documents\yop.xlsx','B2:Y6');
     
    % Defining of columns and raws
     
    sizem=size(A);
    rowsA=sizem(1);
    columnsA=sizem(2);
     
    % Assigning values to their names
     
    for i=1:1:columnsA
        freq(i)=A(1,i);      %Frequency of the motor (Hz)
        Tempin(i)=A(2,i);   %Temperature gas compressor in (°C)
        Presout(i)=A(3,i);   %Pressure gas HP(out) (bara)
        Presin(i)=A(4,i);    %Pressure gas LP (in) (bara)
        Power(i)=A(5,i);      %Power (kW) 
    end
     
     
     
    Power = @(freq,Tempin,Presout,Presin)Presout.*exp(-freq.^2 - Tempin.^2 - Presin.^2);
     
    [freq,Tempin,Presout,Presin] = ndgrid(25:1:60,40:0.05:42,9:0.2:12,2:0.2:6);
    v = Power(freq,Tempin,Presout,Presin);
    [freqi,Tempini,Presouti,Presini] = ndgrid(25:0.5:60,-40:0,025:42,9:0.1:1,0:0.5:10);
    vi = interpn(feq,Tempin,Presout,Presin,v,freqi,Tempini,Presouti,Presini,'spline')
    Je prends les données via un tableur et ensuite j'essaye de construire une interpolation comme expliquée dans l'aide de MATLAB mais impossible d'arriver à un résultat .

    Merci d'avance pour votre aide.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    D'après le code qui suit, les variables que tu obtiens de ton fichier Excel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    % Assigning values to their names
     
    for i=1:1:columnsA
        freq(i)=A(1,i);      %Frequency of the motor (Hz)
        Tempin(i)=A(2,i);   %Temperature gas compressor in (°C)
        Presout(i)=A(3,i);   %Pressure gas HP(out) (bara)
        Presin(i)=A(4,i);    %Pressure gas LP (in) (bara)
        Power(i)=A(5,i);      %Power (kW) 
    end
    code qui peut être simplifié en :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    freq = A(1,:);      %Frequency of the motor (Hz)
    Tempin = A(2,:);   %Temperature gas compressor in (°C)
    Presout = A(3,:);   %Pressure gas HP(out) (bara)
    Presin = A(4,:);    %Pressure gas LP (in) (bara)
    Power = A(5,:);      %Power (kW)
    ne servent pas dans la suite : tu construis une simple grille avec ngrid à laquelle tu appliques la fonction donnée dans l'exemple qui écrase tes données
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Power = @(freq,Tempin,Presout,Presin)Presout.*exp(-freq.^2 - Tempin.^2 - Presin.^2);
     
    [freq,Tempin,Presout,Presin] = ndgrid(25:1:60,40:0.05:42,9:0.2:12,2:0.2:6);
    v = Power(freq,Tempin,Presout,Presin);
    Il te faut utiliser TES données directement.

  3. #3
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Australie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2011
    Messages : 9
    Par défaut
    Je comprends bien pour ce qu'il en est d'écraser les données.
    Mais je dois quand même bien créer une fonction comme je l'ai fait au début de mon code?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Power = @(freq,Tempin,Presout,Presin)Presout.*exp(-freq.^2 - Tempin.^2 - Presin.^2);
    Mon problème, c'est ensuite comment obtenir les constantes de ma fonctions.
    Il y a peut-être une autre fonction dans MATLAB pour ce genre d'utilisation?

    Je suis désolé, je reprends MATLAB après un très long arrêt et c'est pas forcément évident.

    Merci d'avance

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par tomasson974 Voir le message
    Mon problème, c'est ensuite comment obtenir les constantes de ma fonctions.
    Que cherches-tu à obtenir précisément ?

  5. #5
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Australie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2011
    Messages : 9
    Par défaut
    J'ai une feuille EXCEL avec 5 valeurs pour différentes simulations:
    4 paramètres d'entrée(freq, Tempin, Presin, Presout)
    1 paramètre de sortie(Power)

    Je veux obtenir un modèle tel que :
    fonction(4 paramètre d'entrée)= paramètre de sortie

    Merci d'avance

  6. #6
    Invité
    Invité(e)
    Par défaut
    Dans ce cas, l'interpolation n'est pas adaptée

    As-tu une idée du modèle (fonction, ordre,...) ?
    D'autres informations ?

Discussions similaires

  1. Interpolation multi-paramètres
    Par GagnetYvon dans le forum Mathématiques
    Réponses: 6
    Dernier message: 19/06/2012, 17h39
  2. [FLASH MX] Interpolations de formes
    Par SamDaKap dans le forum Flash
    Réponses: 7
    Dernier message: 13/04/2005, 16h12
  3. [SWT] Problème de paramètre GridData
    Par yolepro dans le forum SWT/JFace
    Réponses: 4
    Dernier message: 06/12/2002, 10h37
  4. passage en paramètre d'un array dynamique 2D
    Par Guigui_ dans le forum Langage
    Réponses: 4
    Dernier message: 27/11/2002, 19h47
  5. Paramètre requete SQL (ADOQuery)
    Par GaL dans le forum C++Builder
    Réponses: 3
    Dernier message: 30/07/2002, 11h24

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