Bibm@th

Forum de mathématiques - Bibm@th.net

Bienvenue dans les forums du site BibM@th, des forums où on dit Bonjour (Bonsoir), Merci, S'il vous plaît...

Vous n'êtes pas identifié(e).

#26 09-05-2013 14:22:05

Ismail
Membre
Inscription : 08-05-2013
Messages : 24

Re : [SCILAB] Suites puis résolution équation (fsolve) avec scilab

j'ai trouvé :) c'était encore tout con :)

    plot2d(x,y,style=3,frameflag=0)
    plot2d(x,(y1),style=5,frameflag=0)

Hors ligne

#27 09-05-2013 18:17:51

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 16 988

Re : [SCILAB] Suites puis résolution équation (fsolve) avec scilab

Re,

C'est ce que j'avais subodoré avant de partir en vadrouille en lisant ça :
Réaliser des graphiques avec Scilab
Mais  il semble qu'on peut encore faire autrement.

@+


Arx Tarpeia Capitoli proxima...

Hors ligne

#28 11-05-2013 15:16:29

Ismail
Membre
Inscription : 08-05-2013
Messages : 24

Re : [SCILAB] Suites puis résolution équation (fsolve) avec scilab

Bonjour Yoshi,

Connaitrais tu la fonction fsolve?

Elle me pause encore des ennuis :)

Hors ligne

#29 11-05-2013 15:48:45

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 16 988

Re : [SCILAB] Suites puis résolution équation (fsolve) avec scilab

Salut,

Non, mais je vais apprendre...
Deux conseils :
1. Dans la console Scilab, tape help fsolve (et Entrée)
2. Pour un autre sujet, ouvre une autre discussion, s'il te plaît, et postes-y ton souci.
Merci


Arx Tarpeia Capitoli proxima...

Hors ligne

#30 11-05-2013 16:01:03

Ismail
Membre
Inscription : 08-05-2013
Messages : 24

Re : [SCILAB] Suites puis résolution équation (fsolve) avec scilab

J'ai essayé de trouver la solution en tapant help fsolve, mais j'ai rien compris je suis trop une quiche! C'est toujours le même exercice, c'est pour cela que j'ai pensé qu'il pourrait être utile de tous laisser dans le même sujet.

Hors ligne

#31 11-05-2013 17:09:19

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 16 988

Re : [SCILAB] Suites puis résolution équation (fsolve) avec scilab

Bonjour,

Si tu es une quiche, alors on est deux...
Parce que je ne vois pas trop comment appliquer fsolve à cet exercice sur les suites...
[tex]a_n=-a_{n-1}-2b_{n-1}[/tex]
[tex]b_n=3a_{n-1}+4b_{n-1}[/tex]

Je ne vois pas comment passer de leur exemple (au passage, ils ne donnent pas l'énoncé mathématique correspondant à leur résolution...) à la problématique ci-dessus.

Je vais m'obstiner.

@+

Dernière modification par yoshi (11-05-2013 17:10:08)


Arx Tarpeia Capitoli proxima...

Hors ligne

#32 11-05-2013 18:06:13

Ismail
Membre
Inscription : 08-05-2013
Messages : 24

Re : [SCILAB] Suites puis résolution équation (fsolve) avec scilab

Ismail a écrit :

f(x)=2x²sin(x) pour tout x appartenant à R,

On cherche à determiner les points fixes de f c'est à dire les réels x tels que:

f(x)=x

1. Tracer la fonction f et la fonction g donnée par g(x)=x
2. En déduire le nombre de points fixes de f sur [0;10]
3. Déterminer ces points fixes à l'aide de la fonction fsolve en jouant sur la valeur initiale

Je galère pourtant je suis sur que c'est tout bête... Je sens que ca va être nuit blanche pour finir ce truc vu que demain je dois bosser une autre matière

Peut être parce qu'il s'agit de cet exercice :)

Hors ligne

#33 11-05-2013 18:23:24

Ismail
Membre
Inscription : 08-05-2013
Messages : 24

Re : [SCILAB] Suites puis résolution équation (fsolve) avec scilab

La fonction est tracée, d'après le graphique on trouve 5 points fixes.

Hors ligne

#34 11-05-2013 18:59:30

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 16 988

Re : [SCILAB] Suites puis résolution équation (fsolve) avec scilab

Salut,

