Étonnamment, personne n'a encore suggéré d'utiliser la fonction conçue pour ce faire, dans matlab. Utilisation fzero ici. Fzero est un meilleur choix que fsolve de toute façon, ce qui nécessite l'optimisation de la boîte à outils. Et, oui, vous pouvez le faire avec la méthode de Newton, ou même non-bloquante ou la méthode sécante. Mais réinventer la roue est la mauvaise chose à faire en général. Utiliser la fonctionnalité qui existe déjà quand il est là.
Le problème est de trouver un point où
sin(2*x)==log(x)
Ici log(x) renvoie le logarithme naturel. Faire en soustrayant l'un de l'autre, puis la recherche d'un zéro de la suite.
fun=@(x)sin(2*x)-log(x);
Avant de le faire, TOUJOURS de la parcelle. ezplot peut le faire pour vous.
ezplot(fun)
L'intrigue va montrer une racine unique qui se situe entre 1 et 2.
Depuis que vous avez marqués avec matlab, vous pouvez le faire avec fsolve(@(x)sin(2*x)-log(x),1) qui donne 1.3994 (1 est le point de départ initial ou deviner). L'abscisse est log(1.3994) = 0.3361.
Qui est, vous utilisez fsolve, la passer à la fonction que vous voulez régler pour le zéro, dans ce cas sin(2*x) == log(x) donc, vous voulez sin(2*x) - log(x) == 0 (log est le logarithme naturel dans matlab).
Si vous avez déjà des fonctions mis en place comme, par exemple, L1 = @(x)sin(2*x) et L2 = @(x)log(x) (ou dans les fonctions L1.m et L2.m), vous pouvez utiliser fsolve(@(x)L1(x)-L2(x),1).
En général, vous avez pour résoudre l'équation, L1(x) = L2(x). Si vous ne savez pas dès le début ce que L1 et L2 sont (linéaire, polynominal...) alors la seule solution est la résolution numérique par exemple avec Netwon algorithme. Le problème est alors réduit à trouver les racines (les zéros) de la fonction f(x) = L1(X) - L2(X).
Général de la non-solution analytique, quand vous avez tous les 2 courbes décrites par 2 ensembles de points, il y a de grande soumission à l'Échange de Fichiers - Rapide et Robuste des Intersections de la Courbe de.
mathwork n'est pas accessible dans ma position. merci de me donner un autre lien. merci. J'ai téléchargé pour vous la dernière version ici: depositfiles.com/files/omp5emcp4 je vous n'arrivez pas à la télécharger, donne-moi un e-mail.
Étonnamment, personne n'a encore suggéré d'utiliser la fonction conçue pour ce faire, dans matlab. Utilisation fzero ici. Fzero est un meilleur choix que fsolve de toute façon, ce qui nécessite l'optimisation de la boîte à outils. Et, oui, vous pouvez le faire avec la méthode de Newton, ou même non-bloquante ou la méthode sécante. Mais réinventer la roue est la mauvaise chose à faire en général. Utiliser la fonctionnalité qui existe déjà quand il est là.
Le problème est de trouver un point où
Ici log(x) renvoie le logarithme naturel. Faire en soustrayant l'un de l'autre, puis la recherche d'un zéro de la suite.
Avant de le faire, TOUJOURS de la parcelle. ezplot peut le faire pour vous.
L'intrigue va montrer une racine unique qui se situe entre 1 et 2.
OriginalL'auteur
Depuis que vous avez marqués avec matlab, vous pouvez le faire avec
fsolve(@(x)sin(2*x)-log(x),1)
qui donne 1.3994 (1 est le point de départ initial ou deviner). L'abscisse estlog(1.3994) = 0.3361
.Qui est, vous utilisez
fsolve
, la passer à la fonction que vous voulez régler pour le zéro, dans ce cassin(2*x) == log(x)
donc, vous voulezsin(2*x) - log(x) == 0
(log
est le logarithme naturel dans matlab).Si vous avez déjà des fonctions mis en place comme, par exemple,
L1 = @(x)sin(2*x)
etL2 = @(x)log(x)
(ou dans les fonctionsL1.m
etL2.m
), vous pouvez utiliserfsolve(@(x)L1(x)-L2(x),1)
.OriginalL'auteur Ramashalanka
En général, vous avez pour résoudre l'équation, L1(x) = L2(x). Si vous ne savez pas dès le début ce que L1 et L2 sont (linéaire, polynominal...) alors la seule solution est la résolution numérique par exemple avec Netwon algorithme. Le problème est alors réduit à trouver les racines (les zéros) de la fonction f(x) = L1(X) - L2(X).
OriginalL'auteur PanJanek
Ce n'est pas une question banale: ce que vous demandez est une méthode générale pour résoudre tout équation mathématique.
Par exemple, vous pourriez envisager d'utiliser la la méthode de bissection, ou La méthode de Newton.
Il n'y a pas de réponse générale.
OriginalL'auteur Martijn
Général de la non-solution analytique, quand vous avez tous les 2 courbes décrites par 2 ensembles de points, il y a de grande soumission à l'Échange de Fichiers - Rapide et Robuste des Intersections de la Courbe de.
J'ai téléchargé pour vous la dernière version ici: depositfiles.com/files/omp5emcp4 je vous n'arrivez pas à la télécharger, donne-moi un e-mail.
OriginalL'auteur yuk