Bonjour;
j'essai de programmer l'équation de la chaleur (schéma explicite) dans scilab et ça bloque sur une ligne et je trouve pas quoi faire!! j'ai beau essayé de résoudre le problème j'y arrive pas!
voila la programme si quelqu'un s'y connait un petit peu en scilab, l'erreur se trouve sur la ligne 43 en rouge ci dessous (multiplication incohérentes)
M=input("Donner le nombre de discrétisation de x");
N=input("Donner le nbre de déscritisation de t ");
alpha =input ("Donnez la diffusité thermique (alpha>0) :");
k =1/N;
h =1/M;
a =(alpha*k)/(h^2);
//test sur la stablité du shéma
while (a>0.5) then
disp("shcéma instable")
M=input("donner le nombre de points de discrétisation de x");
N=input("donner le nombre de points de discrétisation de t ");
alpha =input ("donnez la diffusité thermique (alpha>0) :");
k =1/N;
h =1/M;
a =(alpha*k)/(h^2);
end
//création de la matrice B
B =zeros(M-1,M-1);
x =zeros(M,1);
for i=1:M-1
B(i+1,i)=a;
B(i,i+1)=a;
B(i,i)=1-2*a;
end
B(M-1,M-1)=1-2*a;
for i=1 : M+1
x(i) =(i-1)*h;
end
//condition initiale sur x
for i=1:M
T(i,1)=sin((%pi)*x(i));
end
T(M+1,1)=0;
//Conditions aux limites sur t
for i=1:N+1
T(1,i)=0;
T(M+1,i)=0;
end
//Calcul de la température à chaque instant et en tous les points
for j=2:N+1
T(2:M,j)=B*T(2:M,j-1);
end
for i=2:N
plot2d(x,T(:,i),i);
end
-----