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 :

Programmation sous MATLAB


Sujet :

MATLAB

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Allier (Auvergne)

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

    Informations forums :
    Inscription : Avril 2013
    Messages : 5
    Points : 1
    Points
    1
    Par défaut Programmation sous MATLAB
    Bonjour, je travaille actuellement sur la création d'un programme sous MATLAB.
    Cependant je rencontre quelque difficultés, je vous explique mon problème :

    En faite je possède 3 équations du type :

    a=b*X+c*(-d+e*R)
    X=(f-2*Y/g)*h+i
    Y=j*Z^3+k*Z^2+m

    avec a, b, c, d, e, f, g, h, i, j, k, m des constantes connues
    et X, Y, Z, R des variables.

    Pour mon problème je cherche R, je dois faire varier Z ce qui me donnera Y puis X et au final R.

    Je veux concrètement les valeurs de R pour les différentes valeurs imposées de Z.

    Je pense qu'il faut utiliser des boucles imbriquées cependant je n'arrive vraiment pas à rédiger ce programme.

    Pouvez-vous m'aider s'il vous plait.
    Cordialement
    Mathieu

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    640
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 640
    Points : 776
    Points
    776
    Par défaut
    Salut,

    Montre nous ce que tu as déjà programmé avec les erreurs ou les étapes où tu bloques. A partir de là, on pourra t'aider ;-).

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Allier (Auvergne)

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

    Informations forums :
    Inscription : Avril 2013
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Pour l'instant je n'ai rien fait en gros, j'ai seulement fait la 1ere boucle :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    %%Boucle calcul de To(z+deltaZ/2)
    To=Alpha.*Tomax
    for z=0:-0.005:-0.2
      To=A.*(z+deltaZ/2)^3+B.*(z+deltaZ/2)^2+D
    end
    ce qui correspond à la 3eme équation dans mon 1er message.

    Seulement mon problème est que je ne sais vraiment pas comment procéder pour résoudre mon problème, c'est à dire qu'elle outil de matlab utiliser.

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

    Comme tu le dis, il suffit de faire le chemin Z => Y => X => R, donc commence par ré-écrire les équations pour cela (que la première en fait).
    Il te suffira par la suite d'écrire quelque chose comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Z = ...
    Y = f(Z);
    X = g(Y);
    R = h(X);
    Préfère écrire ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    z=0:-0.005:-0.2
    for i = 1:length(z)
        z(i)
    end

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Allier (Auvergne)

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

    Informations forums :
    Inscription : Avril 2013
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Désolé mais je suis loin de gérer MATLAB alors à quoi correspond le "i" dans le 2eme encadré ?

    Et pour le 1er encadré, je dois définir par la suite f, g, h ??
    Et si oui comment ?
    Ce sont bien des fonctions ?

  6. #6
    Invité
    Invité(e)
    Par défaut
    i est un indice de tableau qui va varier de 1 au nombre d'éléments de z (=length(z)).
    f, g, h désignent bien de façon générique des fonctions, voulant ici simplement dire
    A = f(B) <=> A exprimé en fonction B

  7. #7
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Allier (Auvergne)

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

    Informations forums :
    Inscription : Avril 2013
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Mais je dois tout de même définir A du type :

    A=...... * B ???

    et je le fais après avoir dit : A=f(B) ?

    Je n'utilises donc plu de boucles ?

  8. #8
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Allier (Auvergne)

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

    Informations forums :
    Inscription : Avril 2013
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Pour l'instant j'ai écrit ma 1ere équation :

    Rs=[[Pi*Rp^2+Rp^2*((SigmaS-(Es/Ep)*SigmaP)/CoefdepoissonS+Pi)]/[(SigmaS-(Es/Ep)*SigmaP)/CoefdepoissonS+2*Pi-2*Po*Pi]]^(1/2)

    Rs=h(SigmaP)
    SigmaP=f(To)
    To=g(z)

    Et pour la suite je suis perdu, il me manque des morceaux

  9. #9
    Membre éclairé
    Homme Profil pro
    Doctorant automatique
    Inscrit en
    Janvier 2012
    Messages
    446
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Doctorant automatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2012
    Messages : 446
    Points : 719
    Points
    719
    Par défaut
    Salut !

    Je te conseille en premier lieu de peaufiner tes bases, cela pourra t'être utile et vraiment te simplifier la vie. Je te conseille de potasser un peu ce site (non, je ne connais pas la personne qui l'a fait, c'est juste que je le trouve très bien fait et très clair), en particulier les parties :
    - Variables et fonctions prédéfinies
    - Matrices et tableaux
    - Graphique 2D
    - Programmation matlab

    L'idéal, quand on est perdu, est de noter sur une feuille :
    => d'un côté ce que l'on a, et de l'autre, ce que l'on cherche.
    Les lien entre les deux sont tes équations.

    Décompose le plus possible tes équations puis programme-les sous forme de fonctions (cf programmation matlab), sachant que :
    => une fonction possède des entrées (ce que tu as) et des sorties (ce que tu cherches).

    A la fin, il ne te suffira plus qu'à assembler tes fonctions et le tour est joué !

    Cordialement,
    Je ne réponds pas aux MP techniques. Le forum est là pour ça.
    La raison est simple : il est ennuyeux de répondre à une seule personne, alors que la réponse peut servir à tout le monde.
    Conclusion : n'hésitez pas à utiliser le forum pour poser vos questions.
    Matlab 2005 - ver.7.1.0.183 (R14) Service Pack 3

Discussions similaires

  1. Execution d'un programme sous matlab
    Par Julien0123 dans le forum Simulation
    Réponses: 5
    Dernier message: 27/11/2014, 09h24
  2. réécrire un programme sous Matlab
    Par the_black_hat dans le forum C++
    Réponses: 1
    Dernier message: 24/05/2012, 20h55
  3. Lire un programme écrit sous MATLAB
    Par tipi09 dans le forum Octave
    Réponses: 2
    Dernier message: 06/10/2006, 10h43

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