Bonjour à tous,
je suis en 1ere année en école d'ingénieur.
je fais un topic sur le forum car nous avons une matière qui s'appelle OUTILS INFORMATIQUE POUR LES MATHEMATIQUES et je n'y arrive clairement pas. Nous utilisons exclusivement le logiciel MATLAB.
Je dois résoudre l'équation de poisson en 1D dans un premier temps. Voila où j'en suis :
function run()
%% Exécution de la résolution
% les paramètres
a=3; b=5; Nx=20;
c=3; d=5; Ny=20;
T0=20; Ta=30;
kx=5; ky=0.5;
h=2;
Phi1D = 40;
Phi2D = inline('10*(1.+2*(abs(y-(d+c)/2)/((d-c)/2)).**3-3*(abs(y-(d+c)/2)/((d-c)/2)).**2)','y');
% le second membre
rhs1D = inline('10*(1.+2*(abs(x-(b+a)/2)/((b-a)/2)).**3-3*(abs(x-(b+a)/2)/((b-a)/2)).**2)','x');
rhs2D = inline('10*(1.+2*(abs(x-(b+a)/2)/((b-a)/2)).**3-3*(abs(x-(b+a)/2)/((b-a)/2)).**2).*(1.+2*(abs(y-(d+c)/2)/((d-c)/2)).**3-3*(abs(y-(d+c)/2)/((d-c)/2)).**2)','x','y');
% résolution
[u1,x1] = poisson1D_CL(rhs1D, a, b, Nx, Phi1D, kx, T0, h, Ta);
[u2,x2,y2] = poisson2D_CL(rhs2D, a, b, Nx, c, d, Ny, Phi2D, kx, ky, T0, h, Ta);
function [u,x] = poisson1D_CL(RHSfunc, a, b, Nx, Phi, kx, T0, h, Ta)
%% Approximation numérique de l'équation de Poisson
%% sur le segment [a,b]. Utilise un maillage comptant (Nx+1) éléments
%% Entrée :
%% RHSfunc : le second membre (une fonction)
%% a,b : les bornes du domaine
%% Nx : le nombre d'intervalles de discrétisation
%% Phi : valeur de la condition de Neumann
%% kx, T0, h, Ta : paramètres procédé
%% Sortie :
%% u : la solution numérique aux points de discrétisation
%% x : le maillage
% discrétisation
% construction de la matrice A
e=ones(N,1);
A=spdiags([-e,2*e,-e],(-1:1),N,N);
A(1,=zeros(1,N); A(1,1)=1;
A(N,=zeros(1,N); A(N,N)=1;
% construction du second membre
..
% condition de Dirichlet sur les bords x=a
...
% condition de Neumann en x=b
...
% résolution
k=1;
for n = 1:2:31
y=gallery('poisson',n);
eg=eig(y);
ma(k)=max(eg);
mi(k)=min(eg);
k=k+1;
% tracé de la solution
plot(x,u,'r')
title('Solution du problème de Poisson')
Je n'arrive pas à completer les parties où il y a les "...", si quelqu'un pouvait m'aider et m'expliquer surtout ce serait cool.
Merci d'avance
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :