疑问:lsim 计算多自由度系统在任意荷载作用下的响应
各位,本人想对一5自由度的系统(5层剪切模型),计算其在任意荷载下的响应,利用matlab的lsim函数计算,程序如下:clear;
u=wgn(30000,1,1);;%产生1db白噪声荷载
N=length(u);t=0:0.01:(N-1)*0.01;%采样频率100Hz
m=50000*diag();
k=6e6*;
c=1e4*[4.462 -1.279 -0.219 -0.089 -0.056; -1.279 4.242 -1.368 -0.276 -0.145;
-0.219 -1.368 4.186 -1.424 -0.364; -0.089 -0.276 -1.424 4.098 -1.643;
-0.056 -0.145 -0.364 -1.643 2.819];
A=; B=;
C=; D=;
=lsim(A,B,C,D,u,t);
问题:
1、当输入u为一列向量是可以运行。另有疑问,u为一列向量时就是对其中一个自由度进行激励吧?
2、我想对某一个层,或者同时对5层进行激励,把u改为u=wgn(30000,5,1),结果就出现以下错误:
Error using ==> lti.lsim at 81
When simulating the response to a specific input signal, the input
data U must be a matrix with as many rows as samples in the time
vector T, and as many columns as input channels.
我想应该没错啊,u的行数跟时间点一样,列数就是5个输入,这点没弄懂
谢谢各位。
回复 1 # secondye 的帖子
真记不得, 又没太多时间help lsim
直接复製LZ的情况, 发现B/D皆为10*1, 表示单输入, 当然报错 本帖最后由 secondye 于 2011-5-27 17:07 编辑
回复 2 # ChaChing 的帖子
多谢解答,这个我发帖后也发现这个情况了,故改之,可以运行了,感谢
u=wgn(30000,5,1); %产生1db白噪声荷载
N=length(u);t=0:0.01:(N-1)*0.01;%采样频率100Hz
m=50000*diag();
k=6e6*;
c=1e4*[4.462 -1.279 -0.219 -0.089 -0.056; -1.279 4.242 -1.368 -0.276 -0.145;
-0.219 -1.368 4.186 -1.424 -0.364; -0.089 -0.276 -1.424 4.098 -1.643;
-0.056 -0.145 -0.364 -1.643 2.819];
A=; B=;
C=; D=;
=lsim(A,B,C,D,u,t);
很好正要用到
主题很好,学习中。{:{03}:}
页:
[1]