function sinus_x=dlsinus(x,eps) x=input('Entrer x') i=1; while(x^(i-1))/factorial(i+1)>=eps && (x^i)/factorial(i)>=eps i=i+1; end n=1; if mod(n,2)==0 p=n/2; for j=1:p sinus_x=sinus_x+ (-1)^(j-1)*x^(2*j-1)/factorial(2*j-i); end else p=(n-1)/2; for j=1:p+1 sinus_x=sinus_x+(-1)^j*x^(2*j)/factorial(2*j); end end return; end
Salut, si ton but est simplement de calculer sin(x) à partir de son développement limité, un code plus simple est
function y = dlsin(x, eps)
y = x; i = 0;
mon = x; % monome de plus haut degre
x2 = x.^2;
while true
i = i + 1;
mon = -1 * mon .* x2 / (2*i + 1);
if max(abs(mon)) < eps
break
end
y = y + mon;
end
end
Avez-vous entendu parler de Julia ? Laissez-vous tenter ...
L'équation F(x)=2x^3-x-2=0 a une unique solution alpha dans[1;2].Il est établit que la méthode d'approximation succesive définie par x0=0 et xn+1=racine cubique(1+xn/2) converge vers alpha.
Ecrire un programme matlab pour calculer une valeur approchée de alpha à epsilon=10^-8 près e utilisant le test d'arretdes itérations abs(xn-xn+1)<=epsilo
même remarque que précédemment, montre-nous ce que tu as déjà tenté, explique-nous ce qui ne fonctionne pas, et ensuite on te dira comment résoudre ton problème/améliorer ton code. Je te donne quand même quelques indices pour commencer :
tu vas devoir définir des variables 'epsilo', 'xn', 'xnp1' (appelle-les comme tu veux). Normalement, ces trois sont suffisantes.
tu vas devoir utiliser une boucle while
Avez-vous entendu parler de Julia ? Laissez-vous tenter ...
utilise des balises de code (Peu importe lesquelles). Attention aux majuscules. Ta variable est xn, et pas Xn (ligne 5), xn+1 n'est pas un nom valable en Matlab, tu peux utiliser xnp, pense à mettre à jour ta variable xn, i.e. il y a un moment où tu dois écrire xn=xnp, je ne comprends pas l'utilité de ta ligne w=w + xn+1, tu n'as pas besoin de variable d'itération, sauf si tu as un test sur un nombre maximum d'itérations, il suffit de retourner la valeur de xn.
Tu peux tester ton code avec le logiciel Octave (gratuit d'utilisation) si tu n'as pas accès à Matlab.
Avez-vous entendu parler de Julia ? Laissez-vous tenter ...
On y est presque. Comme dit précédemment, ta variable i est inutile dans ce contexte. Par ailleurs, tu n'obtiendras pas le bon résultat car tu n'assigne pas w. Tes deux premières lignes devraient être
function xn = res(x0, epsilon)
xn = x0;
...
end
Je te laisse modifier la suite. Pense à indenter ton code. Par ailleurs, ton code risque de tourner en boucle infinie selon la valeur de epsilon, c'est lié à une remarque dans mon message précédent.
Avez-vous entendu parler de Julia ? Laissez-vous tenter ...
Toujours pas. Fais tourner ton code, et tu verras que ça fait n'importe quoi
Avez-vous entendu parler de Julia ? Laissez-vous tenter ...
Matlab
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Avez-vous entendu parler de Julia ? Laissez-vous tenter ...
Avez-vous entendu parler de Julia ? Laissez-vous tenter ...
Avez-vous entendu parler de Julia ? Laissez-vous tenter ...
Avez-vous entendu parler de Julia ? Laissez-vous tenter ...
Avez-vous entendu parler de Julia ? Laissez-vous tenter ...
Avez-vous entendu parler de Julia ? Laissez-vous tenter ...