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 :

MATLAB et language C - Fonction à deux variables [maths] -


Sujet :

MATLAB

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    DUT GEII
    Inscrit en
    Mai 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : DUT GEII
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2014
    Messages : 6
    Points : 1
    Points
    1
    Par défaut MATLAB et language C - Fonction à deux variables [maths] -
    Bonjour à tous,

    Je n'arrive pas à faire cet exo sur matlab, j'aurais besoin d'un coup de main s'il vous plait :

    1.Définir dans un m.file h.m la fonction h à deux variables x et k, définie sur IR par h(x,k)=sin(2kx) en tapant les instructions suivantes:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    for k=1:3
     
        y(k,: )=h(x,k);
     
    end 
     
    plot(x,y)
    2.Créer un programme5 dans lequel:

    Vous demanderez d'entrer un entier naturel non nul.

    Vous représenter les n premières allures des représentations graphiques des fonctions h pour k de 1 à n en tapant les instructions suivantes:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    for k=1:3
     
        y(k,: )=h(x,k);
     
    end 
     
    plot(x,y)
    Vous exécuterez ce programme pour n = 3 pour x=-pi:pi

    Le problème c'est que je fais exactement ce qui était demandé dans l'énoncé mais il me met des messages d'erreur :

    programme5
    ??? Subscripted assignment dimension mismatch.
    
    Error in ==> programme5 at 2
        y(k,: )=h(x,k);

    Merci d'avance !

  2. #2
    Invité
    Invité(e)

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    DUT GEII
    Inscrit en
    Mai 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : DUT GEII
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2014
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Merci de votre réponse, mais je pense que c'est un problème de programmation, non?
    J'ai vu tout erreurs indiqué dans l'FAQ, et en TP je ne me rappel pas avoir vu ça ...

    Par ailleurs, j'aimerais avoir qlq explications pour cette question:

    "Vous demanderez d'entrer un entier naturel non nul.

    Vous représenter les n premières allures des représentations graphiques des fonctions h pour k de 1 à n en tapant les instructions suivantes:"

  4. #4
    Invité
    Invité(e)
    Par défaut
    Oui c'est bien un problème de logique de programmation MATLAB

    Qu'est-ce que tu ne comprends pas dans ce qui est demandé ?
    Vous demanderez d'entrer un entier naturel non nul.
    tu dois demander à l'utilisateur d'entrer une valeur et vérifier derrière qu'elle est entière et non nulle. Je présume qu'il s'agit de n.

    Vous représenter les n premières allures des représentations graphiques des fonctions h pour k de 1 à n en tapant les instructions suivantes:"
    Tu dois tracer les courbes sin(2kx) pour k = 1 à n

    Remarque : x=-pi:pi ne représente que 7 valeurs, mieux vaut utiliser la fonction linspace avec un nombre de points plus élevé

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    DUT GEII
    Inscrit en
    Mai 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : DUT GEII
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2014
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Par contre j'ai un petit soucie, il m'affiche cette erreur quand je lance mon programme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    >> programme5
    Entrez un entier naturel non nul  3
     
    n =
     
         3
     
    ??? Subscripted assignment dimension mismatch.
     
    Error in ==> prog1 at 4
        y(k,:)=n*h(x,k);
    Pourquoi ?

  6. #6
    Invité
    Invité(e)
    Par défaut
    Applique ce qui est dit dans le sujet de la FAQ, à savoir appliquer la fonction size sur les deux parties, tu comprendras vite pour quoi.

  7. #7
    Nouveau Candidat au Club
    Homme Profil pro
    DUT GEII
    Inscrit en
    Mai 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : DUT GEII
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2014
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Ah non, je ne vois pas vraiment comment faire :s

    Par contre j'ai réussi à afficher une courbe en faisant :

    plot(x,h(x,k))

  8. #8
    Invité
    Invité(e)
    Par défaut
    Appliquer simplement size sur les deux parties gauche size(y(k,:)) et droite size(n*h(x,k)) du signé égal, et observer leur résultat, c'est si dur que ça ?

  9. #9
    Nouveau Candidat au Club
    Homme Profil pro
    DUT GEII
    Inscrit en
    Mai 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : DUT GEII
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2014
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    C'était juste ça ...

    Par contre l'erreur persiste sauf que cet fois-ci il me dit :

    Error in ==> prog1 at 4
       size(y(k,:))=size(n*h(x,k))
    lol

  10. #10
    Invité
    Invité(e)
    Par défaut
    Je n'ai pas dit de remplacer par ces instructions en correction, mais de regarder ce que ces instructions renvoyaient séparément afin de comprendre pourquoi tu as l'erreur précédente
    Relis de façon calme et posée le sujet de la FAQ

  11. #11
    Nouveau Candidat au Club
    Homme Profil pro
    DUT GEII
    Inscrit en
    Mai 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : DUT GEII
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2014
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Personnellement j'ai fichtrement rien compris de ce que vous me dites mais j'ai trouvé la solution, merci de votre aide bonne soirée

Discussions similaires

  1. fonction à deux variables
    Par guefrachi dans le forum MATLAB
    Réponses: 6
    Dernier message: 21/06/2010, 10h39
  2. [Débutant] extremum fonction à deux variables
    Par Medde dans le forum MATLAB
    Réponses: 13
    Dernier message: 25/06/2009, 13h57
  3. Fonction à deux variables.
    Par bigboy dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 04/04/2009, 12h11
  4. Fonctions à deux variables
    Par niblos79 dans le forum MATLAB
    Réponses: 2
    Dernier message: 12/11/2007, 09h33
  5. fonctions à deux variables
    Par prince19 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 02/06/2007, 10h03

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