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 :

comment programmer ces et tracer leur graphes?


Sujet :

MATLAB

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2014
    Messages : 20
    Points : 5
    Points
    5
    Par défaut comment programmer ces et tracer leur graphes?
    salut,
    voilà j´ai un exercice et ça me perturbe beaucoup, j´aimerais bien trouver une solution, peut être pourriez vous m´aider? voici je met en pièce jointe le détail et les calcul effectués, et je voudrai représenter un diagramme de réponse, voici ce que j´ai commencer à faire, mes ça ne me donne rien du tout je n´obtiens que des erreurs, U1/U0 étant une fonction de t/T, j´ai donc supposé la fonction f1(t) = U1/U0 (t/T).

    on a: d2=1/2 , et d0= -1/4
    t = (2k+1)*T, k entier qui commence à 0..


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    f1(t) = (u1 : u0) * t : T;
    t = (2*k+1) * T;
    k=0:1:50;
    g1(k) = f1((2*k+1)*T);
    d2=0.5;
    d0=0.25;
    i=0:1:k;
    A=(d2^2i)+1-d0^2;
    B=d0^2i;
    g1(k)=0.5*((1-d2^2) * sum(A) * sum(B));
    voici ce que j´ai fait jusque là, ce n´est certes pas encore complet, mais jusqu´ici je n´ai que des erreurs que voici:
    Undefined function or variable 'u1'.
    
    Error in Untitled (line 1)
    f1(t) = (u1 : u0) * t : T;
     
    j´ai certes U1, mais je ne sais pas comment le définir dans le programme,

    quelqu´un aurait il une idée?
    merci pour toute réponse positive

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    1 002
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 002
    Points : 476
    Points
    476
    Par défaut
    Bonjour,

    ta 1ere ligne n'est pas du tout de la syntaxe Matlab

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    f1(t) = (u1 : u0) * t : T;
    1/ t n'est pas défini
    2/ : ne divise pas, c'est un compteur linéaire unitaire
    ex: [1:4] = 1 2 3 4
    Il faut utiliser / pour diviser

    Tu ne peux pas, définir un algo de cette manière contrairement à Matematica. Matlab ne fait que du calcul matriciel

    Si U1, U0, t et T sont biens définis (ce qui n'est pas le cas et vaut donc ton message d'erreur "Undefined function or variable 'u1'"), alors f s'écrit simplement

    f = U1/U0*t/t

    Ta fonction f est défini par ses valeurs discrètes et non par son expression littérale. Tu ne peux donc pas définir l'expression de f a priori, il faut que tu définisses tes paramètres de la fonction et c'est ensuite en faisant le calcul que tu obtiens les valeurs de f et donc.. f .
    OS : taff > Window 7 32bit - Home > Windows 7 64bit
    Matlab : taff > v2013b - Home > r2009a

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2014
    Messages : 20
    Points : 5
    Points
    5
    Par défaut
    merci pour la réponse,

    sur les fichier joint j´ai défini U1 et t que voici:

    t= (2k+1)T avec k un nombre entier.

    U1 = U1=∑ ∆Ue(2nT) + ∑ ∆Uo(2nT), avec n qui va de 0 à l´infini et d2 équivaut à δe=1/2 et do équivaut à δo= 1/4,

    ∑ ∆Ue(2nT) = (Uo/2)*d2(1-(1-d2²)*(1+d2²+(d2²)²+ etc...)

    ∑ ∆Uo(2nT) = (Uo/2) *do(1-(1-do²) *(1+do²+(do²)²+etc...)

    et lorsqu´on simplifie pour avoir U1 , on se rend compte que ∆Ue et ∆Uo disparaissent de l´équation

    voilà un peu les données, comment donc écrire tout ceci dans Matlab?

    merci

  4. #4
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2014
    Messages : 20
    Points : 5
    Points
    5
    Par défaut ajout et exemple pour plus de précisoin...
    voici à peu près le diagramme de réponse que je veudrais représenter: je veux représenter U1/Uo en fonction t/T
    je suppose donc la function f1(t) = U1/Uo(t/T)
    avec t qui varie de impaire en impaire et par multiple de T, donc :
    t=(2k+1)T, k étant un entier commencant par 0. Et d2= ½ et do=-1/4
    J´ai aussi : g1(k) = f1((2k+1)*T
    J´ai donc la fonction g1(k) = ½[(1-d2²) * ∑(d2²)^i + (1-do²) * ∑ (do²^i)]
    Avec i qui varie de 0 à k
    Alors la première réponse que je veux représenter sur mon graphe est g1 au temps k=0, c´est à dire je veux voir comment se comporte g1 lorsque k = 0, ca voudra dire lorsque t=T, ce qui implique que
    t/T = 1,
    lorsque je remplace donc ceci dans mon equation , j´obient donc:
    pour K =0, g1(0) = ½[(1-d2²) * ∑(d2²)^i + (1-do²) * ∑ (do²^i) ]
    avec i allant de 0 à k, c´est à dire de i=0 à k=0
    on obtient donc:
    g1(0) = ½[{(1-(1/2)²) * ((1/2)²)^0} + {(1-(-1/4)²) * ( (-1/4)²)^0}]
    ≈ 0,84 ( lorsque je calcul avec une calculatrice

    Alors sur mon tracé je vais donc avoir
    au temps t/T=1 , avec t=(2k+1)T, donc t=T,
    j´ai donc g1(0) = 0,84 ( ceci est donc la première réponse)

    Pour la deuxième réponse de mon graphe, j´aurais donc
    Pour k=1, on a g1(1) = ½[(1-d2²) * ∑(d2²)^i + (1-do²) * ∑ (do²^i) ],
    Avec i allant de 0 à k=1,
    Lorsqu´on remplace on obtient donc:
    g1(1)= ½[(1-(1/2)²) * {((½)²)^0+((1/2)²)^1)} + (1-(-1/4)²) * {((-1/4)²)^0 + ((-1/4)²)^1}] ≈ 0,96 ( lorsqu´on effectue le calcul á la calculatrice

    alors je représente donc la réponse de g1(1) au temps t/T= 3
    (puisqu´on est ici à k = 1, avec t=(2k+1)T, on a donc t=3T, alors t/T=3
    Ca voudrais dire sur mon tracé jái donc:
    À t/T=1, j´ai g1(0)=0,84
    À t/T=3, j´ai g1(1)=0,96,
    à t/T=5, j´ai g1(2)=???
    Á t/T=7, j´ai g1(3)=????
    Et on continue ainsi …. Et á chaque fois je trace mon graphe,
    Voilà à peu près ce que ce que je voudrais.
    J´ai ainsi 3 autre functions semblable donc je voudrais représenter le graphique.
    J´espère que quelqu´un aurait compri et pourrait m´aider à le coder et le reprénter sur Matlab avec les calculs et les graphiques.
    Merci pour toute contribution

  5. #5
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2014
    Messages : 20
    Points : 5
    Points
    5
    Par défaut expliquer l´ereur afficher
    salut,
    quelqu´un pourrait il m´expliquer cette erreur? que dois je changer ici?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    k=0:1:9;
    x=(2*k)+1;
    d2=0.5;
    do=-1/4;
    i=0:1:9;
    A=(d2^2).^i;
    sommeA=sum(A);
    B=(do^2).^i;
    sommeB=sum(B);
    g1(k)=(1/2)*(((1-d2^2)*(sommeA))+((1-do^2)*(sommeB)));
    g1(0);

    erreur afficher:

    Subscript indices must either be real positive integers or logicals.

    Error in programmenebensprechen (line 10)
    g1(k)=(1/2)*(((1-d2^2)*(sommeA))+((1-do^2)*(sommeB)));


    merci

  6. #6

  7. #7
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2014
    Messages : 20
    Points : 5
    Points
    5
    Par défaut
    merci...

Discussions similaires

  1. Comment tracer 2 graph 3D sur une meme figure?
    Par jojo67540 dans le forum MATLAB
    Réponses: 3
    Dernier message: 25/08/2008, 17h47
  2. Comment tracer un graphe ?
    Par harris_macken dans le forum 2D
    Réponses: 1
    Dernier message: 25/03/2008, 01h27
  3. [XSLT] Comment implémenter ces 2 programmes ?
    Par _Fabien dans le forum XSL/XSLT/XPATH
    Réponses: 10
    Dernier message: 06/03/2007, 11h29
  4. Réponses: 3
    Dernier message: 15/04/2004, 08h44
  5. comment programmer une progressbar
    Par Choucas dans le forum Paradox
    Réponses: 3
    Dernier message: 13/11/2002, 11h07

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