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 :

Fonction FZERO dans EXIST [Débutant]


Sujet :

MATLAB

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2008
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 12
    Points : 11
    Points
    11
    Par défaut Fonction FZERO dans EXIST
    bonjour,
    J'ai encore un souci avec une combinaison de fonction ><
    Comment pourrais je écrire une commande me permettant d'avoir une réponse logique pour la question: la fonction coupe-t-elle l'axe des abscisses?
    J'ai pensé à ca:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     fun=@(x)(cos(x));
    fzero(fun,2),
    exist('fzero(fun,2)')
    La valeur du FZERO est définie mais malheureusement matlab dit qu'il ne la "voit" pas (réponse=0)
    -merci-

  2. #2
    Expert éminent sénior
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Points : 14 828
    Points
    14 828
    Par défaut
    Je crois que tu n'as pas bien compris le fonctionnement de la fonction EXIST : elle cherche juste si la chaine de caractères donnée en entrée existe en tant que variable ou fonction ou répertoire (je crois que c'est tout).
    exist('fzero') te renverra quelquechose car la fonction fzero existe.
    mais 'fzero(fun,2)' n'est ni une variable ni une fonction.

    Et je ne vois pas le rapport avec la question de départ...
    FZERO seule devrait te donner la réponse (en mettant un argument de sortie)

  3. #3
    Membre à l'essai
    Inscrit en
    Avril 2008
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 12
    Points : 11
    Points
    11
    Par défaut
    Ah!?
    heu... oui. Justement grâce au résultat de mon hypothétique commande:

    je pensais savoir si la valeur existait ou non.
    Je souhaiterais en fait intégrer une fonction trigo sur [0,x] avec x le premier point d'abscisse où la fonction s'annule.
    Or matlab ne me donne pas de résultat pour la commande:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Fun=@(x)((cos(x)).^2)
    fzero(Fun,2)
    Je pense que c'est dû au fait que le signe ne change pas alors que la valeur est forcément nulle en un point.
    Du coup je pensait utiliser la commande EXIST avec IF:
    _si fzero(Fun) existe (avec la fonction EXIST) alors je défini la valeur fzero(Fun) comme borne.
    _si fzero(fun2) n'existe pas, je défini alors la valeur fminsearch(fun,2) comme borne.
    Dans les 2 cas j'obtient mon minimum positif, même pour une puissance paire de COS.

    C'est un peu tordu c'est vrai mais ca pourrait marcher!... ???

  4. #4
    Expert éminent sénior
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Points : 14 828
    Points
    14 828
    Par défaut
    Je te le répète : tu n'as pas du tout compris le fonctionnement de EXIST.
    Sinon avec fzero, je pense que ce que tu veux faire c'est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Fun=@(x)((cos(x)).^2)
    res=fzero(Fun,2);
    if isnan(res) %fzero retourne NaN s'il n'y a pas de valeur trouvée
       %faire autre chose
    else
       disp('Le resultat est :');
       disp(res);
    end
    C'est ça ?
    Bon ce qui est un peu gênant c'est le warning retourné (tu peux utiliser warning off) mais sinon c'est l'idée.

  5. #5
    Membre à l'essai
    Inscrit en
    Avril 2008
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 12
    Points : 11
    Points
    11
    Par défaut
    oué oué c'est ca!
    je ne connaissais pas les commandes ISA et c'est exactement ce qui me manquait.
    merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Vérification de l'existence de fonctions js dans une page html
    Par sajodia dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 29/06/2010, 17h55
  2. Existe-t-il une fonction "Chercher" dans un TWebBrowser ?
    Par Michel Devaud dans le forum Composants VCL
    Réponses: 2
    Dernier message: 15/12/2004, 08h30
  3. Appel à des fonctions incluses dans des DLL
    Par Greybird dans le forum Langage
    Réponses: 3
    Dernier message: 26/05/2003, 14h33
  4. Réponses: 7
    Dernier message: 24/05/2003, 16h56
  5. [VBA-E] Fonction sum() dans une cellule
    Par Gonzo dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 16/12/2002, 11h18

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