Séance 8 - Exercice 1

Aller en bas

Séance 8 - Exercice 1

Message  Odile le Mer 16 Avr - 13:23

bonjour
l'asistant m'a demandé de mettre mon programme en ligne, pcq il marche!!!!
comme je l'ai marqué au début de mon prog il manque de commentaires...
bon courage

%Odile Vekemans
%Seance 8 exercice 1
%rem: ce programme est bon mais il manque de commentaires
%problème aux conditions limites
clear

for a=[2]

N=2^a;

x0=0;
xfin=pi;

y0=1;
yfin=2;

h= pi/(N+1);

for n=1:N
X(n)= n*h;
end

B= h^2 * sin(X.^2);
B(1)=B(1)-y0;
B(N)=B(N)-yfin;

A=eye(N);

for n=1:N
A(n,n)= (h^2*cos(X(n)) -2);
end

A= A + diag(ones(N-1,1),1) + diag(ones(N-1,1),-1);

Y=A\B';

Xterm = [ x0 X xfin];
Yterm = [ y0 Y' yfin];

%Methode "explicite"pour définir Xterm et Yterm
%for n=1:N
%Xterm(n+1)=X(n);
%Yterm(n+1)=Y(n);
%end
% Xterm(1)=x0;
% Yterm(1)=y0;
% Xterm(N+2)=xfin;
% Yterm(N+2)=yfin;
plot(Xterm,Yterm)
hold on

% verification: on remplace dans l'éq initial les valeurs qu'on a
% trouvé, on passe sin(x^2) de l'autre côté de l'égalité et on voit si c'est bien nul
yseconde = ([ 0 0 Yterm] - 2*[0 Yterm 0] + [Yterm 0 0])/h^2;
%tout ce chipo est fait pcq on a besoin de y(n-1) y(n) et y(n+1) pour la vérification

verif = yseconde + cos([ 0 Xterm 0]).*[0 Yterm 0] - sin([ 0 Xterm 0].^2);
vraiverif = norm(verif(3:end-2))
%si la norme de ce vecteur vaut 0 ou autour de 10^-15 alors le Yterm calculé est juste
pause
end

Odile
Mitochondrie
Mitochondrie

Nombre de messages : 38
Date d'inscription : 22/09/2007

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Séance 8 - Exercice 1

Message  maga1/2 le Ven 9 Mai - 17:23

Merci odile!

mais c'est hyper chaud!!!! comment t as fait pour trouver tout ca?!

je comprend pas vraiment tout...mais y a surtout 2 truc que je capte pas:

A propos de cette vrai vérification: c'est quoi le but de prendre la norme de 3:end-2?
Et l' autre truc: pourquoi t as besoin de eye(A) qui donne la matrice identité je crois...

enfin voila, si t as le temps de répondre ce serait vraiment sympa

ciao
avatar
maga1/2
Enzyme
Enzyme

Nombre de messages : 19
Age : 31
Localisation : bruxelles
Date d'inscription : 01/10/2007

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Séance 8 - Exercice 1

Message  fletteman le Dim 11 Mai - 17:20

Odile a écrit:
for a=[2:7]

N=2^a;

x0=0;
xfin=pi;

y0=1;
yfin=2;

h= pi/(N+1);

for n=1:N
X(n)= n*h;
end

B= h^2 * sin(X.^2);
B(1)=B(1)-y0;
B(N)=B(N)-yfin;



est-ce que quelqu'un sait me dire d'où ça vient? :-s thxxxxxxxxxxxx

je l'avais écrit sous cette forme là, mais sans mes notes, plus moyens de voir à quoi ça correspond -.-

clear
for k=2:5
N=2^k;
x0=0;
xfin=pi;
y0=1;
yfin=2;

%% on calcule h:
h=pi/(N+1);
% où pi=(b-a)

%% remplir x, B et d (attention aux conditions limites):
for n=1:N
X(n)=n*h;
B(n)=(h^2)*sin(X(n)^2);
d(n)=(h^2)*cos(X(n))-2;
end

...
avatar
fletteman
Enzyme
Enzyme

Nombre de messages : 11
Age : 31
Date d'inscription : 09/05/2008

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Séance 8 - Exercice 1

Message  fletteman le Dim 11 Mai - 19:30

c'est bon j'ai trouvé Very Happy pour ceux que ça intéresserait, vous pouvez aller voir ICI, c'est l'avant dernière page
avatar
fletteman
Enzyme
Enzyme

Nombre de messages : 11
Age : 31
Date d'inscription : 09/05/2008

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Séance 8 - Exercice 1

Message  Philippe le Lun 12 Mai - 0:33

Ouais je vois la formule qui dit qu'il faut soustraire yo et yf à B(1) et B(N) mais ... quelqu'un peut expliquer pourquoi il faut faire ça ? scratch
avatar
Philippe
Mitochondrie
Mitochondrie

Nombre de messages : 69
Age : 31
Localisation : Bruxelles
Date d'inscription : 28/10/2007

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Séance 8 - Exercice 1

Message  Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum