江山美人 发表于 2013-6-8 17:13

《Matlab在抗震工程中的应用》中一个仿真例题

下面为形成实例模块参数的主程序qdzb;            %产生地震波,即dzb模块中的参数% 输入结构参数k=*4.2e+7; m0=*2.0e+5; % 输入粘弹性阻尼器参数 g1=1.5e+7; g2=2.01e+7; nn=2; cn=5; as=3e-2; t=1.3e-2; O=zeros(cn); I=eye(cn); k0= matrixju (k,cn); m=diag(m0); =eig(k0,m); d=sqrt(d); w=sort(diag(d)); a=2*w(1)*w(2)*(0.05*w(2)-0.07*w(1))/(w(2)^2-w(1)^2);b=2*(0.07*w(2)-0.05*w(1))/(w(2)^2-w(1)^2); c0=a*m+b*k0; nd=; kd1=nn*g1*as/t; cd1=nn*g2*as/w(1)/t; kd=matrixju (kd1*nd,cn); cd=matrixju (cd1*nd,cn); A=;   % 模块A中的参数 B=;                         % 模块B中的参数 R=inv(m)*;         % 模块RA中的参数 II=diag(I);                % 模块B2中的参数 Ca=zeros(cn,2*cn); Ca(cn,2*cn)=1;            % 模块CA中的参数 Cw=zeros(cn,2*cn); Cw(cn,cn)=1;             % 模块CW中的参数 D=diag(O) %子程序:形成刚度或阻尼矩阵的聚合矩阵function =matrixju(korc,cn) % matrix aggregation of system 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)第一行就有问题,qdzb不知道什么东西,程序运行不出已知的图形,请学习这本书的大神指导一下!!!灰常感谢!

mgh_nx 发表于 2013-6-11 00:58

qdzb肯定是一个函数文件,仔细看看书是怎么说的。

江山美人 发表于 2013-6-15 08:47

mgh_nx 发表于 2013-6-11 00:58 static/image/common/back.gif
qdzb肯定是一个函数文件,仔细看看书是怎么说的。

谢谢,我再看看

江山美人 发表于 2013-6-15 10:42

mgh_nx 发表于 2013-6-11 00:58 static/image/common/back.gif
qdzb肯定是一个函数文件,仔细看看书是怎么说的。

fid=fopen('El-centro.txt','r');    %r:open file for reading(default)
qdzb=fscanf(fid,'%f');      % "%f"转换文件(字符)格式 ;
k=*4.2e+7;
m0=*2.0e+5;
% 输入粘弹性阻尼器参数
g1=1.5e+7;
g2=2.01e+7;
nn=2;
cn=5;
as=3e-2;
t=1.3e-2;
O=zeros(cn);
I=eye(cn);
k0= matrixju (k,cn);
m=diag(m0);
=eig(k0,m);
d=sqrt(d);
w=sort(diag(d));
a=2*w(1)*w(2)*(0.05*w(2)-0.07*w(1))/(w(2)^2-w(1)^2);
b=2*(0.07*w(2)-0.05*w(1))/(w(2)^2-w(1)^2);
c0=a*m+b*k0;
nd=;
kd1=nn*g1*as/t;
cd1=nn*g2*as/w(1)/t;
kd=matrixju (kd1*nd,cn);
cd=matrixju (cd1*nd,cn);
A=;   % 模块A中的参数
B=;                         % 模块B中的参数
R=inv(m)*;         % 模块RA中的参数
II=diag(I);                % 模块B2中的参数
Ca=zeros(cn,2*cn);
Ca(cn,2*cn)=1;            % 模块CA中的参数
Cw=zeros(cn,2*cn);
Cw(cn,cn)=1;             % 模块CW中的参数
D=diag(O)

我把qdzb改了,调用文件El-centro.txt。文件为地震波,如下:

江山美人 发表于 2013-6-15 10:43

本帖最后由 牛小贱 于 2014-2-21 14:20 编辑

mgh_nx 发表于 2013-6-11 00:58 static/image/common/back.gif
qdzb肯定是一个函数文件,仔细看看书是怎么说的。
{:{04}:}

江山美人 发表于 2013-6-15 10:44

本帖最后由 牛小贱 于 2014-2-20 15:52 编辑

江山美人 发表于 2013-6-15 10:43 static/image/common/back.gif
-1.4000000e+001
-1.0800000e+002
-1.0100000e+002附件为【地震波】!

江山美人 发表于 2013-6-15 10:45

本帖最后由 牛小贱 于 2014-2-20 15:50 编辑

江山美人 发表于 2013-6-15 10:44 static/image/common/back.gif
3.4000000e+002
3.5700000e+002
8.0000000e+000
附件为【地震波】!再运行以下仿真:
K{P
出现以下问题:
2RZ4DWZ(53
不知道什么原因,请指教!

江山美人 发表于 2013-6-15 10:47

以上3段地震波是整个地震波,请大神看看指教。谢谢。最后出现的问题是Invalid matrix-format variable specified as workspace input in 'untitled2/dzb'. The matrix must have two dimensions and at least two columns. Complex signals of any data type and non-double real signals must be in structure format. The first column must contain time values and the remaining columns the data values.

牛小贱 发表于 2013-12-11 23:49

楼主,真心不希望你这样发帖子,光你的调用数据就占这么大篇幅,我还以为有多少人回复你呢!最好是以文件的形式上传比较好,其他人看着也比较爽,……只是一点点建议!{:{26}:}
页: [1]
查看完整版本: 《Matlab在抗震工程中的应用》中一个仿真例题