Solution initiale complexe
Résolu
dodi
-
Fee Fay Messages postés 1036 Statut Membre -
Fee Fay Messages postés 1036 Statut Membre -
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
- Driverpack solution - Télécharger - Divers Utilitaires
- Ou est charlie le livre magique solution - Forum Loisirs / Divertissements
- Ou est charlie solution tome 1 - Forum Loisirs / Divertissements
- Mots entre amis messenger solution ✓ - Forum jeux en ligne
- Mots entre Amis - Sac renversé - Forum jeux en ligne
3 réponses
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
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
end Tu 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 !