برنامه تحلیل تحلیل طیفی (ABS,SRSS,CQC,EXACT)
clc
clear all
%%%%%bazkhaniye maghadire mokhtalef ke dar excel neveshte shodeand%%
k=xlsread('d:\main\k.xlsx');
m=xlsread('d:\main\m.xlsx');
w=xlsread('d:\main\w.xlsx');
fi=xlsread('d:\main\modeshape.xlsx');
sd=xlsread('d:\main\sd.xlsx');
req=[1;0;0;1;0;0;1;0;0];
sdj=[];
mj=fi'*m*fi;
lj=fi'*m*req;
for i=1:9;
ljp=lj(i,1);
gamaj(i,1)=ljp./mj(i,i);
end
for i=1:9;
for j=1:length(sd);
if w(i,1)/sd(j,3)<=1,break,end;
sdj(i,1)=sd(j,1)/100;
end
end
for i=1:9
xj(:,i)=sdj(i,1)*gamaj(i,1).*fi(:,i);
end
sayj=k*fi;
for i=1:9;
fnj(:,i)=gamaj(i,1)*sayj(:,i)*sdj(i,1);
end
%%%%%%%%ABS Method%%
fn_abs=sum((abs(fnj))');
v_base_abs=sum((sum(fnj))');
x_abs=(sum(abs(xj')));
%%%%%%%%SRSS Method%%%%%%%
srss=0;
fn_srss=zeros(9,1);
x_srss=zeros(9,1);
pp=sum(fnj);
for i=1:9;
srss=((pp(1,i))^2)+srss;
fn_srss=(fnj(:,i).*fnj(:,i))+fn_srss;
x_srss=(xj(:,i).*xj(:,i))+x_srss;
end
v_base_srss=(srss);
fn_srss=(fn_srss);
x_srss=(x_srss);
%%%%%%%%CQC Method%%%%%%
x_cqc=zeros(9,9);
fn_cqc=zeros(9,9);
for i=1:9;
for j=1:9;
r(i,j)=w(j,1)/w(i,1);
ro(i,j)=(8*(0.05^2)*(r(i,j)^1.5)*(1+r(i,j)))/(((1-(r(i,j)^2))^2)+((4*0.05^2)*r(i,j)*(1+r(i,j))^2));
end
end
cqc=0
for i=1:9;
for j=1:9;
x_cqc(:,i)=x_cqc(:,i)+((xj(:,i).*xj(:,j)).*ro(:,j));
fn_cqc(:,i)=fn_cqc(:,i)+((fnj(:,i).*fnj(:,j)).*ro(:,j));
end
end
for i=1:9;
for j=1:9;
if i~=j
cqc=cqc+(pp(1,i)*pp(1,j)*(ro(i,j)/100));
end
end
end
x_cqc=(sum(x_cqc'));
fn_cqc=((sum(fn_cqc')));
v_base_cqc=(cqc+srss);
%%%%%%%%Exact Metod%%%%%
svj=w.*sdj;
w2=(w).*(w);
W1=0;
W2=1;
x_exact=zeros(9,9);
fn_exact=zeros(9,9);
exact=0;
for j=1:9;
for z=1:9;
if j~=z;
u=-2*w(z,1)*(1-(2*0.05^2));
s=-2*w(j,1)*(1-(2*0.05^2));
ve=w2(z,1)*w2(z,1);
t=w2(j,1)*w2(j,1);
W3=-(w2(j,1)+w2(z,1)-(4*0.05*0.05*w(j,1)*w(z,1)));
W4=w2(j,1)*w2(z,1);
aa=[0 1 0 1;1 u 1 s;u ve s t;ve 0 t 0];
aa=inv(aa);
bb=[W1;W2;W3;W4];
cc=aa*bb;
fn_exact(:,j)=fn_exact(:,j)+((sayj(:,j).*sayj(:,j))*gamaj(j,1)*gamaj(z,1)*((cc(1,1)*(sdj(j,1)^2))+(cc(2,1)*(svj(j,1)^2))+(cc(3,1)*(sdj(z,1)^2))+(cc(4,1)*(svj(z,1)^2))));
x_exact(:,j)=x_exact(:,j)+((xj(:,j).*xj(:,z))*((cc(1,1)*(sdj(j,1)^2))+(cc(2,1)*(svj(j,1)^2))+(cc(3,1)*(sdj(z,1)^2))+(cc(4,1)*(svj(z,1)^2))));
zz(j,z)=((cc(1,1)*(sdj(j,1)^2))+(cc(2,1)*(svj(j,1)^2))+(cc(3,1)*(sdj(z,1)^2))+(cc(4,1)*(svj(z,1)^2)));
exact=exact+(2*zz(j,z)*pp(1,j)*pp(1,z));
end
end
end
qq=sum(x_exact');
x_exact=((2*(qq'))+(x_srss));
fn_exact=((2*(sum(fn_exact'))')+(fn_srss));
v_base_exact=exact+srss;
clear all
%%%%%bazkhaniye maghadire mokhtalef ke dar excel neveshte shodeand%%
k=xlsread('d:\main\k.xlsx');
m=xlsread('d:\main\m.xlsx');
w=xlsread('d:\main\w.xlsx');
fi=xlsread('d:\main\modeshape.xlsx');
sd=xlsread('d:\main\sd.xlsx');
req=[1;0;0;1;0;0;1;0;0];
sdj=[];
mj=fi'*m*fi;
lj=fi'*m*req;
for i=1:9;
ljp=lj(i,1);
gamaj(i,1)=ljp./mj(i,i);
end
for i=1:9;
for j=1:length(sd);
if w(i,1)/sd(j,3)<=1,break,end;
sdj(i,1)=sd(j,1)/100;
end
end
for i=1:9
xj(:,i)=sdj(i,1)*gamaj(i,1).*fi(:,i);
end
sayj=k*fi;
for i=1:9;
fnj(:,i)=gamaj(i,1)*sayj(:,i)*sdj(i,1);
end
%%%%%%%%ABS Method%%
fn_abs=sum((abs(fnj))');
v_base_abs=sum((sum(fnj))');
x_abs=(sum(abs(xj')));
%%%%%%%%SRSS Method%%%%%%%
srss=0;
fn_srss=zeros(9,1);
x_srss=zeros(9,1);
pp=sum(fnj);
for i=1:9;
srss=((pp(1,i))^2)+srss;
fn_srss=(fnj(:,i).*fnj(:,i))+fn_srss;
x_srss=(xj(:,i).*xj(:,i))+x_srss;
end
v_base_srss=(srss);
fn_srss=(fn_srss);
x_srss=(x_srss);
%%%%%%%%CQC Method%%%%%%
x_cqc=zeros(9,9);
fn_cqc=zeros(9,9);
for i=1:9;
for j=1:9;
r(i,j)=w(j,1)/w(i,1);
ro(i,j)=(8*(0.05^2)*(r(i,j)^1.5)*(1+r(i,j)))/(((1-(r(i,j)^2))^2)+((4*0.05^2)*r(i,j)*(1+r(i,j))^2));
end
end
cqc=0
for i=1:9;
for j=1:9;
x_cqc(:,i)=x_cqc(:,i)+((xj(:,i).*xj(:,j)).*ro(:,j));
fn_cqc(:,i)=fn_cqc(:,i)+((fnj(:,i).*fnj(:,j)).*ro(:,j));
end
end
for i=1:9;
for j=1:9;
if i~=j
cqc=cqc+(pp(1,i)*pp(1,j)*(ro(i,j)/100));
end
end
end
x_cqc=(sum(x_cqc'));
fn_cqc=((sum(fn_cqc')));
v_base_cqc=(cqc+srss);
%%%%%%%%Exact Metod%%%%%
svj=w.*sdj;
w2=(w).*(w);
W1=0;
W2=1;
x_exact=zeros(9,9);
fn_exact=zeros(9,9);
exact=0;
for j=1:9;
for z=1:9;
if j~=z;
u=-2*w(z,1)*(1-(2*0.05^2));
s=-2*w(j,1)*(1-(2*0.05^2));
ve=w2(z,1)*w2(z,1);
t=w2(j,1)*w2(j,1);
W3=-(w2(j,1)+w2(z,1)-(4*0.05*0.05*w(j,1)*w(z,1)));
W4=w2(j,1)*w2(z,1);
aa=[0 1 0 1;1 u 1 s;u ve s t;ve 0 t 0];
aa=inv(aa);
bb=[W1;W2;W3;W4];
cc=aa*bb;
fn_exact(:,j)=fn_exact(:,j)+((sayj(:,j).*sayj(:,j))*gamaj(j,1)*gamaj(z,1)*((cc(1,1)*(sdj(j,1)^2))+(cc(2,1)*(svj(j,1)^2))+(cc(3,1)*(sdj(z,1)^2))+(cc(4,1)*(svj(z,1)^2))));
x_exact(:,j)=x_exact(:,j)+((xj(:,j).*xj(:,z))*((cc(1,1)*(sdj(j,1)^2))+(cc(2,1)*(svj(j,1)^2))+(cc(3,1)*(sdj(z,1)^2))+(cc(4,1)*(svj(z,1)^2))));
zz(j,z)=((cc(1,1)*(sdj(j,1)^2))+(cc(2,1)*(svj(j,1)^2))+(cc(3,1)*(sdj(z,1)^2))+(cc(4,1)*(svj(z,1)^2)));
exact=exact+(2*zz(j,z)*pp(1,j)*pp(1,z));
end
end
end
qq=sum(x_exact');
x_exact=((2*(qq'))+(x_srss));
fn_exact=((2*(sum(fn_exact'))')+(fn_srss));
v_base_exact=exact+srss;
+ نوشته شده در ساعت توسط علی پروری
|