⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 zhenxingfenjiefanyingpu.m

📁 主要用于反应谱的转换
💻 M
字号:
% % % % % % Main Program % % % % % %
xs=2*0.287;
dzhbo=load('el-centro.txt');
ag=dzhbo*0.01*xs;
dt=0.02;
ndzh=400;
cn=3;
m0=[2.762 2.760 2.300]*1000;
k0=[2.485 1.921 1.522]*100000;
l=diag(ones(cn));
m=diag(m0);
[ik]=matrixju(k0,cn);
[x,d]=eig(ik,m);
d=diag(sqrt(d));
for i=1:cn
[dl(i),j]=min(d);
xgd(:,i)=x(:,j);
d(j)=max(d)+1;
end
w=dl
x=xgd
a1=2*w(1)*w(2)*(0.05*w(2)-0.07*w(1))/(w(2)^2-w(1)^2);
a2=2*(0.07*w(2)-0.05*w(1))/(w(2)^2-w(1)^2);
for j=1:cn
x(:,j)=x(:,j)/x(cn,j);
znb0(j)=(a1+a2*w(j)^2)/2/w(j);
zhcan(j)=(x(:,j))'*m*l/((x(:,j))'*m*x(:,j))
[dlt(j,:),dltacceler(j,:)]=zxzj(znb0(j),w(j),ag);
end
for i=1:cn
disp1=0;
accel1=0;
for j=1:cn
disp0=zhcan(j)*dlt(j,:)*x(i,j);
accel0=zhcan(j)*dltacceler(j,:)*x(i,j);
disp1=disp1+disp0;
accel1=accel1+accel0;
end
disp(i,:)=disp1;
accel(i,:)=accel0;
end
t=0:dt:ndzh*dt;
subplot(2,2,1);
plot(t,disp(3,:)*1000,'k-');
subplot(2,2,2);
plot(t,accel(3,:),'k-');
[color=#E3E3E3]okok.org [/color]
function [kcju]=matrixju(korc,cn)
kcju=zeros(cn);
for i=1:cn-1
kcju(i,i)=korc(i)+korc(i+1);
kcju(i,i+1)=-korc(i+1);
kcju(i+1,i)=-korc(i+1);
end
kcju(cn,cn)=korc(cn);
[color=#E3E3E3]okok.org [/color]
function[bx,acceler]=zxzj(znb,w,dag)
dt=0.02;
n=400;
x(1)=0;
dx(1)=0;
ddx(1)=0;
s=1+znb*dt*w+w^2*dt^2/6;
for i=1:n
a(i)=x(i)+dx(i)*dt+ddx(i)*dt^2/3;
b(i)=dx(i)+ddx(i)*dt/2;
ddx(i+1)=-1*(dag(i+1)+2*znb*w*b(i)+w^2*a(i))/s;
dx(i+1)=b(i)+ddx(i+1)*dt/2;
x(i+1)=a(i)+ddx(i+1)*dt/2;
end
bx=x;
acceler=ddx;
[color=#E3E3E3]okok.org [/color]

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -