[scilab]problème fichier de type fonction
Répondre à la discussion
Affichage des résultats 1 à 10 sur 10

[scilab]problème fichier de type fonction



  1. #1
    invite1cede1ba

    [scilab]problème fichier de type fonction


    ------

    bonsoir,
    je débute sur Scilab et il y a un problème surement simple que je n'arrive pas à résoudre.

    J'ai créé un fichier fct.sce contenant ceci:
    Code:
    function f=fct(x)
      f=sin(x)./(1-x.^2)
    Je voudrais qu'il calcule les valeurs de f(x) pour des x entre 2 et 4 par pas de 0.1

    Code:
    -->x=2:0.1:4;
     
    -->f=fct(x)
             !--error 4 
    Variable non définie: fct
    Je ne comprend pas pourquoi il me dit que j'ai une variable non définie,car elle est définie dans fct.sce. J'ai pourtant vérifié que je travaillais bien dans le même "current directory"...


    Pouvez vous me dire ce qui ne va pas svp. D'avance merci.

    -----

  2. #2
    phryte

    Re : [scilab]problème fichier de type fonction

    Bonjour.
    Code:
    function f=fct(x)
      f=sin(x)./(1-x.^2)
    endfunction

  3. #3
    invite1cede1ba

    Re : [scilab]problème fichier de type fonction

    Merci!
    J'avais oublié de noter ca dans mes notes de cours!Ca change tout!Et du coup ca m'a faire remémorer qu'il faut aussi executer le fichier *.sce sinon ca marche pas. Maintenant c'est ok.

    Sinon une dernière question, dans mon exercice, on me demande "utiliser cette fonction pour calculer f(x1) avec 1 contanant une valeur sur 2 du vecteur x". Je ne vois pas trop ce qu'ils attendent. J'ai dabord pensé a mettre x1=2:0.2:4 mais bon c'est trop facile et cela ne doit pas etre ce qu'ils attendent. Je me demande s'ils attendent plutot un truc du genre x1= un truc en fonction de x. Mais je ne vois pas du tout quel genre de truc rentrer dans scilab pour faire ce que l'on me demande...

  4. #4
    phryte

    Re : [scilab]problème fichier de type fonction

    Bonjour.
    f(x1) avec 1 contanant une valeur sur 2 du vecteur x"
    Code:
    x=2:10
    fct(x(1:2:length(x)))

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

    Re : [scilab]problème fichier de type fonction

    j'ai fais une erreur de frappe dans ma question précedente, je voulais mettre "utiliser cette fonction pour calculer f(x1) avec x1 contenant une valeur sur 2 du vecteur x".

    Du coup, je ne suis pas sur que tu ai compris ma question. J'ai essayé de rentrer le code que tu m'as proposé (en l'adaptant) mais cela me donne cela:
    Code:
    -->x=2:0.1:4;
     
    -->x1=fct(x(1:2:length(x)))
     ans  =
     
      - 0.3030991  - 0.2105459  - 0.1419040  - 0.0894968  - 0.0489749  - 0.0176400    0.0063175    0.0241990    0.0370000    0.0455251    0.0504535  
     
    -->y= cos(x)+exp(x)/100
     y  =
     
     
             column  1 to 11
     
      - 0.3422563  - 0.4231844  - 0.4982510  - 0.5665342  - 0.6271620  - 0.6793187  - 0.7222514  - 0.7552748  - 0.7777759  - 0.7892167  - 0.7891371  
     
             column 12 to 21
     
      - 0.7771556  - 0.7529695  - 0.7163534  - 0.6671572  - 0.6053022  - 0.5307761  - 0.4436270  - 0.3439559  - 0.2319078  - 0.1076621
    Si l'on compare les 2 résultats, x1 ne me donne pas une valeur sur 2 de x. Par ailleurs, je ne comprend pas pourquoi tu me propose de redéfinir x, qui est déjà définis plus tôt; même si je suis d'accord, la commande doit fonctionner quelque soit la valeur de x.

    Je crois que du fait de ma faute de frappe, nous ne nous sommes pas bien compris.

  7. #6
    phryte

    Re : [scilab]problème fichier de type fonction

    Bonjour.
    question 1 :
    x entre 2 et 4 par pas de 0.1
    Code:
    x=2:0.1:4;
    fct(x)
    question 2 :
    "utiliser cette fonction pour calculer f(x1) avec x1 contenant une valeur sur 2 du vecteur x".
    Code:
    fct(x(1:2:length(x)))
    donne :
    column 1 to 7

    - 0.3030991 - 0.2105459 - 0.1419040 - 0.0894968 - 0.0489749 - 0.0176400 0.0063175

    column 8 to 11

    0.0241990 0.0370000 0.0455251 0.0504535
    Que vient faire y ?

  8. #7
    invite1cede1ba

    Re : [scilab]problème fichier de type fonction

    Ben cela ne va pas ce que tu me propose. Si je comprend bien la question il faut que j'obtienne avec x1 ceci :


    - 0.3422563 - 0.4982510 - 0.6271620 - 0.7222514 - 0.7777759 - 0.7891371 - 0.7529695 - 0.6671572 - 0.5307761 - 0.3439559 - 0.1076621


    Soit bien une valeur sur 2 de y.

    C'est pour cela que je compare avec y, car je doit obtenir une valeur sur 2 les mêmes résultats.

    D'ailleurs je ne comprend pas pourquoi en tapant ceci:

    Code:
    -->x1=x(1:2:length(x))
     x1  =
     
        2.    2.2    2.4    2.6    2.8    3.    3.2    3.4    3.6    3.8    4.
    j'obtient ceci :
    Code:
    -->f=fct(x1)
     f  =
     
      - 0.3030991  - 0.2105459  - 0.1419040  - 0.0894968  - 0.0489749  - 0.0176400    0.0063175    0.0241990    0.0370000    0.0455251    0.0504535
    Alors que je devrais obtenir une valeur sur 2 de fct(x) (ou de y), et non pas des valeurs qui sortent de je ne sais ou...

    Et tout aussi incompréhensible, pourquoi lorsque je tape
    Code:
    -->f=fct(x1=x(1:2:length(x)))
     f  =
     
     
             column  1 to 11
     
      - 0.3030991  - 0.2531406  - 0.2105459  - 0.1738241  - 0.1419040  - 0.1139947  - 0.0894968  - 0.0679459  - 0.0489749  - 0.0322874  - 0.0176400  
     
             column 12 to 21
     
      - 0.0048293    0.0063175    0.0159500    0.0241990    0.0311807    0.0370000    0.0417523    0.0455251    0.0484002    0.0504535
    J'obtiens f pour toutes les valeurs de x alors que j'ai pourtant demandé à calculer x1...

  9. #8
    phryte

    Re : [scilab]problème fichier de type fonction

    Bon.
    Je ne vois pas le rapport entre la fonction f=sin(x)./(1-x.^2) et la fonction y= cos(x)+exp(x)/100

  10. #9
    invite1cede1ba

    Re : [scilab]problème fichier de type fonction

    Toutes mes excuses c'est moi qui me suis embrouillé j'ai 2 exo à faire; un avec f=sin(x)./(1-x.^2) et un autre avec y= cos(x)+exp(x)/100;du coup comme je faisais "rappel de la commande précédente" avec la flèche clavier du haut ben j'ai confondu...

    Toutes mes excuses encore une fois...


    Une derniere petite question, histoire d'etre sur d'avoir tout compris, lorsque je met ceci :
    Code:
    x1=x(1:2:length(x))
    Cela veux dire que :
    - le 1 veut dire "commencer par appeler le 1ere valeur de x"
    -lenght(x) : est une commande qui donne le nombre de valeur de x; et qui ici veut dire "aller jusqu'à la dernière valeur de x"
    -2:le pas est de 2, donc pour dire "prendre une valeur sur 2"

    C'est bien ca?

    Merci encore une fois

  11. #10
    phryte

    Re : [scilab]problème fichier de type fonction

    OK tu as compris.

Discussions similaires

  1. probleme fonction fsolve scilab
    Par invite5ed89f6f dans le forum Mathématiques du supérieur
    Réponses: 6
    Dernier message: 20/07/2009, 14h02
  2. retour chariot dans un fichier texte généré par Scilab
    Par inviteedc4fd3f dans le forum Mathématiques du supérieur
    Réponses: 1
    Dernier message: 08/07/2009, 14h46
  3. Lire un fichier vidéo sous scilab
    Par invitef861fe8b dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 17/02/2009, 07h44
  4. comment obtenir le signal un fichier audio sur scilab
    Par invite43ebc126 dans le forum Logiciel - Software - Open Source
    Réponses: 2
    Dernier message: 31/01/2008, 17h08
  5. lecture fichier scilab
    Par invited2eca4c5 dans le forum Logiciel - Software - Open Source
    Réponses: 2
    Dernier message: 11/07/2005, 16h21