Bonsoir
je viens de lire le cours de dérivation numérique et je veux l appliquer sur matlab ( je suis débutante en matlab)
prenos cet exemple que j'ai fait manuellement :
soit f et c deux fonctions constantes sur [0,1] on cherche une fonction U(x) de classe C² sur [0,1]
on a :
-U''(x)+C(x) *U(x)=f(x) **
U(0)=0=U0
U(1)=0=(n+1)
l equation ** est un système continue pour résoudre cette equation on utilise la méthode de difference finies ,donc on subdivise [0,1] en posant
x0=0
x1=x0+h
x2=x1+h
xj=x(j-1) + h
x(n+1)=1=b
h=b-a /n+1 =1/ n+1
on cherche à déterminer U(xj)=Uj
on sait que U(x0)=U0=0
U(xn+1) =Un+1 =0
on approxime U" (x) par U"(x)= [U(x+h)-2U(x)+ U(x-h)] / h²
d ou U"(xj)=[U(xj+h)-2U(xj)+ U(xj-h)] / h²
=[Uj+1-2Uj+ Uj-1] / h²
d ou ** est equivalent à
-U(j+1)+2Uj-U(j-1) /h² +Cj Uj =fj
avec fj=f(xj)
C(xj)=Cj
finalement on obtient :
-Uk-1+ (2+h² Ck )Uk-Uk+1=fk*k² pour k=j
on utilisant la notation matricielle on obtient:
A U = f
avec u1
u2
U= .
.
Un
et f1
f2
f= .
fn
2+h² 1 -1 0 0
0 -1 2+h²C2 -1 0
A=
0 -1 2+h²C3
d ou j ai transformé uen equation differentielle en un système algebrique linéaire
AU=f
si A est inversible alors U= A^-1 *f
mais j arrive pas à appliquer cette méthode sur matlab ):
est ce qu il y a quelqu un qui se sent l ame charitable ...pour m aider et me donner la solution sous matlab ( je vais bien sur essayer de la décoder et la comprendre ..)
merci d avance de m avoir aidée
PS: excusez moi si les matrices ne sont pas claires mais je ne sais pas comment les copier S:
-----