[Scilab] Détection d'une erreur et arrêt de boucle
Répondre à la discussion
Affichage des résultats 1 à 8 sur 8

[Scilab] Détection d'une erreur et arrêt de boucle



  1. #1
    Romain-des-Bois

    [Scilab] Détection d'une erreur et arrêt de boucle


    ------

    Bonjour,

    Voici mon problème :
    je définis une fonction sous Scilab. Elle n'est pas définie sur tout entier, mais seulement sur un intervalle dépend de plusieurs autres paramètres.

    On ne peut pas calculer de manière théorique (expression de bien trop tordue). Je n'ai pas besoin de sa valeur exacte : une valeur approchée au dixième peut me suffire dans un premier temps. Mon idée :
    si je sais que est calculable et n'est pas trop loin de , je pourrais faire une boucle sur en calculant à chaque itération et je m'arrête dès que Scilab rencontre une erreur.

    Problème : comment détecter l'erreur ? (c'est une erreur de type 98)

    (je connais la syntaxe en Python, mais pas en Scilab)


    Voilà, je vous remercie,

    Romain

    -----

  2. #2
    Romain-des-Bois

    Re : [Scilab] Détection d'une erreur et arrêt de boucle

    Bonjour,

    je déterre ce topic

    apparemment, il s'agit de fonctions comme iserror ou errcatch, mais je n'ai rien de satisfaisant. Pour préciser un peu :

    j'ai une fonction et je voudrais la chose suivante :
    si je demande à Scilab de calculer alors que ce n'est pas possible (je ne peux pas le prévoir a priori), je voudrais qu'il accomplisse des actions que j'ai prévues plutôt qu'il stoppe l'exécution avec un message d'erreur.

    merci beaucoup !


    Romain

  3. #3
    phryte

    Re : [Scilab] Détection d'une erreur et arrêt de boucle

    Bonjour.
    Un exemple :
    Code:
    if iserror([98]) == 1
     break
     end

  4. #4
    Romain-des-Bois

    Re : [Scilab] Détection d'une erreur et arrêt de boucle

    Je te remercie de ta réponse...

    ... mais :

    Code:
    if iserror([98]) == 1
     break
     end
    Cette partie de code, je la place où ? j'ai essayé à divers endroits, Scilab n'en a que faire...

  5. A voir en vidéo sur Futura
  6. #5
    phryte

    Re : [Scilab] Détection d'une erreur et arrêt de boucle

    Tu places ce test dans ta boucle de calcul.

  7. #6
    Romain-des-Bois

    Re : [Scilab] Détection d'une erreur et arrêt de boucle

    Bonjour,

    c'est bien ce que j'avais fait et je viens de réessayer, mais ça ne fonctionne pas.

  8. #7
    Romain-des-Bois

    Re : [Scilab] Détection d'une erreur et arrêt de boucle

    Ah ah... il faut placer un errcatch au début du code et ça fonctionne !

    Merci !

  9. #8
    invite70895144

    Re : [Scilab] Détection d'une erreur et arrêt de boucle

    Vous pouvez aussi utiliser la structure de controle try catch

    exemple

    try
    1/0
    catch
    disp('erreur trappée')
    end

Discussions similaires

  1. Matlab / Scilab : Remplacer une boucle FOR
    Par invitee5fedd72 dans le forum Programmation et langages, Algorithmique
    Réponses: 9
    Dernier message: 01/04/2014, 10h29
  2. TPE:boucle de détection de voiture
    Par invite8873c54f dans le forum TPE / TIPE et autres travaux
    Réponses: 0
    Dernier message: 26/01/2008, 20h21
  3. scilab : compression du nombre de points d'une courbe
    Par rlo dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 23/10/2007, 23h22
  4. scilab-graphe d'une sol d'ED
    Par invitec53c2b39 dans le forum Mathématiques du supérieur
    Réponses: 1
    Dernier message: 19/05/2005, 10h02
  5. sortir d'une boucle en matlab
    Par invite5588902a dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 06/10/2004, 14h04