1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
|
format long;
N=100;
n=4;
ksi=zeros(N+1,1);
s=zeros(N+1,1);
s2=zeros(N+1,1);
y=zeros(N+1,1);
ymax=60;
gamma=1.4;
M0=0.1;
omega=0.5;
c=0.99;
beta=0;
%Discrétisation
for p=0:N
if(p==50)
ksi(p+1)=0;
else
ksi(p+1)=cos(pi()*(p)/N);% valeur a voir
end
y(p+1)=(ymax/tan((c*pi())/2))*tan((c*pi()*ksi(p+1))/2);
s(p+1,1)=(ymax/tan((c*pi())/2))*c*pi()/2*(1/(cos(c*pi()*ksi(p+1)/2)^2));
s2(p+1,1)=(ymax/tan((c*pi())/2))*(c*pi())^2*tan((c*pi()*ksi(p+1))/2)*(1/(cos(c*pi()*ksi(p+1)/2)^2));
end
d_=zeros(N+1,N+1);
A=zeros(N+1,N+1);
c=ones(N+1,1);
c(N+1)=2;
c(1)=2;
%Matrice D~
for l=0:N
for p=0:N
if l~=p
d_(l+1,p+1)=(c(l+1)/c(p+1))*((-1)^(l+p))/(ksi(l+1)-ksi(p+1));
else
d_(l+1,p+1)=-ksi(l+1)/(2*(1-ksi(l+1)^2));
end
end
end
d_(1,1)=(2*N^2+1)/6;
d_(N+1,N+1)=-(2*N^2+1)/6;
S=diag(s);
S2=diag(s2);
%Calcul de la matrice d_premiere
d_premiere=S^(-1)*d_;
%Calcul de la matrice d_seconde
d_seconde=(d_)^2/(S^2)+d_/S2; |
Partager