Solution initiale complexe
Résolu/Fermé
dodi
-
23 févr. 2009 à 03:22
Fee Fay Messages postés 635 Date d'inscription vendredi 17 octobre 2008 Statut Membre Dernière intervention 31 mai 2009 - 23 févr. 2009 à 14:21
Fee Fay Messages postés 635 Date d'inscription vendredi 17 octobre 2008 Statut Membre Dernière intervention 31 mai 2009 - 23 févr. 2009 à 14:21
Bonjour,
au cours de la résolution d'une équation de la forme f(z) =0 par la méthode itérative de Newton- Raphson sous matlab et en chisissant la solution initiale Z0=a0+i*b0 comme complexe, sur matlab s'affiche le message suivant:
"Error using ==> fzero
Function value at starting guess must be finite and real"
comment je peux faire pour surmenetr cet obstacle et merci
au cours de la résolution d'une équation de la forme f(z) =0 par la méthode itérative de Newton- Raphson sous matlab et en chisissant la solution initiale Z0=a0+i*b0 comme complexe, sur matlab s'affiche le message suivant:
"Error using ==> fzero
Function value at starting guess must be finite and real"
comment je peux faire pour surmenetr cet obstacle et merci
A voir également:
- Solution initiale complexe
- Mots entre amis messenger solution - Forum Facebook
- My sims ds solution ✓ - Forum Jeux vidéo
- Pack solution - Télécharger - Divers Utilitaires
- Solution rébus image ✓ - Forum Loisirs / Divertissements
- Ss07 snapchat solution - Forum Snapchat
3 réponses
Fee Fay
Messages postés
635
Date d'inscription
vendredi 17 octobre 2008
Statut
Membre
Dernière intervention
31 mai 2009
377
23 févr. 2009 à 12:04
23 févr. 2009 à 12:04
Bonjour mon ami !
Je ne pense pas qu'il y ait de solution miracle avec la fonction fzero de Matlab mais peut-être me trompé-je.
Je te suggère d'utiliser la fonction fslove ; tape help fsolve ou doc fsolve pour savoir comment utiliser cette fonction.
À titre d'exemple, imaginons que tu veuilles résoudre l'équation f(z)=0 où f(z)=z²-2i. Certes, l'exemple est relativement stupide puisque les zéros de cette fonction sont tout simplement les racines du polynôme P=X²-2i, c'est-à-dire ±(1+i), mais il ne s'agit que d'un exemple. Supposons que ton initial guess pour la méthode de Newton-Raphson est z0=(1+i)/2, alors ces lignes te donneront la solution 1+i de l'équation f(z)=0 :
Je ne pense pas qu'il y ait de solution miracle avec la fonction fzero de Matlab mais peut-être me trompé-je.
Je te suggère d'utiliser la fonction fslove ; tape help fsolve ou doc fsolve pour savoir comment utiliser cette fonction.
À titre d'exemple, imaginons que tu veuilles résoudre l'équation f(z)=0 où f(z)=z²-2i. Certes, l'exemple est relativement stupide puisque les zéros de cette fonction sont tout simplement les racines du polynôme P=X²-2i, c'est-à-dire ±(1+i), mais il ne s'agit que d'un exemple. Supposons que ton initial guess pour la méthode de Newton-Raphson est z0=(1+i)/2, alors ces lignes te donneront la solution 1+i de l'équation f(z)=0 :
f=@(z)(z.^2-2i); [zsol,fzsol,exit_value]=fsolve(f,1/2+1/2i);Je te souhaite une bien bonne journée !
Bonjour, et merci d'avoir accorder de l'intret à ma question
je ssais que la fonction fsolve peut feire l'affaire mais le problème est toujours présent pour moi parce que avec fzero on peut obtenir f(zk) avec les zk sont les valeurs de z trouvées par itération et moi j'ai une petite conditin sur les f(zk). cette condition est la suivante RES(f(zk)) doit etre infér de par exemple 10^( -5)
comment je peux le faire donc avec fsolve qui n'affiche pas les f(zk)? et merci encore une fois
je ssais que la fonction fsolve peut feire l'affaire mais le problème est toujours présent pour moi parce que avec fzero on peut obtenir f(zk) avec les zk sont les valeurs de z trouvées par itération et moi j'ai une petite conditin sur les f(zk). cette condition est la suivante RES(f(zk)) doit etre infér de par exemple 10^( -5)
comment je peux le faire donc avec fsolve qui n'affiche pas les f(zk)? et merci encore une fois
Fee Fay
Messages postés
635
Date d'inscription
vendredi 17 octobre 2008
Statut
Membre
Dernière intervention
31 mai 2009
377
23 févr. 2009 à 14:21
23 févr. 2009 à 14:21
Je te suggérais dans le message 1 de consulter l'aide Matlab concernant la fonction fsolve en tapant help fsolve ou doc fsolve. Avec une fonction de ce genre (que j'ai construite avec l'aide Matlab) :
Je te fais plein de poutous mon ami !
function [z fvalz histit] = find0problem(z0) histit = []; options = optimset('OutputFcn', @outputvalues,'Display','iter'); [z fvalz] = fsolve(@f,z0,options); function stop = outputvalues(x,optimValues,state); stop = false; histit = [histit; optimValues]; end function fz = f(z) fz = z^2-2i; end endTu obtiens toutes les informations nécessaires concernant chaque itération de la fonction fsolve dans la structure histit. Il suffit alors d'appeler cette fonction pour la résolution de ton problème :
[z fvalz histit]=find0problem(1);Et les carottes sont cuites...
Je te fais plein de poutous mon ami !