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 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146
|
clear all
close all
clc
%Definition des variables de la fonction Timoshenko
Nfloor = 20;
f1 = 1;
n = 2;
R=linspace(3,6.2,n);
Nsignaux = 1;
%Definition des variables de la fonction Duhamel
Fs = 0.01; %Frequence d'echantillonnage des signaux sismiques
M = eye(6); %Matrice de masse
Dzeta=0.05;
DZETA = 0.05*ones(5,1); %Coefficient d'amortissement
mkdir DATA
mkdir DATA/PHI
mkdir DATA/F
mkdir DATA/C
%Definition de la boucle sur la fonction Timoshenko pour les valeurs de la
%matrice Phi suivant differentes valeurs des ratios f1/f2
for i = 1:n
disp(i) %Affiche l iteration
f2(i) = R(i)*f1;
[Phi, f, C] = Timoshenko(f1,f2(i),Nfloor);
%Ecrit dans le fichier Resultats_Timoshenko.txt, les matrices Phi pour
%chaque i
name=fopen('Resultats_Timoshenko.txt','a');
fprintf(name,'%s\n\n','Matrice Phi');
name=fopen('Resultats_Timoshenko.txt','a');
dlmwrite('Resultats_Timoshenko.txt', Phi, '-append','delimiter','\t','precision','%.4f','newline','pc')
fprintf(name,'\n\n');
name=fopen('Resultats_Timoshenko.txt','a');
fprintf(name,'%s','Vecteur frequence f');
fprintf(name,'\n\n%.4f\t %.4f\t %.4f\t %.4f\t %.4f\t\n',f');
fprintf(name,'\n\n');
fprintf(name,'%s','Coefficient C');
fprintf(name,'\n\n%s','C=');
fprintf(name,'%.4f',C);
fprintf(name,'\n\n\n\n');
fclose(name);
NamePhi=['DATA/PHI/Phi' num2str(i,'%02.0f')];
save(NamePhi,'Phi','-ascii');
name_Phi=fopen('Matrices_Phi.txt','a');
fprintf(name_Phi,'%12.8f %12.8f %12.8f %12.8f %12.8f\n', Phi);
fprintf(name_Phi,'\n\n');
fclose(name_Phi);
NameF=['DATA/F/f' num2str(i,'%02.0f')];
save(NameF,'f','-ascii');
name_f=fopen('Vecteurs_Frequence.txt','a');
fprintf(name_f,'%12.8f %12.8f %12.8f %12.8f %12.8f', f);
fprintf(name_f,'\n\n');
fclose(name_f);
NameC=['DATA/C/C' num2str(i,'%02.0f')];
save(NameC,'C','-ascii');
name_C=fopen('Coefficients_C.txt','a');
fprintf(name_C,'%12.8f\n\n\n',C);
fclose(name_C);
end
% Definition de la boucle sur la fonction Duhamel pour differents types de
% signaux afin d'avoir les deplacements de chaque etage
%for j = 1:Nsignaux
for i = 1:n
disp(i)
%Ouverture du fichier texte pour récupérer la matrice PHI correspondant Ã* n
% NamePhi=['DATA/PHI/Phi' str2num('i','%02.0f')];
% Phi=load(NamePhi);
name_Phi = fopen('DATA/PHI/Phi01.txt');
Phi = fscanf(name_Phi, '%g %g %g %g %g',[Nfloor 5]);
Phi=Phi';
fclose(name_Phi);
% NameF=['DATA/F/f' num2str(i,'%02.0f')];
% f=load(NameF);
name_f = fopen('Vecteur_Frequence.txt');
f = fscanf(name_f, '%g %g %g %g %g',[1 5]);
fclose(name_f);
% NameC=['DATA/C/C' num2str(i,'%02.0f')];
% C=load(NameC);
name_C = fopen('Coefficient_C.txt');
f = fscanf(name_C,'%g');
fclose(name_C);
% % Génération d'un sinus et ajout d'un bruit blanc Gaussien comme
% % signal sismique
%
% fe = 8000; % Fréquence d'échantillonnage
% N = 8192; % Nombre de points de la séquence
%
% % Axe des temps
% temps = (1:N)/fe;
%
% % Génération du sinus
% f0 = 1;
% sinus = sin(2*pi*f0*temps);
%
% % Génération du bruit
% sigma = 0.25; % variance du bruit
% moy = 0; % moyenne
% bruit = moy + sigma*randn(1,N);
%
% US = sinus + bruit;
%
% x=duhamel(M,OMEGA2,Phi,DZETA,US,Fs);
end
%Lecture du fichier Excel contenant les données numériques des signaux
% US = xlsread(signaux_sismiques.xls);
%end |
Partager