Bonjour !!

Je précise que je suis encore débutant sous Matlab.

La fonction Parabolic a cette forme :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
u1=parabolic(u0,tlist,b,p,e,t,c,a,f,d)
Il est dit ici (http://www-rohan.sdsu.edu/doc/matlab.../assempde.html) que le coefficient "c" peut être une matrice 2par2.

Voici mon code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
[p,e,t]=initmesh('squareg'); 
[p,e,t]=refinemesh('squareg',p,e,t); 
u0=zeros(size(p,2),1); 
ix=find(sqrt(p(1,:).^2+p(2,:).^2)<0.4); 
u0(ix)=ones(size(ix)); 
tlist=linspace(0,0.1,20); 
c=[1 2; 3 4];
f=10;
u1=parabolic(u0,tlist,'squareb1',p,e,t,c,0,f,1);
pdeplot(p,e,t,'xydata',u1(:,end))
Impossible de le lancer. Le message d'erreur est le suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
??? Error using ==> times
Matrix dimensions must agree.
Error in ==> pdeasmc at 18
  c3=((cc1.*g1x.*g2x+cc2.*g1y.*g2y).*ar);
Error in ==> assema at 112
    ks1=pdeasmc(it1,it2,it3,np,ar,x,y,sd,u,ux,uy,time,g1x,g1y,g2x,g2y,g3x,g3y,c);
Error in ==> parabolic at 85
  [K,M,F]=assema(p,t,c,a,f,time);
Error in ==> ex_parab at 9
Pourquoi y a t-il un probleme de taille de matrices ? Je suis en D=2 dimension, donc le gradient est juste un vecteur colonne avec 2 lignes, et 'c' est une matrice 2par2 dans mon code. Je ne vois pas le problème.

Merci pour votre aide !