Tu vois l'intérêt de la règle un sujet=une discussion.
C'est au post #14 que j'aurais dû réagir...

@+


Arx Tarpeia Capitoli proxima...

Hors ligne

#35 11-05-2013 20:44:12

Ismail
Membre
Inscription : 08-05-2013
Messages : 24

Re : [SCILAB] Suites puis résolution équation (fsolve) avec scilab

tu préfère que j'ouvre un nouveau sujet?

Hors ligne

#36 11-05-2013 20:55:39

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 16 988

Re : [SCILAB] Suites puis résolution équation (fsolve) avec scilab

RE,

Non, parce que je ne peux pas transférer 21 posts...
Maintenant c'est trop tard...

Initialisation :
  Chargement de l'environnement de travail

-->deff('y=f(x)','y=2*x^2.*sin(x)');x0=fsolve(0,f)
x0  =

    0. 

-->deff('y=f(x)','y=2*x^2.*sin(x)');x0=fsolve(3,f)
x0  =

    3.1415927 

-->deff('y=f(x)','y=2*x^2.*sin(x)');x0=fsolve(-3,f)
x0  =

  - 3.1415927 

-->deff('y=f(x)','y=2*x^2.*sin(x)');x0=fsolve(6,f)
x0  =

    6.2831853 

-->deff('y=f(x)','y=2*x^2.*sin(x)');x0=fsolve(-6,f)
x0  =

  - 6.2831853

Quoi de plus ?
J'attendais qu'il me sorte les 5 solutions...
Hélas, il faut initialiser le solveur avec une valeur entière pas trop éloignée, ce qui oblige :
1. à les connaître,
2. à recommencer ici 5 fois.

@+

[EDIT]
OK, ce n'est pas ce que tu veux !
Ton post devait être ici dans le forum programmation pas dans Entraide (Supérieur)


Arx Tarpeia Capitoli proxima...

Hors ligne

#37 11-05-2013 21:03:30

Ismail
Membre
Inscription : 08-05-2013
Messages : 24

Re : [SCILAB] Suites puis résolution équation (fsolve) avec scilab

J'ai les valeurs pas trop éloignés, peux tu me donner un exemple avec les 2 premières pour que je saisisse?

Merci beaucoup pour ton aide:

0, 1, 3,  6 et 10

je ne comprends pas pourquoi tu mets une valeur négative à chaque fois en fait

Dernière modification par Ismail (11-05-2013 21:04:55)

Hors ligne

#38 11-05-2013 21:15:35

Ismail
Membre
Inscription : 08-05-2013
Messages : 24

Re : [SCILAB] Suites puis résolution équation (fsolve) avec scilab

Ce que tu propose c'est la rencontre entre f(x) et l'axe des abscisses

Hors ligne

#39 11-05-2013 21:20:58

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 16 988

Re : [SCILAB] Suites puis résolution équation (fsolve) avec scilab

Salut,

Bon je vais contourner la difficulté...
J'ai l'habitude de faire le tour de la montagne si je ne peux pas l'escalader !
Donc, tu cherches à avoir les x tels que f(x)=x, alors je vais donc rechercher les x tels que f(x)-x=0.
Il suffit de faire la même chose avec y=2*x^2.sin(x)-x...
Je vais chercher à boucler sur les valeurs pour éviter d'avoir à retaper le tout 5 fois (sur [tex][-\pi\;;\;+\pi][/tex]...
En fait f(x)-x est paire et périodique ... On peut donc donc se limiter.

@+


Arx Tarpeia Capitoli proxima...

Hors ligne

#40 11-05-2013 21:24:18

Ismail
Membre
Inscription : 08-05-2013
Messages : 24

Re : [SCILAB] Suites puis résolution équation (fsolve) avec scilab

Merci encore pour ton aide!

Hors ligne

#41 11-05-2013 21:29:35

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 16 988

Re : [SCILAB] Suites puis résolution équation (fsolve) avec scilab

RE,

En console, exemple :

-->deff('y=f(x)','y=2*x^2.*sin(x)-x');x0=fsolve(1,f)

x0  =

    0.7408410

-->deff('y=f(x)','y=2*x^2.*sin(x)-x');x0=fsolve(3,f)
x0  =

    2.9725855

je regarde pour boucler.

@+


Arx Tarpeia Capitoli proxima...

Hors ligne

#42 11-05-2013 21:33:54

Ismail
Membre
Inscription : 08-05-2013
Messages : 24

Re : [SCILAB] Suites puis résolution équation (fsolve) avec scilab

Il te donne 0,7 alors que c'est 0 et 2,97 alors que le résultat devrait être 2,77 c'est pas une énorme différence mais tu penses pas qu'il est possible d'utiliser des réels au lieu des entiers?

Dernière modification par Ismail (11-05-2013 21:35:20)

Hors ligne

#43 11-05-2013 21:59:26

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 16 988

Re : [SCILAB] Suites puis résolution équation (fsolve) avec scilab

Re,

La fonction est impaire pardon...

Il te donne 0,7 alors que c'est 0 et 2,97

Absolument pas (mais on peut partir d'un réel !)
La preuve  :

-->deff('y=f(x)','y=2*x^2.*sin(x)-x');x0=fsolve(0.5,f)
x0  =

    0.7408410

De plus, voilà un gros plan de mon grapheur :
130511095540213432.png

Je te rappelle que là je cherche les solutions de f(x)=x donc de [tex]f(x)-x=0[/tex]
Les points fixes sont aux alentours de -9.4, -6.4,  -3, -0.7, 0 (valeur exacte), 0.7, 3, 6.4, 9.4

Convaincu ?

@+

Bon, j'arrête ce ce soir : je sature !

@+


Arx Tarpeia Capitoli proxima...

Hors ligne

#44 11-05-2013 23:05:15

Ismail
Membre
Inscription : 08-05-2013
Messages : 24

Re : [SCILAB] Suites puis résolution équation (fsolve) avec scilab

Merci beaucoup pour ton aide qui m'a vraiment été précieuse en tout cas!

Bonne soirée et à bientôt!

Hors ligne

#45 12-05-2013 12:40:28

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 16 988

Re : [SCILAB] Suites puis résolution équation (fsolve) avec scilab

Bonjour,

D'abord, la fonction f n'est pas périodique non plus, erreur de ma part.

Bon, je t'avais bien dit que j'allais m'obstiner...


scilab.org/product/dic-mat-sci/M2SCI_doc.htm">function[y]=f(x);
    y=2*x.^2.*sin(x)-x;
scilab.org/product/dic-mat-sci/M2SCI_doc.htm">endfunction

M=[0,0.7,3.5,6.5,9.5]
scilab.org/product/dic-mat-sci/M2SCI_doc.htm">for i=1:5
    x=M(i)
    disp(fsolve(x,f))
scilab.org/product/dic-mat-sci/M2SCI_doc.htm">end

Sortie :

Initialisation :
  Chargement de l'environnement de travail

-->exec('C:\Program Files\scilab-5.4.1\points_fixes.sce', -1)

    0. 

    0.7408410 

    2.9725855 

    6.3618598 

    9.3713988

J'avais d'abord inclus fsolve dans la fonction, mais après demande d'exécution, mon écran se remplissait de chiffres à toute allure et dans la s suivante ... Pfuiittt... plus de scilab !
J'ai mis 2 h à comprendre : chuis pas bien doué, hein...
La raison était pourtant "évidente" :
fsolve fait appel à la fonction f, qui elle fait appel à fsolve qui fait appel à f qui elle...
Récursivité sans condition de sortie --> boucle infinie.
Mais la récursivité charge la "pile" et normalement, on devrait tomber sur un message d'erreur genre "stack overflow"...
Mais là, le programme disparaissait complètement...

A partir du moment, où j'ai eu compris ce qui se passait, tout est allé très vite.

@+


Arx Tarpeia Capitoli proxima...

Hors ligne

#46 13-05-2013 10:10:56

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 16 988

Re : [SCILAB] Suites puis résolution équation (fsolve) avec scilab

Salut,

Comportement bizarre de fsolve...
Si j'essaie avec x=5, logiquement, il devrait me retourner 6.36, valeur la plus proche...
Et non, il me renvoie la première valeur négative -0.71408410 !

@+


Arx Tarpeia Capitoli proxima...

Hors ligne

#47 14-05-2013 09:24:57

Ismail
Membre
Inscription : 08-05-2013
Messages : 24

Re : [SCILAB] Suites puis résolution équation (fsolve) avec scilab

Merci beaucoup pour ton aide Yoshi! Je passe à l'oral dans 35 minutes! Croise les doigts pour moi!

Hors ligne

#48 14-05-2013 10:30:57

MathRack
Membre
Inscription : 02-04-2012
Messages : 78

Re : [SCILAB] Suites puis résolution équation (fsolve) avec scilab

Bonjour,

J'espère que l'oral c'est bien passé...

Ci-dessous un petit script qui cherche les points fixes sur l'intervalle [-10,10]. Ça ne fonctionne que si les points fixes sont séparés de delta :

xmin=-10; step=0.5; xmax=11; delta=0.2;

x0=xmin;
sol=[];

function[y]=f(x)
  y=2*x.^2.*sin(x)-x
endfunction

function[y]=g(x)
  y=abs(f(x));
endfunction

while x0<xmax

  [x,v,info]=fsolve(x0,g);

  if (info==1) then

    sol=[sol;x];

    function[y]=g(x)
      tmp=zeros(x);
      for j=1:size(sol,1)
      for i=1:size(x,1)
        tmp(i)=tmp(i)-min(0,(x(i)-sol(j)-delta).*(x(i)-sol(j)+delta) );
      end
      end
      y=abs(f(x))+tmp;
    endfunction

  end

  x0=x0+step;

end

gsort(sol)

Hors ligne

#49 14-05-2013 12:01:52

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 16 988

Re : [SCILAB] Suites puis résolution équation (fsolve) avec scilab

Salut,

Puisque tu as l'air de maîtriser Scilab, peux-tu m'expliquer pourquoi

-->deff('y=f(x)','y=2*x^2.*sin(x)-x');x0=fsolve(5,f)

me renvoie  -0.71408410  et non 6,36... la valeur la plus proche ?

Et tant qu'à "reculer", pourquoi -0.71... et non 2.97... ?

@+

[EDIT]
Ton prog ne m'affiche rien sinon ce message :

Initialisation :
  Chargement de l'environnement de travail

-->exec('C:\Program Files\scilab-5.4.1\solveur points fixes_mathrack.sce', -1)
Attention : Redéfinition de la fonction : g                       . Utilisez funcprot(0) pour ne pas afficher ce message.


-->

Dernière modification par yoshi (14-05-2013 12:13:42)


Arx Tarpeia Capitoli proxima...

Hors ligne

#50 14-05-2013 14:54:16

MathRack
Membre
Inscription : 02-04-2012
Messages : 78

Re : [SCILAB] Suites puis résolution équation (fsolve) avec scilab

Salut,

En principe la dernière ligne affiche la solution :

-->      gsort(sol)
 ans  =
 
    9.3713988  
    6.3618598  
    2.9725855  
    0.7408410  
    0.        
  - 0.7408410  
  - 2.9725855  
  - 6.3618598  
  - 9.3713988
 

Je pense que si tu remplaces le -1 dans exec('...',-1) par 0 la solution va s'afficher. Sinon, un copier/coller du script directement dans scilab fonctionne.

La fonction fsolve retourne un zéro de la fonction, pas forcément le plus proche. Si on regarde la courbe f(x), on voit que x=5 n'est pas loin d'un point où la dérivée est nulle. Donc si on prolonge la tangente à la courbe en x=5, ça coupe l'axe des abscisses loin de x=5 et proche de x=0. Ça pourrait expliquer qu'on ne trouve pas le zéro le plus proche...

Comme c'est un logiciel open-source, on pourrait essayer de déterrer le code de la fonction fsolve pour voir ce qui se passe en détail mais ça dépasse un peu mes compétences! (et c'est probablement du C ou un monstre qui s'en approche)

Cordialement,
MathRack

Hors ligne

Réponse rapide

Veuillez composer votre message et l'envoyer
Nom (obligatoire)

E-mail (obligatoire)

Message (obligatoire)

Programme anti-spam : Afin de lutter contre le spam, nous vous demandons de bien vouloir répondre à la question suivante. Après inscription sur le site, vous n'aurez plus à répondre à ces questions.

Quel est le résultat de l'opération suivante (donner le résultat en chiffres)?
soixante six plus vingt et un
Système anti-bot

Faites glisser le curseur de gauche à droite pour activer le bouton de confirmation.

Attention : Vous devez activer Javascript dans votre navigateur pour utiliser le système anti-bot.

Pied de page des forums